树莓派编译内核

如何来配置树莓派linux的内核:
linux源码中有很多工程
配置config
树莓派的2,3的工程是bcm2709_defconfig。
交叉编译:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make bcm2709_defconfig

此命令功能是获取bcm2709_defconfig的配置到 .config里。
我们可以直接用工程里的配置,但这样的话可能会丢失原来使用的树莓派的配置,这里提供一个方法可以获取当前正在使用的树莓派的config。
之后,所有的make命令都要指明一些环境变量:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7
ARCH=arm 指明当前要编译arm,虽然树莓派是64位的,这里仍然选择arm,而不是arm64。
CROSS_COMPILE 指明交叉工具链名称。
KERNEL 指明kernel类型,树莓派1设置为kernel,树莓派2、3设置为kernel7。

驱动两种加载方式:
*编译进内核 ZImage包含了驱动
M 以模块的方式编译进内核 ,inmosd 文件名.ko

内核配置:
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make menuconfig
指定 arm架构 指定编译器 树莓派内核类型 主要核心指令

编译出来的内核才真正适合树莓派的
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make -j4 zImage modules dtbs
make -j4:指定你的电脑用多少资源来编译4线程(核)
zImage:生成zImage文件
modules;驱动模块都要生成
dtbs:配置文件等等

3、打包zImage文件
直接用linux源码包里的工具:
./scripts/mkknlimg arch/arm/boot/zImage ./kernel_new.img
在本目录生成一个kernel_new.img文件,这个文件就是要放到sd卡中的文件。
在这里插入图片描述
编译成功后,看到源码树目录下多了vmlinux,失败则无此文件
成功后,看到zImage镜像arch/arm/boot下
打包成功后会出现树莓派可用的kernel_new.img镜像

5、挂载树莓派sd卡,并安装编译出的DIRECTLY 到sd卡
把树莓派的sd卡插入ubuntu系统电脑,树莓派的sd卡有两个分区:
一个fat分区,是boot相关的内容,kernel的img文件就放在这个分区里;
一个是ext4分区,也就是系统的根目录分区。
**
在这里插入图片描述

我们生成的文件涉及到这两个分区的内容,一般插入ubuntu后会自动挂载,fat分区可以不用root权限操作,ext4分区需要root权限操作。
两个分区具体挂载在什么地方可以自己决定,以下用[fat]表示boot挂载的路径,[ext4]表示ext4挂载的路径。

**1、安装modules,设备驱动文件:hdmi视频,usb ,wifi,io口。。。。
sudo ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make INSTALL_MOD_PATH=/home/hyb/data2 modules_install
在这里插入图片描述

操作根目录分区,需要root权限。**

2、安装、更新 kernel.img 文件
备份树莓派的镜像文件
在这里插入图片描述

MD5sum 文件名 该命令查看文件的特殊的编码,唯一的编码号,防止拷贝的时候拷坏了

3、复制其他相关文件
直接覆盖
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

cp arch/arm/boot/dts/.dtb /home/hyb/data1
cp arch/arm/boot/dts/overlays/.dtb /home/hyb/data1/overlays/
cp arch/arm/boot/dts/overlays/README /home/hyb/data1/overlays/
更新完成后插回树莓派即可开机,开机后可以用 uname -a 命令查看kernel信息已经改变。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值