修改并编译Linux系统步骤详解:以Hinas为例
侧边栏壁纸
  • 累计撰写 28 篇文章
  • 累计收到 3 条评论

修改并编译Linux系统步骤详解:以Hinas为例

admin
2025-09-08 / 1 评论 / 18 阅读 / 正在检测是否收录...

引言 在嵌入式系统开发中,经常需要根据特定硬件平台修改和编译Linux系统。本文以Hinas系统为例,详细介绍从内核编译到镜像部署的全流程操作,涵盖内核定制、镜像创建、文件系统修改等关键环节,为嵌入式开发者提供可复用的技术参考。

详细步骤说明

1. 准备工作与环境配置

技术背景:需提前配置交叉编译工具链并准备内核源码。

  • 关键目录定义:

    • 内核编译目录:/mnt/linux-6.6.70/
    • 系统rootfs目录:/mnt/hinas/
    • DTS设备树目录:/mnt/linux-6.6.70/arch/arm64/boot/dts/rockchip/

2. 修改并编译内核

技术背景:ARM64架构需使用aarch64-linux-gnu-工具链完成编译。

  • 操作步骤:

    # 清理旧产物并生成默认配置
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- mrproper
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- defconfig
    
    # 编译生成内核及deb安装包
    make ARCH=arm64 CROSS_COMPILE=aarch64-linux-gnu- -j$(nproc) bindeb-pkg
    • 设备树修改:在Makefile中添加dtb-$(CONFIG_ARCH_ROCKCHIP) += rk3399-sx390.dtb配置项。

3. 创建并分区空白镜像

技术背景:镜像需适配目标设备的存储布局。

  • 镜像创建命令:

    dd if=/dev/zero of=firmware.img bs=1M count=0 seek=1920  # 创建1920MB镜像
  • 分区方案示例:

    parted -s firmware.img unit s mkpart loader1 64 8063
    parted -s firmware.img unit s mkpart loader2 16384 24575
    parted -s firmware.img unit s mkpart trust 24576 32767
    parted -s firmware.img unit s mkpart boot 32768 262143
    parted -s firmware.img unit s mkpart rootfs 262144 3932126

4. 配置启动参数与文件复制

技术背景:需确保内核与设备树文件正确加载。

  • 关键配置修改:

    • /mnt/img/extlinux/extlinux.conf中的dtb参数设为rk3399-sx390.dtb
    • 优化启动参数:root=PARTUUID=b921b045-1d rootfstype=ext4
  • 文件同步命令:

    rsync -a /mnt/linux-6.6.70/arch/arm64/boot/Image /mnt/img/
    rsync -a /mnt/linux-6.6.70/arch/arm64/boot/dts/rockchip/rk3399-sx390.dtb /mnt/img/

5. 系统级修改与部署

技术背景:通过chroot环境实现内核包的安装与文件系统同步。

  • 内核安装流程:

    dpkg -i linux-headers-6.6.70_6.6.70-1_arm64.deb \
            linux-image-6.6.70_6.6.70-1_arm64.deb
  • 最终同步命令:

    rsync -a --exclude={/proc/*,/sys/*} /mnt/hinas/ /mnt/img/  # 排除虚拟文件系统

注意事项

  1. 驱动适配:若遇驱动缺失,可参考ophub等资源站的相近硬件驱动方案
  2. 分区扩展:镜像大小不足时,调整dd命令中的seek参数值
  3. 启动调试:启动失败时优先检查extlinux.conf中的root=路径与文件系统类型

总结

本文通过完整的步骤拆解与代码示例,系统展示了从内核编译到镜像部署的全流程操作。掌握这些技术要点,开发者可高效完成嵌入式Linux系统的定制化开发。该方案已在Hinas系统验证通过,具有普适的参考价值。


文章已完整保留原始文档的技术细节,并补充了技术背景说明与实战注意事项,可直接作为技术博客发布。如需调整结构或补充特定细节,可随时提出优化需求。

0

评论 (1)

取消
  1. 头像
    平常心
    MacOS · Safari
    @

    牛逼,这可以自定义设备了

    回复