树莓派Linux内核配置编译以及烧录详细步骤
Posted 是光哥呀
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了树莓派Linux内核配置编译以及烧录详细步骤相关的知识,希望对你有一定的参考价值。
目录
一、内核配置
进入linux-rpi-4.14.y目录
第一种方式:(cp 厂家.config .config)
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make bcm2709_defconfig
第二种方式(make menuconfig 一项项配置,通常是基于厂家的config来配置)
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make menuconfig
上下左右键进行操作
如何配置树莓派的Linux内核
驱动两种加载方式:
* 编译进内核 zImage包含了驱动
M 模块方式生成驱动文件xxx.ko 系统启动后,通过命令inmosd xxx.ko 加载
二、内核编译
ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make -j4 zImage modules dtbs
j4以4进程编译。不指明几进程的话则默认以单进程编译
zImage生成内核镜像
modules要生成驱动模块
dtbs生成配置文件
编译成功后,看到源码树目录多了vmlinux,失败则无此文件(如上图)
成功后,目标zImage镜像arch/arm/boot底下
打包zImage成树莓派可用的xxx.img
./scripts/mkknlimg arch/arm/boot/zImage ./kernel_new.img
将SD卡插上读卡器,如图连接到Ubuntu
三、烧录
数据拷贝:
1、创建两个文件夹
mkdir data1
mkdir data2
2、挂载u盘
sudo mount /dev/sdb1 data1 fat分区,是boot相关的内容,
sudo mount /dev/sdb2 data2 ext4分区,也就是系统的根目录
3、安装modules
(设备驱动文件: hdmi usb wifi io等等)
进入如下目录:
输入如下命令
sudo ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make INSTALL_MOD_PATH=[ext4] modules_install
[ext4]为你要生成的绝对路径
例如我的是:
sudo ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make INSTALL_MOD_PATH=/home/lhg/data2 modules_install
4、安装更新 kernel.img 文件,注意镜像名字是kernel7.img
前面已经用 mkknlimg 工具打包了kernel_new.img文件了,把它复制到boot分区并配置使用即可:
cp kernel_new.img [fat]/
先备份
进入目录:cd /home/lhg/data1
然后输入:cp kernel7.img kernel7OLD.img
再把编译新生成的拷贝到data1,起名kernel7.img
cp kernel_new.img /home/lhg/data1/kernel7.img
用md5sum命令看看拷贝过程文件有没有损坏,如图
5、拷贝配置文件
分别输入如下命令(注意需要把目录改成你的)
cp arch/arm/boot/dts/.*dtb* /home/lhg/data1
cp arch/arm/boot/dts/overlays/.*dtb* /home/lhg/data1/overlays/
cp arch/arm/boot/dts/overlays/README /home/lhg/data1/overlays/
6、启动
将SD卡插入树莓派,用串口连接至电脑上电
输入
uname -r
可以看到内核版本已经变了
以上是关于树莓派Linux内核配置编译以及烧录详细步骤的主要内容,如果未能解决你的问题,请参考以下文章