树莓派内核开发编译

树莓派内核开发编译

原文地址:http://nicekwell.net/blog/20171108/shu-mei-pai-nei-he-kai-fa-shuo-ming-xia-zai-dai-ma-bian-yi-ti-huan-nei-he.html

一、交叉编译
在之前一篇学习博文中已经介绍了如何交叉编译在这里就直接跳过了
二、配置config
linux源码中有很多工程:
树莓派1的工程是bcmrpi_defconfig
树莓派2、3的工程是bcm2709_defconfig

编译内核就必须配置:
配置的最终目标会生成.config文件。该文件指导Makefile去把有用东西组织成内核
第一种方式:
cp 厂家.config .config
第二种方式:
make menuconfig 一项项配置通常是基于厂家的config来配置
第三种方式:
完全自己来配置

三、内核配置

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make bcm2709_defconfig
//获取bcm2709_defconfig的配置到 .config里

在这里插入图片描述四、编译过程所需库

sudo apt-get install bc
sudo apt-get install libncurses5-dev 
sudo apt-get install zlib1g:i386
sudo apt-get install libc6-i386 lib32stdc++6 lib32gcc1 lib32ncurses5

五、编译

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make -j4 zImage modules dtbs
//因为编译过程可能会有一点久自己尝试就好了
//如果编译成功我们在该目录下可以看见一个vmlinux 文件,失败则无该文件
//成功后目标zlmage镜像在arch/arm/boot下面

在这里插入图片描述打包zlmage成树莓派可用的xxx.img

./scripts/mkknlimg arch/arm/boot/zImage./kernel_new.img
//在本目录生成一个kernel_new.img文件,这个文件就是要放到sd卡中的文件

在这里插入图片描述
数据拷贝

在进行数据拷贝时我们先建两个空文件夹
mkdir data1
mkdir data2

挂载U盘

sudo mount /dev/sdb1 data1
//fat 分区是boot相关内容kernel的img
sudo mount /dev/sdb2 data2
//ext4 分区也就是系统的根目录分区
fat分区,是boot相关的内容,kernel的img文件就放在这个分区里;ext4分区,也就是系统的根目录分区
后面配置的时候根据自己的路径写就好了我这里是在/home/yhy 下的data1、data2 中
1、安装modules
sudo ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make INSTALL_MOD_PATH=/home/yhy/data2 modules_install
2、更新 kernel.img 文件
前面已经用 mkknlimg 工具打包了kernel_new.img文件了,把它复制到boot分区并配置使用即可:
cp kernel_new.img /home/yhy/data1/kernel7.img
编辑 [fat]/config.txt 文件,在最后加入一行:
kernel=kernel_new.img

3、复制其他相关文件
cp arch/arm/boot/dts/.*dtb* /home/yhy/data1
cp arch/arm/boot/dts/overlays/.*dtb* /home/yhy/data1/overlays/
cp arch/arm/boot/dts/overlays/README /home/yhy/data1/overlays/

更新完成后插回树莓派即可开机,开机后可以用 uname -a 命令查看kernel信息已经改变
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小殷学长

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值