完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
一、编译内核
1、准备工作 (1)安装开发包 sudo apt-get install build-essential lzop libncurses5-dev libssl-dev sudo apt-get install libc6:i386 (2)安装 mkbootimg 工具 git clone cd rockchip-mkbootimg make && sudo make install (3)获取内核源码和安装交叉编译工具链 如果没有下载 SDK,则需要下载内核源码及 Android 的 arm-eabi-4.6 交叉编译工具链。 下载内核源码: git clone 内核下载之后的内容如下所示: 下载交叉编译工具链,内核编译用到arm-eabi-4.6交叉编译工具链, 下载完成之后创建toolchain目录,并将交叉编译工具链拷贝到此目录下 解压文件 sudo tar -xzvf arm-eabi-4.6.tar.gz 2、编译内核 (1)编译内核映像 进入内核目录,设置ARCH环境变量,告诉编译器目标平台的架构; 设置交叉编译器。这两步需要一次执行,不然会报错 exportARCH=arm export CROSS_COMPILE=./../toolchain/arm-eabi-4.6/bin/arm-eabi 在内核源码目录里执行: 载入Firefly RK3288开发板内核配置: make firefly-rk3288-linux_defconfig 编译 make -j8 firefly-rk3288.img 出现错误: 进入Makefile,修改以下内容: 从中可以看出编译器的路径不正确,修改编译器的路径 修改之后的路径: 重新编译之后,编译成功。 (2)编译内核模块 在内核源码目录里执行: make modules mkdir modules_insatll make INSTALL_MOD_PATH=./modules_install modules_install 内核模块是需要拷到根文件系统中即可: 3、创建 boot.img (1)创建内存盘 内核启动时会加载内存盘作为初始的根文件系统,再加载实际的根存储设备,最后切换过去。因为开发板使用的是 eMMC 存储,不需要特别的驱动,因此实际上可以跳过此步。但内存盘可以做得非常灵活和强大,例如可以做多系统启动。 git clone make -C initrd initrd中包含了实现这个目标所需要的目录和可执行程序的最小集合,例如将内核模块加载到内核中所使用的 insmod工具。 在桌面或服务器Linux系统中,initrd是一个临时的文件系统。其生存周期很短,只会用作到真实文件系统的一个桥梁。 (2)打包内核和内存盘 将 kernel 和 initrd 打包成 boot.img: Firefly官方发布的Ubuntu系统都是只有boot分区的,所以要将 kernel 和 initrd 打包成 boot.img,生成boot镜像用到了一个新工具mkbootimg,给mkbootimg增加可执行属性: sudo mkbootimg --kernel arch/arm/boot/zImage --ramdisk ../initrd.img -o boot.img 产生的boot.img如下所示: 4、修改 parameter 文件 Linux 的根文件系统(RFS)可能在不同的分区或存储设备上(eMMC、TF 卡或 U 盘),所以需要在内核的参数中指定。修改 parameter 文件中的 CMDLINE 行: 5、烧写到设备 选择生成的 boot.img 和修改过的 parameter 文件,分别烧写到"boot" 和 "parameter" 分区,则可完成内核的更新。 |
|
|
|
你正在撰写答案
如果你是对答案或其他答案精选点评或询问,请使用“评论”功能。
基于米尔瑞芯微RK3576核心板/开发板的人脸疲劳检测应用方案
2420 浏览 0 评论
2778 浏览 1 评论
2268 浏览 1 评论
3597 浏览 1 评论
4355 浏览 1 评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2025-1-23 08:10 , Processed in 0.496262 second(s), Total 72, Slave 56 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号