树莓派3B 内核编译

来源:互联网 发布:考勤机数据实时更新 编辑:程序博客网 时间:2024/06/13 08:00

1.准备工作:

1.1开发环境系统ubuntu 1664位)

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-gnueabihfgcc-linaro-arm-linux-gnueabihf-raspbian-x6464位机器用的。

每一个交叉编译工具的目录下都有bin目录进入,执行./arm-linux-gnueabihf-gcc -v可查看gcc版本。

这里我使用arm-rpi-4.9.3-linux-gnueabihf,因为目前板子上的gcc版本是4.9.3

3.开始编译

3.1 进入linux内核目录:

$ cd ~/Raspberry/linux-rpi-4.4.y

$ KERNEL=kernel7

$ make ARCH=arm CROSS_COMPILE=~/Raspberry/tools-master/arm-bcm2708/arm-rpi-4.9.3-linux-gnueabihf/bin/arm-linux-gnueabihf- bcm2709_defconfig

Note:如果是多处理系统可以添加选项-j n ,n为数字,表示多处理器的数量*1.5。可以加快编译速度

$ make -j4 zImage modules dtbs


3.2 创建目录modules

linux内核目录顶层下创建modules目录。

$ mkdir modules

$ 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





1 0
原创粉丝点击