更多内容在
在做开发的时候,我们可能会针对某个内核版本进行驱动的编写。这个时候就需要把版本编译到这个特定的内核版本。本文介绍ubuntu和树莓派两种环境系统的内核编译方式
Ubuntu:
已编译到5.9.0内核为例
1 将内核安装包和内核配置config放到虚拟机或PC机下
2 更新apt源,并安装编译所需的依赖包
3 解压5.9.0内核安装包,将解压的文件夹移动到/usr/src/路径下
4 执行编译内核
注:network support ——》wireless ——》主要是第一个要置y,表示build in,把cfg80211编进内核。如果要对wifi驱动进行开发的话,这个编译是必须的
在menuconfig界面选择load,加载刚才导入的.config文件,即是最终使用的配置,无需做另外的内核裁剪,exit退出后
5 执行make -j3进行编译
6 安装内核
7 修改默认启动的grub配置
树莓派
1 树莓派上以编译4.14.y内核版本为例,首先从树莓派官网上下载rapsi的image,从linux内核上下载4.14.y的内核代码
2 在本地电脑安装成功树莓派imager后,双击打开,选择要安装的树莓派原生系统,并将SD卡插入到电脑上。选择烧录到对应的SD卡中即可
3 烧录树莓派Img
4 启动树莓派,安装linux Kernel编译需要的工具并编译kernel
将上面通过imager制作的镜像SD卡插到树莓派卡槽中,启动树莓派,然后会在屏幕上面进行一些简单的安装,一直点next下一步即可。完成后,树莓派桌面系统正式安装完成。在树莓派桌面系统中,打开bash 终端。按以下命令安装编译tools以及下载内核并编译:
安装gcc8
sudo apt-get install gcc-8 g++-8
进入/usr/bin目录,删除连接到gcc-10 gcc++-10的软连接,然后重新建立新的软连接到gcc-8和g++-8
sudo rm -f gcc g++
sudo ln -s gcc-8 gcc
sudo ln -s gcc++-8 g++
执行gcc –version查看版本是否成功
5 把4.14的内核上传到linux文件夹
chmod -R 777 linux
cd linux
make bcmrpi3_defconfig
make -j4 Image modules dtbs
以上编译成功后,安装替换kernel到/boot
sudo make modules_install
sudo cp arch/arm64/boot/dts/broadcom/*.dtb /boot/
sudo cp arch/arm64/boot/dts/overlays/*.dtb* /boot/overlays/
sudo cp arch/arm64/boot/dts/overlays/README /boot/overlays/
sudo cp arch/arm64/boot/Image /boot/kernel8.img
重启系统,查看是否是编译的kernel版本
sudo reboot
uname -a
树莓派的官网也有对应的说明,链接如下
https://www.raspberrypi.com/documentation/computers/linux_kernel.html
标签:树莓,sudo,boot,gcc,编译,内核,Linux,ubuntu From: https://blog.csdn.net/zhfcmx1/article/details/136836607