HiKey960 开发板 android 编译

https://blog.csdn.net/tq08g2z/article/details/77311842

更新 boot image 中的内核

  • 将编译产生的 hi3660-hikey960.dtb (arch/arm64/boot/dts/hisilicon/hi3660-hikey960.dtb) 复制到 hikey-kernel 目录下,文件名仍然为 hi3660-hikey960.dtb。hikey-kernel 目录在 AOSP 源码库中的具体位置为 device/linaro/hikey-kernel
  • 将编译生成的 Image 文件 (arch/arm64/boot/Image.gz) 拷贝到 hikey-kernel 目录下,修改文件名为 Image.gz-hikey960。这将覆盖原来存在的同名文件。

编译Linux后生成vmlinux内核映像

aarch64-linux-android-objcopy -O binary -R .note -R .note.gnu.build-id -R .comment -S vmlinux  Image

调用objcopy生成Image

gzip -9 Image

生成Image.gz

Image.gz和hi3660-hikey960.dtb生成boot.img

 

1. image的完整构成

一个完整的bootimage是由boot header、kernel、ramdisk、second stage(可选)、X509证书(可选)、签名信息(可选)组成。原始的boot.img只包括boot header、kernel、ramdisk、second stage(可选),且一般而言second staga都是没有的。

2. 原始boot.img格式
包括文件头boot_img_hdr,kernel.gz(Linux内核zImage),以及ramdisk.cpio.gz(根文件系统)
结构如下:
*
** +-----------------+
** | boot header     | 1 page
** +-----------------+
** | kernel              | n pages 
** +-----------------+
** | ramdisk           | m pages 
** +-----------------+
** | second stage    | o pages
** +-----------------+

 

原始boot.img的每部分都是页对齐的。其中boot header固定占用1个page的大小。kernel、ramdisk、second stage实际的大小会在boot header中标明。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值