树莓派3B 内核编译

转载:http://blog.csdn.net/wjgwrr/article/details/52251248
1.准备工作:
1.1开发环境系统ubuntu 16(64位)
1.2下载源码:https://github.com/raspberrypi
linux:树莓派内核源码
tools:树莓派的交叉编译工具
下载方式:
(1)网页下载
直接下载zip
(2)命令下载
git clone –depth=1 https://github.com/raspberrypi/linux
git clone https://github.com/raspberrypi/tools
保存路径为~/Raspberry/下
2.确定版本
2.1查看当前树莓派编译器的信息
root@raspberrypi:~# cat /proc/version
Linux version 4.4.13-v7+ (dc4@dc4-XPS13-9333) (gcc version 4.9.3 (crosstool-NG crosstool-ng-1.22.0-88-g8460611) ) #894 SMP Mon Jun 13 13:13:27 BST 2016

2.2 确定交叉编译工具
root@ubuntu:~/Raspberry/tools-master/arm-bcm2708# ls
arm-bcm2708hardfp-linux-gnueabi
arm-bcm2708-linux-gnueabi
arm-rpi-4.9.3-linux-gnueabihf
gcc-linaro-arm-linux-gnueabihf-raspbian
gcc-linaro-arm-linux-gnueabihf-raspbian-x64

此目录下有5个目录,是不同版本的交叉编译工具。其中arm-rpi-4.9.3-linux-gnueabihf和gcc-linaro-arm-linux-gnueabihf-raspbian-x64是64位机器用的。
每一个交叉编译工具的目录下都有bin目录进入,执行./arm-linux-gnueabihf-gcc -v可查看gcc版本。
这里我使用arm-rpi-4.9.3-linux-gnueabihf,因为目前板子上的gcc版本是4.9.3
3.开始编译
3.1 进入linux内核目录:
cd /Raspberry/linuxrpi4.4.y KERNEL=kernel7
makeARCH=armCROSSCOMPILE= /Raspberry/toolsmaster/armbcm2708/armrpi4.9.3linuxgnueabihf/bin/armlinuxgnueabihfbcm2709defconfigNote:jn,n1.5 make -j4 zImage modules dtbs

3.2 创建目录modules
在linux内核目录顶层下创建modules目录。
mkdirmodules make INSTALL_MOD_PATH=modules modules_install

3.3 更新先有先有树莓派的内核将有系统的内存卡插入电脑上:
在/media/ubuntu/ 目录下会出现两个目录boot/2f840c69-cecb-4b10-87e4-01b9d28c231c/

执行命令
sudo cp arch/arm/boot/zImage /media/ubuntu/boot/$(KERNEL).img
sudo cp arch/arm/boot/dts/*.dtb /media/ubuntu/boot/
sudo cp arch/arm/boot/dts/overlays/.dtb /media/ubuntu/boot/overlays/
sudo cp arch/arm/boot/dts/overlays/README /media/ubuntu/boot/overlays/
cp modules/lib/ /media/ubuntu/2f840c69-cecb-4b10-87e4-01b9d28c231c/ -r
4.重新启动树莓派,成功更新了内核
参考连接:https://www.raspberrypi.org/documentation/linux/kernel/building.md

猜你喜欢

转载自blog.csdn.net/dsanmux/article/details/53377916