您的位置:首页 > 移动开发 > Android开发

[更新]Android-x86启动成功,但是还有点小问题。

2011-02-02 13:26 435 查看
在放着4个版本的MeeGo优盘上再加上一个android-x86-2.2-generic.iso。方法跟MeeGo的一样的操作过程,同时对启动参数也做了一些小修改。结果如下:

android-x86-2.2-generic.iso解压到/android目录内,然后把/android/isolinux/目录下的isolinux.cfg做点修改后命名为/boot/android.cfg。同时把/android/isolinux/android-x86.png拷贝成/boot/android-x86.png。U盘目录树如下:


卷 MULTIBOOT 的文件夹 PATH 列表


卷序列号为 00000002 FE48:50E4


H:\


│ splash.xpm.gz


│ syslinux.cfg


│ mkisofs.sh


│ menu.lst





├─boot


│ │ grub.exe


│ │ vesamenu.c32


│ │ splash.jpg


│ │ android-x86.png


│ │ android.cfg


│ │


│ ├─hst


│ │ initrd.img


│ │ initrd0.img


│ │ vmlinuz0


│ │


│ ├─ivi


│ │ initrd.img


│ │ initrd0.img


│ │ vmlinuz0


│ │


│ ├─nb2


│ │ initrd.img


│ │ initrd0.img


│ │ vmlinuz0


│ │


│ └─nbk


│ initrd.img


│ initrd0.img


│ vmlinuz0





├─cdl


│ │ bzImage


│ │ initrd


│ │


│ ├─boot


│ │ memdisk.gz


│ │ memtest.bin.gz


│ │ menu.lst


│ │ splash.xpm.gz


│ │ stage2_eltorito


│ │


│ ├─doc


│ │ AUTHORS


│ │ CHANGELOG


│ │ COPYING


│ │ README


│ │ RELNOTES


│ │


│ ├─extra


│ │ README


│ │ base-cdl.md


│ │ basex-cdl.md


│ │


│ ├─lang


│ │ │ README


│ │ │


│ │ └─zh


│ │ zh-cdl.md


│ │


│ ├─local


│ │ README


│ │ example-cdl.tgz


│ │


│ └─settings


│ │ README


│ │ hardware-e6d624dff569ffc69ee08d093ded3f89-cdl.tgz


│ │


│ └─0


│ user-cdl.md





├─sdk


│ │ README.deps


│ │


│ ├─packages


│ │ │ meego-sdk.repo


│ │ │ community.repo


│ │ │ url.ffmpeg


│ │ │ url.mplayer


│ │ │


│ │ ├─utils


│ │ │ wget-1.12-8.1.i586.rpm


│ │ │ yum-3.2.27-13.2.noarch.rpm


│ │ │ yum-metadata-parser-1.1.4-9.14.i586.rpm


│ │ │ gpgme-1.2.0-4.12.i586.rpm


│ │ │ pygpgme-0.1-13.12.i586.rpm


│ │ │ python-iniparse-0.3.1-2.7.noarch.rpm


│ │ │ rsync-3.0.7-2.11.i586.rpm


│ │ │ yum-utils-1.1.27-1.2.noarch.rpm


│ │ │ repomd.xml.key


│ │ │


│ │ ├─sdk


│ │ │ meego-sdk-armv7l-1-2.1.noarch.rpm


│ │ │ arm-2009q1-203-2.1.i586.rpm


│ │ │ madde-0.7.57-3.1.i586.rpm


│ │ │ libdgles2-1.3.0+git18+6f42a5f-1.1.i586.rpm


│ │ │ meego-qemu-ia32-3-1.1.i586.rpm


│ │ │ meego-sdk-1-1.1.noarch.rpm


│ │ │ meego-sdk-libqtdeclarative4-4.7.0-3.1.i586.rpm


│ │ │ meego-sdk-i586-toolchain-1.1-3.1.i586.rpm


│ │ │ meego-sdk-ia32-2-2.1.noarch.rpm


│ │ │ meego-sdk-libqtcore4-4.7.0-3.1.i586.rpm


│ │ │ meego-sdk-libqtsql4-sqlite-4.7.0-3.1.i586.rpm


│ │ │ meego-sdk-libqtdesigner4-4.7.0-3.1.i586.rpm


│ │ │ meego-sdk-libqtgui4-4.7.0-3.1.i586.rpm


│ │ │ meego-sdk-libqthelp4-4.7.0-3.1.i586.rpm


│ │ │ meego-sdk-libqtnetwork4-4.7.0-3.1.i586.rpm


│ │ │ meego-sdk-libqtscript4-4.7.0-3.1.i586.rpm


│ │ │ meego-sdk-libqtsql4-4.7.0-3.1.i586.rpm


│ │ │ meego-sdk-libqtxml4-4.7.0-3.1.i586.rpm


│ │ │ meego-sdk-qt-creator-2.0.1-8.2.i586.rpm


│ │ │ meego-sdk-qt-qmake-4.7.0-3.1.i586.rpm


│ │ │ meego-sdk-qt-qmlviewer-4.7.0-3.1.i586.rpm


│ │ │ mpc-0.8.1-3.1.i586.rpm


│ │ │ mpfr-2.4.1-4.11.i586.rpm


│ │ │ qemu-arm-0.12.50+git21+5820b99-1.1.i586.rpm


│ │ │ qemu-gl-0.12.4+git5+627446a-1.1.i586.rpm


│ │ │ qt-tools-4.7.0-2.2.i586.rpm


│ │ │ utfs-server-1.959-3.1.i586.rpm


│ │ │


│ │ └─mplayer


│ │ a52dec-0.7.4-16.i586.rpm


│ │ aalib-libs-1.4.0-0.19.rc5.i586.rpm


│ │ cdparanoia-libs-10.2-10.i586.rpm


│ │ dirac-libs-1.0.2-4.i586.rpm


│ │ enca-1.13-2.i586.rpm


│ │ faac-1.28-1.i586.rpm


│ │ faad2-libs-2.7-1.i586.rpm


│ │ fribidi-0.19.2-3.16.i586.rpm


│ │ gpm-libs-1.20.6-1.i586.rpm


│ │ lame-libs-3.98.4-1.i586.rpm


│ │ libcaca-0.99-0.11.beta17.i586.rpm


│ │ libdca-0.0.5-6.i586.rpm


│ │ libdv-1.0.0-10.i586.rpm


│ │ libdvdnav-4.1.4-0.2.svn1184.i586.rpm


│ │ libdvdread-4.1.4-0.3.svn1188.i586.rpm


│ │ libmp4v2-1.5.0.1-9.16.i586.rpm


│ │ libmpcdec-1.2.6-7.i586.rpm


│ │ librtmp-2.3-1.i586.rpm


│ │ libvdpau-0.4.1-1.i586.rpm


│ │ libvpx-0.9.1-1.i586.rpm


│ │ libXvMC-1.0.5-3.16.i586.rpm


│ │ libXxf86dga-1.1.1-3.16.i586.rpm


│ │ lirc-libs-0.9.0-0.1.pre1.i586.rpm


│ │ live555-0-0.28.2010.04.09.i586.rpm


│ │ lzo-2.03-7.9.i586.rpm


│ │ mencoder-1.0-0.119.rc3.i586.rpm


│ │ mplayer-1.0-0.119.rc3.i586.rpm


│ │ mplayer-common-1.0-0.119.rc3.i586.rpm


│ │ mplayer-doc-1.0-0.119.rc3.i586.rpm


│ │ mplayer-tools-1.0-0.119.rc3.i586.rpm


│ │ openal-soft-1.12.854-2.i586.rpm


│ │ opencore-amr-0.1.2-2.i586.rpm


│ │ schroedinger-1.0.9-1.i586.rpm


│ │ slang-2.2.2-4.21.i586.rpm


│ │ twolame-libs-0.3.12-5.i586.rpm


│ │ x264-libs-0.0.0-0.28.20100706gitd058f37.i586.rpm


│ │ xvidcore-1.2.1-1.i586.rpm


│ │


│ └─media


│ │ Happy_Wake_Up_VP8.mkv


│ │ 0079op_vp8.mov


│ │ Hareta_Tokei.webm


│ │ hanaop_vp8.avi


│ │


│ ├─Sintel.2010.SURROUND.x264-VODO


│ │ Sintel.2010.SURROUND.x264-VODO.mp4


│ │ vodo.nfo


│ │


│ ├─Sintel.2010.x264-VODO


│ │ Sintel.2010.x264-VODO.mp4


│ │ vodo.nfo


│ │


│ └─Sintel.2010.Theora.Ogv-VODO


│ Sintel.2010.Theora-VODO.ogv


│ vodo.nfo





└─android


│ initrd.img


│ install.img


│ kernel


│ ramdisk.img


│ system.sfs





└─isolinux


android-x86.png


isolinux.bin


isolinux.cfg


vesamenu.c32



注:目录树上可以看到sdk下有mplayer相关的东东和一些媒体文件,这实际上就是昨天做的MeeGo中mplayer和webm/vp8的试验。MeeGo的SDK做得实在是不友好,回头还得弄弄。现在还差一个播放器外壳,不过网上有代码,抄一个过来编译用用就行了。回头写完一个功能够用的就开源。

在原先的syslinux.cfg上加上如下代码:


label android


menu label Android-x86 Live & Installation CD 2.2


kernel /boot/vesamenu.c32


append /boot/android.cfg

以下是/boot/android.cfg的内容:


default /boot/vesamenu.c32


timeout 60




menu background /boot/android-x86.png


menu title Android-x86 Live & Installation CD 2.2


menu color border 0 #ffffffff #00000000


menu color sel 7 #ffffff00 #ff000000


menu color title 0 #ffffffff #00000000


menu color tabmsg 0 #ffffffff #00000000


menu color unsel 0 #ffffffff #00000000


menu color hotsel 0 #ffffff00 #ff000000


menu color hotkey 7 #ffffff00 #00000000




label liveh


menu label Live CD - ^Run Android-x86 without installation (HDPI)


kernel /android/kernel


append initrd=/android/initrd.img root=/dev/ram0 androidboot_hardware=generic_x86 acpi_sleep=s3_bios,s3_mode video=-16 quiet SRC=android DATA= DPI=240




label livem


menu label Live CD - ^Run Android-x86 without installation (MDPI)


kernel /android/kernel


append initrd=/android/initrd.img root=/dev/ram0 androidboot_hardware=generic_x86 acpi_sleep=s3_bios,s3_mode video=-16 quiet SRC=android DATA= DPI=160




label vesa


menu label Live CD - ^VESA mode


kernel /android/kernel


append initrd=/android/initrd.img root=/dev/ram0 androidboot_hardware=generic_x86 acpi_sleep=s3_bios,s3_mode video=-16 quiet vga=788 SRC= DATA=




label debug


menu label Live CD - ^Debug mode


kernel /android/kernel


append initrd=/android/initrd.img root=/dev/ram0 androidboot_hardware=generic_x86 acpi_sleep=s3_bios,s3_mode video=-16 vga=788 DEBUG=1 SRC= DATA=




label install


menu label Installation - ^Install Android-x86 to harddisk


kernel /android/kernel


append initrd=/android/initrd.img root=/dev/ram0 androidboot_hardware=generic_x86 acpi_sleep=s3_bios,s3_mode video=-16 INSTALL=1 DEBUG=




label mainmenu


menu label ^Back to Main Menu


kernel /boot/vesamenu.c32


append /syslinux.cfg

启动参数的修改,只是对原先的append行修改SRC=为SRC=android,即指定资源文件所在,可以避免比较长时间的检测尝试。

我用的测试机是Lenovo ThinkPad X301【感谢宫俊鹤兄弟的革命支持】。在Android-x86中触摸板不能用,鼠标可以。不过进去系统后很快就休眠,然后就唤醒不了。这个比较诡异,回头再弄了。先跟媳妇去趟超市当搬运工,回来继续捣鼓。先前怀疑是否与acpi_sleep有关,但是去掉试了试,是不行的。估计得深入了解机制,大不了改改代码。到了代码这个级别,估计今天是不好搞定的了。明天没法干活,因为大年初一家里人不让干活了。:D 【2011-02-02 17:15:xx更新:经查锁屏是由于screen_off_timeout的缘故。解决方法有代码修改的和临时设置的。代码层的改变现在没有时间改。临时设置的至少用sqlite3手工修改目前是未生效,可能是应用已经启动,读入内存了的缘故。在代码级变更之前还得再试试其他修改设置的办法。可以试试以下搜索关键字:android 超时锁屏 screen_off_timeout sqlite3】

进入系统后如何启动Android应用这个还是一个问题,回头再捣鼓了。

貌似还看到一个Damaged SD Card的提示。呵呵……
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐