5.1 海思SS928开发 - kernle开发 - 镜像制作

本文详细介绍了如何在ARM架构下,从头开始编译并制作ss928kernel镜像,包括ATF的准备、uImage的编译以及最终的镜像制作和启动验证过程。
摘要由CSDN通过智能技术生成

5.1 kernle开发 - 镜像制作

  • 本文主要讲解如何编译生成可用的 ss928 kernel 镜像。

ATF(ARM Trusted Firmware)准备

  • 准备步骤如下:

    cd ~/hiss928/kernel/ss928_kernel_v4.19/
    # 拷贝相关文件
    cp -rf ~/hiss928/sdk/ema_2.0.2.2/SS928V100_SDK_V2.0.2.2/open_source/trusted-firmware-a/ .
    cd trusted-firmware-a/
    # 解压源码包
    tar -xf trusted-firmware-a-2.2.tar.gz
    # 应用补丁文件
    mv trusted-firmware-a-2.2.patch trusted-firmware-a-2.2
    cd trusted-firmware-a-2.2
    patch -p1 < trusted-firmware-a-2.2.patch
    # 重命名目录
    cd ../../
    mv trusted-firmware-a/trusted-firmware-a-2.2 ./atf
    # 移除无用文件
    rm -rf atf/trusted-firmware-a-2.2.patch
    rm -rf trusted-firmware-a/
    

编译 uImage

  • 编译步骤如下:

    source ~/hiss928/sdk/ss928_sdk_g7.3_k4.19/env_setup.sh
    make ARCH=arm64 CROSS_COMPILE=aarch64-mix210-linux- distclean
    make ARCH=arm64 CROSS_COMPILE=aarch64-mix210-linux- ss928v100_emmc_defconfig
    make ARCH=arm64 CROSS_COMPILE=aarch64-mix210-linux- -j16 uImage
    

制作 kernel 镜像

  • 制作步骤如下:

    cd atf
    make PLAT=ss928v100 DEBUG=1 CROSS_COMPILE=aarch64-mix210-linux- distclean
    make PLAT=ss928v100 SPD=none BL33=../arch/arm64/boot/uImage CCI_UP=0 DEBUG=0 \
        BL33_SEC=0 HISILICON=1 CROSS_COMPILE=aarch64-mix210-linux- fip
    # 最后生成的文件为 build/ss928v100/release/fip.bin
    

启动验证

  • 将编译出来的 fip.bin 文件拷贝至 pc 上。

  • 使用烧写工具将其烧录至 kernel 分区,如下图:

    在这里插入图片描述

  • 重启板子,可以看到成功进入登录界面,nice。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

专注的罗哈哈

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值