在放着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
卷序列号为 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
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
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的提示。呵呵……