很久之前编译好了的忘了发……
解释一下为什么没有配图,因为在ubuntu系统下编译在windows下整理文档再粘图觉得麻烦……
本文编译的goldfish-3.4内核。
(1)在源码目录中创建kernel文件夹,进入到kernel内,用git命令下载Goldfish的source code代码包
git clone https://android.googlesource.com/kernel/goldfish.git
(2)然后用以下命令选择指定的版本并复制代码
cd goldfish
git branch -a
此处可以看见各种版本的goldfish,我们选择3.4版本
git checkout remotes/origin/goldfish-android-goldfish-3.4 -b goldfish
安装完成后执行git branch 绿色显示goldfish,则表示安装成功
(3)进入goldfish-android-goldfish-3.4目录下,配置环境变量
export PATH=$PATH:~/android4.4/prebuilts/gcc/linux-x86/arm/arm-eabi-4.6/bin
(4)修改goldfish-android-goldfish-3.4目录下的Makefile文件
注释掉
#ARCH ?= $(SUBARCH)
#CROSS_COMPILE ?= $(CONFIG_CROSS_COMPILE:"%"=%
在下面添加
ARCH ?= arm
CROSS_COMPILE ?= arm-eabi-
(5)在goldfish-android-goldfish-3.4目录下如下命令
make goldfish_armv7_defconfig
(6)在goldfish-android-goldfish-3.4目录执行make命令
make
(7)启动模拟器。
进入源码目录,执行如下命令。
source build/envsetup.sh
lunch sdk-eng
emulator -kernel ./kernel/goldfish-android-goldfish-3.4/arch/arm/boot/zImage
启动后进入模拟器,此时内核已经换为自己编译的内核。
说明:
1. 在执行此文档之前一定要将之前编译好的源码备份,因为中间有可能会导致丢失system.img文件。如丢失并且未备份也没关系,再编译一遍源码就好了。。。
2. 选择goldfish-3.4的原因是目前只该版本编译后能够正常启动,其他版本均有启动后黑屏的情况(亲测)