1、安装最新官方树莓派内核源代码
git clone --depth=1 https://github.com/raspberrypi/linux
2、安装编译内核所需要的依赖
sudo apt-get install bc
3、设置默认内核配置
cd linux
树莓派1代:
make bcmrpi_defconfig
树莓派2代:
make bcm2709_defconfig
4、正式编译内核:在2代上大约得1个半小时,1代得1天吧。
1代:
make
make zImage modules dts
sudo make modules_install
sudo cp arch/arm/boot/Image /boot/kernel.img
2代:
make -j4
make zImage modules dts -j4
sudo make modules_install
sudo cp arch/arm/boot/Image /boot/kernel7.img
复制DeviceTree文件到启动分区(1代与2代共同)
sudo cp arch/arm/boot/dts/*.dtb /boot/
sudo cp arch/arm/boot/dts/overlays/*.dtb* /boot/overlays/
sudo cp arch/arm/boot/dts/overlays/README /boot/overlays/
5、重启生效
sudo reboot
注意事项一:需要修正内核配置可以在第4步之前,做完第3步之后运行
make menuconfig
调整参数。
注意事项二:默认编译出来的内核是没有开启Device Tree支持的,若想启用Device Tree支持需要使用mkknlimg工具给内核打一下补丁。
mkknlimg工具从这儿获取:
git clone --depth 1 https://github.com/raspberrypi/tools.git
使用方法
树莓派1:
sudo ./mkknlimg --dtok zImage ~/linux/arch/arm/boot/Image /boot/kernel.img
树莓派2:
sudo ./mkknlimg --dtok zImage ~/linux/arch/arm/boot/Image /boot/kernel7.img
来源:https://www.raspberrypi.org/documentation/linux/kernel/building.md
关于交叉编译也可以参考以上网址,或者我之前发过的贴子。
附:已经编译好的3.18.11+ V7内核下载:在PI2上边再修改选项编译就快了。
链接: http://pan.baidu.com/s/1qWHnpYO 密码: m8he