android dtb文件位置_android 内核源码编译到刷机

本文详细介绍了如何编译Android内核源码并将其刷入系统,针对Nexus 5 (hammerhead)手机,Android 4.4.4版本。首先确定内核版本,然后下载并检查源代码,接着编译内核,最后编译bootimage并进行刷机操作。
摘要由CSDN通过智能技术生成

在之前博文中() 提到如何编译android 源码。本篇介绍 如何编译 android 内核源码 并刷进系统。 两个是不同的源码。 android 源码中没有包含内核源码,可能是不同开源协议原因吧。分开不同项目。

android内核是linux内核。 android 源码包里面含有编译好的内核文件,所以即使不包含内核源码,一样可以刷机启动。 这篇文章要做的事情就是编译内核源代码,并替换掉自带的内核。

本篇文章大部分参考https://source.android.com/source/building-kernels我的环境是 ubuntu 16.04 64 位 桌面版。 android 手机为nexus 5android 4.4.4 版本。

一、确定内核版本

要确定系统映像中使用的内核版本,请对内核文件运行以下命令:

dd if=kernel bs=1 skip=$(LC_ALL=C grep -a -b -o $'\x1f\x8b\x08\x00\x00\x00\x00\x00' kernel | cut -d ':' -f 1) | zgrep -a 'Linux version

对于 Nexus 5 (hammerhead),请运行以下命令:

dd if=zImage-dtb bs=1 skip=$(LC_ALL=C od -Ad -x -w2 zImage-dtb | grep 8b1f | cut -d ' ' -f1 | head -1) | zgrep -a 'Linux version

***执行命令要先进入到android源码 目录 cd device/lge/hammerhead-kernel

stevenrao@aosp-4.4.4_r1$ cd device/lge/hammerhead-kernel/

stevenrao@hammerhead-kernel$ dd if=zImage-dtb bs=1 skip=$(LC_ALL=C od -Ad -x -w2 zImage-dtb | grep 8b1f | cut -d ' ' -f1 | head -1) | zgrep -a 'Linux version'

Linux version 3.4.0-gd59db4e (android-build@vpbs1.mtv.corp.google.com) (gcc version 4.7 (GCC) ) #1 SMP PREEMPT Mon Mar 17 15:16:36 PDT 2014

Linux version CIFS VFS Client for Linux<7>%s: sess setup type %d

8386668+0 records in

8386668+0 records out

8386668 bytes (8.4 MB,

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值