海思hikey960开发板的zircon启动映像

本文详细介绍了海思hikey960开发板的zircon启动映像构建过程,包括从zircon内核源文件编译,生成boot.img的各个步骤,如zircon.zbi、hikey960-boot-shim.bin的生成,以及Linux内核生成boot.img的流程。在zircon内核中,kernel和ramdisk并不采用gzip压缩,而Linux内核则使用自解压方式。
摘要由CSDN通过智能技术生成

海思hikey960开发板的zircon启动映像:
1、在zircon目录下,执行./scripts/flash-hikey,生成boot.img
具体命令为:
/home/suog/work/zircon-20180724/scripts/../third_party/tools/android/mkbootimg --kernel build-arm64/zhikey960-zircon-bootimage.bin --kernel_offset 0x00080000 --base 0x00000000 --ramdisk_offset 0x07c00000 --ramdisk build-arm64/dummy-ramdisk.bin --tags_offset 0x07a00000 --cmdline  -o build-arm64/boot.img

2、boot.img依赖于build-arm64/zhikey960-zircon-bootimage.bin和build-arm64/dummy-ramdisk.bin,在当前版本中,dummy-ramdisk.bin的内容没有意义,只是因为mkbootimg工具需要输入ramdisk文件。

3、zhikey960-zircon-bootimage.bin依赖于hikey960-boot-shim.bin和zircon.zbi,hikey960-boot-shim.bin的功能是根据hikey960硬件传入的参数,计算得到dts,设置zircon.zbi执行所需要的环境和变量,然跳转到zircon.zbi执行。zircon.zbi是真正的内核映像。
cat ./build-arm64/hikey960-boot-shim.bin ./build-arm64/zircon.zbi > build-arm64/hikey960-zircon-bootimage.bin

4、hikey960-boot-shim.bin的生成过程为,先生成boot-shim.elf,在objcopy后得到hikey960-boot-shim.bin
./prebuilt/downloads/gcc/bin/aarch64-elf-ld -nostdlib --build-id -z noexecstack -z max-page-size=4096 --gc-sections  --emit-relocs --build-id=none ./build-arm64/boot-shim/hikey960/kernel/target/arm64/boot-shim/boot-shim.S.o ./build-arm64/boot-shim/hikey960/kernel/target/arm64/boot-shim/boot-shim.c.o ./build-arm64/boot-shim/hikey960/kernel/target/arm64/boot-shim/debug.c.o ./build-arm64/boot-shim/hikey960/kernel/target/arm64/boot-shim/devicetree.c.o ./build-arm64/boot-shim/hikey960/kernel/target/arm64/boot-shim/util.c.o ./build-arm64/boot-shim/hikey960/kernel/lib/libc/string/memcpy.c.o ./build-arm64/boot-shim/hikey960/kernel/lib/libc/string/memmove.c.o ./build-arm64/boot-

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值