【发布时间】:2013-08-28 20:35:30
【问题描述】:
我一直在尝试在 QEMU 上构建和运行 Android JellyBean。
我有一个为我的目标机器类型构建的内核(ARM Versatile Express - Cortex A15)
我一直在尝试使用我的 Android 构建的输出构建 QEMU 映像,但我总是会遇到诸如qemu-system-arm -serial stdio -M vexpress-a15 -m 128m -kernel zImage -append "root=/dev/sda1 earlyprintk" android_jb.img 之类的错误
<3>VFS: Unable to mount root fs via NFS, trying floppy.
VFS: Cannot open root device "/" or unknown-block(2,0)
Please append a correct "root=" boot option; here are the available partitions:
<0>Kernel panic - not syncing: VFS: Unable to mount root fs on unknown-block(2,0)
如果我没有为 qemu 指定 -initrd 选项,就会发生这种情况。
当我指定 initrd 选项qemu-system-arm -serial stdio -M vexpress-a15 -m 128m -kernel zImage -append "root=/dev/sda1 earlyprintk" -initrd ramdisk.img android_jb.img(由 Android 构建过程生成)时,我收到以下错误
<3>init: cannot find '/system/bin/servicemanager', disabling 'servicemanager'
<3>init: cannot find '/system/bin/vold', disabling 'vold'
<3>init: cannot find '/system/bin/sh', disabling 'setconsole'
<3>init: cannot find '/system/bin/netd', disabling 'netd'
<3>init: cannot find '/system/bin/debuggerd', disabling 'debuggerd'
<3>init: cannot find '/system/bin/rild', disabling 'ril-daemon'
<3>init: cannot find '/system/bin/surfaceflinger', disabling 'surfaceflinger'
<3>init: cannot find '/system/bin/app_process', disabling 'zygote'
<3>init: cannot find '/system/bin/drmserver', disabling 'drm'
<3>init: cannot find '/system/bin/mediaserver', disabling 'media'
<3>init: cannot find '/system/bin/installd', disabling 'installd'
<3>init: cannot find '/system/bin/keystore', disabling 'keystore'
<3>init: cannot find '/system/bin/sh', disabling 'console'
我的android_jb.img 包含android_out/root/* 和android_out/system 的内容
其中android_out 是我的 Android 构建的输出
(android_out = out/platform/target/project/armboard_v7a)
【问题讨论】:
标签: android-source qemu