首页
社区
课程
招聘
[求助]用3.18的内核启动模拟器一直黑屏
发表于: 2016-6-5 00:07 6559

[求助]用3.18的内核启动模拟器一直黑屏

2016-6-5 00:07
6559
今天git clone 了android 源码master分支,编译完成后启动模拟器发现系统版本是6.0.1,但是内核版本居然是3.4.67+,而不是最新的版本3.18. 为什么源码里的内核没有同步更新呢??不科学啊。
下表是android版本与内核版本的关系,来自维基百科。
Android Version    |API Level  |Linux Kernel in AOSP
----------------------------------------------------
1.5   Cupcake      |3          |2.6.27
1.6   Donut        |4          |2.6.29
2.0/1 Eclair       |5-7        |2.6.29
2.2.x Froyo        |8          |2.6.32
2.3.x Gingerbread  |9, 10      |2.6.35
3.x.x Honeycomb    |11-13      |2.6.36
4.0.x Ice Cream San|14, 15     |3.0.1
4.1.x Jelly Bean   |16         |3.0.31
4.2.x Jelly Bean   |17         |3.4.0
4.3   Jelly Bean   |18         |3.4.39
4.4   Kit Kat      |19, 20     |3.10
5.x   Lollipop     |21, 22     |3.16.1
6.0   Marshmallow  |23         |3.18.10


为了用上3.18的内核,我自己另外git 了 https://android.googlesource.com/kernel/goldfish.git 分支为3.18的内核代码,编译之后用此内核启动上述6.0.1的系统,结果模拟器一直黑屏,debug信息显示:
emulator: Error while connecting to socket '127.0.0.1:1970': 111 -> Connection refused
emulator: ASC 127.0.0.1:1970: Retrying connection. Connector FD = 16

然后我google到了一个帖子(https://code.google.com/p/android/issues/detail?id=174557#c10),如法炮制然而并没成功。即使是有bug,难道最新的sdk tools 还没修复的吗?

有成功用过3.18内核的模拟器的道友吗?

[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 0
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
[QUOTE=NAGAじSKY;1432741]没弄过这东西,还是顶一下楼主--娜迦[/QUOTE]

谢谢。

持续期待回答中。。。
2016-6-7 10:39
0
雪    币: 0
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
搞定了。
环境:sdk manager 下载的 android-n x86 相关镜像 + android-goldfish-3.18-dev 源码

export ARCH=x86
export CROSS_COMPILE=x86_64-linux-android-
export PATH=x86_64-linux-android-4.9/bin/:$PATH
make i386_ranchu_defconfig

然后把生成的 bzImage 拷贝到 your/android/sdk/system-images/android-N/default/x86/
备份原来的kernel-ranchu,之后重命名bzImage为kernel-ranchu。
然后使用本目录下的system.img userdata.img ramdisk.img 和 kernel-ranchu 启动模拟器:
emulator -kernel ./kernel-ranchu -sysdir ./ -system ./system.img -data ./userdata.img -ramdisk ./ramdisk.img
之前失败关键在于make 时不是使用的i386_ranchu_defconfig。我还没搞清楚这个i386_ranchu_defconfig和i386_emu_defconfig有什么区别。
2016-6-7 13:17
0
游客
登录 | 注册 方可回帖
返回
//