ubuntu14.04編譯android4.4對應(yīng)的linux內(nèi)核

參考資料:
[google官方資料] 官方是最權(quán)威的,但會有細(xì)節(jié)缺失。
[如何下載編譯android內(nèi)核] 可以參考別人的動手實踐,彌補缺失的細(xì)節(jié)。

先看看AOSP中自帶的kernel是什么版本:

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

結(jié)果為:

Linux version3.4.0-gfb3ea4f (keunyoung@keunyoung-linux.mtv.corp.google.com) (gcc version4.7(GCC) )#1 Tue Apr 2 17:27:47 PDT 20132215029+0recordsin2215029+0records out2215029bytes (2.2MB) copied,4.07794s,543kB/s

和那篇文章里的一模一樣,說明是AOSP自帶的是同一次編譯出來的內(nèi)核。

下載kernel源碼:
上面確定linux是3.4.0的,那就用這個版本吧,在官方文檔中,有各種版本的內(nèi)核源碼,其中提到:
The goldfish project contains the kernel sourcesforthe emulated platforms.
正好我現(xiàn)在只是使用模擬器,那就選擇goldfish好了:

mkdir kernel                  //此時在android源碼根目錄
cd kernel
git clone https://android.googlesource.com/kernel/goldfish.git  //這里要等一段時間
cd goldfish 
git branch -a
git checkout remotes/origin/android-goldfish-3.4

配置環(huán)境并編譯

export PATH=~/AOSP/android-4.4.4_r2/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin/:$PATH
export ARCH=arm
export SUBARCH=arm
export CROSS_COMPILE=arm-eab
make goldfish_armv7_defconfig
make

最后輸出:

LD      arch/arm/boot/compressed/vmlinux
OBJCOPY arch/arm/boot/zImage
Kernel: arch/arm/boot/zImage is ready

編譯成功,內(nèi)核文件zImage在kernel/goldfish/arch/arm/boot下。
查看編譯的內(nèi)核信息:

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

輸出為:

Linux version3.4.67-gb1dfee2 (ubt@ubuntu) (gcc version4.6.x-google20120106(prerelease) (GCC) )#1 PREEMPT Mon Jul 20 21:17:07 PDT 20152385045+0recordsin2385045+0records out2385045bytes (2.4MB) copied,4.07455s,585kB/s

對比上面自帶的kernel信息可看出差異。

讓模擬器使用新編譯出來的內(nèi)核

emulator -kernel ~/AOSP/android-4.4.4_r2/kernel/goldfish/arch/arm/boot/zImage

接下來就是在源碼中加入自己的代碼,再編譯再運行了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容