AM5728 linux内核编译方法
#AM5728#内核#编译#linux
ARCH=arm指定目标架构为 ARM,符合 AM5728 的 CPU 类型。CROSS_COMPILE=arm-linux-gnueabihf-告诉make使用前缀为arm-linux-gnueabihf-的交叉编译工具链(如arm-linux-gnueabihf-gcc)。zImage为压缩后的内核镜像,适用于启动加载器(U‑Boot)加载。-j 32为并行编译选项,利用 32 个线程加速编译。实际线程数可根据主机 CPU 核数自行调整,过大可能导致资源竞争。
编译完成后,内核镜像位于 arch/arm/boot/zImage。此文件即为可直接用于 AM5728 开发板的内核映像。
2.1 替换 SD 卡中的内核镜像
如果系统采用 SD 卡启动(常见于开发板的快速迭代),有两种方式更新内核:
-
直接替换
/boot目录下的文件- 将新生成的
zImage拷贝到 SD 卡根文件系统的boot目录,保持文件名不变(通常为zImage或uImage),覆盖旧文件。 - 例:
cp arch/arm/boot/zImage /media/sdcard/boot/
- 将新生成的
-
重新制作 SD 启动卡
- 将新镜像放入制作 SD 卡时使用的工作目录(如
sdcard_rootfs/boot/),随后使用dd或专用工具重新写入 SD 卡。 - 这样可以确保启动分区表、文件系统一致性,适合大幅度修改文件结构的场景。
- 将新镜像放入制作 SD 卡时使用的工作目录(如
注意:若使用 U‑Boot 启动脚本指定了特定的内核文件名,请确保新文件名与脚本保持一致,否则启动会失败。
3. 编译内核模块
有时我们只需要编译内核配置中选中的可加载模块(*.ko),而不是整个内核映像。执行: