300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Liunx树莓派(ARM)开发篇—第十四章 树莓派Linux内核编译步骤(超详细 图文结合)

Liunx树莓派(ARM)开发篇—第十四章 树莓派Linux内核编译步骤(超详细 图文结合)

时间:2019-04-21 07:40:29

相关推荐

Liunx树莓派(ARM)开发篇—第十四章 树莓派Linux内核编译步骤(超详细 图文结合)

对树莓派内核源码进行配置后,下一步要进行树莓派Linux内核编译

以下步骤均在PC端虚拟机上完成

准备材料:PC端虚拟机、树莓派交叉编译工具、树莓派内核(交叉编译工具、内核下载步骤见树莓派内核源码)

第一步、编译

编译(不同厂家不一样):

树莓派的编译:

ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make -j4 zImage modules dtbs

j4指定用多少电脑资源进行编译 j4-4核 zImage生成内核镜像 modules要生成驱动模块 dtbs生成配置文件

第二步、编译成功后,看到源码树目录多了vmlinux,失败则无此文件,成功后,目标zImage镜像arch/arm/boot底下(此步ARM架构的芯片都是类似)

vmlinux是未压缩的liunx,zImage是压缩好的liunx

第三步、打包zImage成树莓派可用的xxx.img

./scripts/mkknlimg arch/arm/boot/zImage ./kernel_new.img

第四步、插入装有liunx的sd卡的读卡器

第一种连接读卡器方式:

第二种连接读卡器方式:

连接完成会出现接入信息

使用dmesg指令查看读卡器映射,出现sdb1、sdb2则为连接成功,若只有一个sdb1,则需要重新往SD卡写入liunx系统。

第五步、新建两个文件夹data1 data2

mkdir data1 data2

第六步、挂载U盘

sudo mount /dev/sdb1 data1

一个fat分区,是boot相关的内容,kernel的img

sudo mount /dev/sdb2 data2

一个是ext4分区,也就是系统的根目录分区。

第七步、安装modules, 用于安装设备驱动文件: hdmi usb wifi io …

sudo ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make INSTALL_MOD_PATH=[ext4] modules_install

操作ext4分区,需要root权限。

[ext4]为第二分区虚拟机上挂载的地址需要根据自己的地址更改如:

sudo ARCH=arm CROSS_COMPILE=arm-linux-gnueabihf- KERNEL=kernel7 make INSTALL_MOD_PATH=/home/abl/data2 modules_install

第八步、安装更新 kernel.img 文件,注意镜像名字是kernel7.img(kernel是特殊的,官方给的)

查看镜像文件名字,注意更改为自己路径

ls /home/abl/data1

备份一手

cp kernel7.img kernel7OLD.img

第九步、再把编译新生成的拷贝到data1,起名kernel7.img

cp kernel_new.img /home/chenlc/data1/kernel7.img

第十步、查看镜像文件md5值,这步很重要,如果两次值不同,则需要重新拷贝

md5sum kernel7.img 查看md5值

第十步、拷贝其他配置文件

注意更换为自己路径

cp arch/arm/boot/dts/.*dtb* /home/chenlc/data1cp arch/arm/boot/dts/overlays/.*dtb* /home/abl/data1/overlays/cp arch/arm/boot/dts/overlays/README /home/abl/data1/overlays/

第十步、断开读卡器连接,插入树莓派启动

大功告成

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。