ref : http://groups.google.com/group/android-porting/browse_thread/thread/66862bdb52dac936/8ffe04d6b3f9d4c0
copy 一下人家寫好的 how to.
大概是follow 先前的,但是 不用 checkout branch。
build完後 copy vendor/eeepc 下的 kernel.config 到 kernel 下作 menuconfig 重新 set kernel option for virtualbox, build kernel。
最後把 installer.img convert 成 virtualbox 吃的 vdi file。
---------------------------------------
Hi, all How to use x86 android platform on virtualbox =============================================== Last modified by Lim,GeunSik on 8-Jan,2009 Current Work status is not finished. But, I opened and shared to combine with developers for this tasks all over the world. Why I like virtualbonx in Linux distribution like Fedora 9? This is Major characteristics per Virtualization Software. ------------------------------------------------------------------- Software Linux WinXP Opensource Free Quick Install ------------------------------------------------------------------- M$ Virtual PC X O X O O VMwareServer O O X O O VMwareWorkstation O O X X O Parallels O O X X O QEMU O O O O O Virtualbox O O O O O XEN O X O O X KVM O X O O X ----------------------------------------------------------------- acirc;�� 1. Development environments * OS: Feodra 9 ( Linux 2.6.27-9 ) * GCC: gcc(gcc 4.3.0) and gcc34 (gcc 3.4) <- I recommend gcc 3.4 compat-compiler to build x86 android fullsource. * Glibc: glibc 2.6 (NPTL Thread Model) * PC: Samsung MagicStation DB-P70 Model * CPU : Interl Core2 Quad CPU Q9300 (2.50Ghz) , bogomips is 4,987.50 , cache size 3,072kb * MEM: Samsung DDR2 2G * Reference: Midhun & Chen Yang's posting at http://groups.google.com/ and http://source.android.com * Additional information: When i finished this task finally, I will upload final howto using WYSWYG and figures at http://www.kandroid.org. �2. Build kernel source for VirtualBox software. Fedora9$ cd ~/bin_x86/mydroid Fedora9$ cp ./vendor/asus/eee_701/kernel.config kernel/.config Fedora9$ cd kernel Fedora9$ make menuconfig * Network device for virtualbox s/w network device support -> Ethernet (10 or 100Mbit) ---> [*] EISA, VLB, PCI and on board controllers <*> AMD PCnet32 PCI support <- We need virtual lan infra in virtualization like vmware or virtualbox. * To support FB on virtualbox environment. Graphics support ---> <*> Support for frame buffer devices ---> [*] VESA VGA graphics support <- Unfortunately, Vesa VGA support 800X600 resolution. Console display driver support ---> <*> Framebuffer Console support [*] Select compiled-in fonts [*] VGA 8x8 font [*] VGA 8x16 font * Disable pmem allocator if your kernel is 2.6.27 base. [*] Misc devices ---> [ ] Android pmem allocator (NEW) If you are using 2.6.27 based x86 android full source, Disable "PMEM" feature in "make menuconfig menu. pmem is only needed for certain devices requiring large physically contiguous memory on the MSM7XXX (GPU,DSP, etc). It's not currently used by any other SoCs and its absence is not a fatal error. ------------------------------------------------------------------- * MSM7XXX (GPU,DSP, etc): YUV --> pmem ---> VideoLayer * Another Chip: YUV --> mEmulation(ro.kernel.qemu=1) --> /dev/fb0(RGB) ------------------------------------------------------------------- Fedora9$ make bzImage Fedora9$ ls ./arch/x86/boot/ Ref) If you want to build 2.6.27 based android kernel at http://android.git.kernel.org webstie, you may apply alsa related the patch at http://review.source.android.com/6751 �3. convert installer.img to installer.vmdk with virtualbox Fedora9$ cd ~/bin_x86/mydroid/out/target/product/eee_701 Fedora9$ rpm -ivh http://download.virtualbox.org/virtualbox/2.1.0/VirtualBox-2.1.0_4114... Fedora9$ VBoxManage --help | grep Version VirtualBox Command Line Management Interface Version 2.1.0 Fedora9$ VBoxManage convertfromraw -static -format VDI ./ installer.img ./installer.vdi (X) Fedora9$ VBoxManage convertfromraw -format VDI ./ installer.img ./installer.vdi (O) VirtualBox Command Line Management Interface Version 2.1.0 (C) 2005-2008 Sun Microsystems, Inc. All rights reserved. Wrong owner (0) of '/tmp/.vbox-invain-ipc'. Converting from raw image file="installer.img" to file="./ installer.vdi"... Creating dynamic image with size 406871040 bytes (389MB)... Fedora9$ file ./installer.vdi ./installer.vdi: data OR Fedora9$ vditool DD installer.vdi *.img Fedora9$ vditool SHRINK installer.vdi �4. Setting of virtualbox Open "Sun VirtualBox" software ->Click on New -> Next - Name = it as "AsusAndrioid" - OStype=Linux - Version=2.6 - RAM=256MB - Hard Disks= Slot Checked Boot Harddisk with IDE Primary Master �5. booting android kernel in virtualbox s/w. 1) When I start the installer.vdi in virtualbox software, it hangs on grub Loading stage 2 step. Below is error screenshot to help understanding. So, you have to push F12 key fastly as soon as start installer.vdi with virtualbox. Remember "Press F12 to select boot device" message in virtual box window. 2) When you press F12 key and it shows the following: 0: sys_loader 1: recovery 2: std_boot (* default selection) 3) Option "0: sys_loader" is selected by default when kernel boot in virtualbox. * Option 0: sys_loader 0: cmdline (hd0,0)/cmdline 1: kernel --use-cmd-line (hd0,0)/kernel 2: initrd (hd0,0)/ramdisk * Option 1: recovery 0: cmdline (hd0,2)/cmdline 1: kernel --use-cmd-line (hd0,2)/kernel 2: initrd (hd0,2)/ramdisk * Option 2: std_boot 0: cmdline (hd0,2)/cmdline 1: kernel --use-cmd-line (hd0,2)/kernel 2: initrd (hd0,2)/ramdisk Now, I din't find "/boot/grub/menu.lst" file for bootloader like Feodra or Ubuntu. Belows is process informations using top command. #> cat /proc/version Linux version 2.6.25-00101-gb6922fa (dmitr...@weppard.mtv.corp.google.com) (gcc version 4.0.3 (Ubuntu 4.0.3-1ubuntu5)) #1 SMP PREEMPT Wed Nov 19 11:52:46 PST 2008 #> cat /proc/partitions major minor #blocks name ......... Above Omission .......... 8 0 397335 sda 8 1 4439 sda1 8 2 391872 sda2 � 5. Modify kernel cmd line like Linux: *** Select No 2 "2: std_boot (* default selection)" after F12 key. Remove "--use-cmd-line" option in Linux boot display. Append "androidboot.hardware=eee_701 vga=788" options in Linux boot display Highlighted entry is 2: GNU GRUB version 0.97 (639K lower / 261056K upper memory) 0: cmdline (hd0,2)/cmdline 1: kernel --use-cmd-line (hd0,2)/kernel 2: initrd (hd0,2)/ramdisk .......... Omission ......... Highlighted entry is 0: Todo: But, bootloader is not found (hd0,2) because (hd0,2) partition is not exist. Booting command-list cmdline (hd0,2)/cmdline Error 22: No such partition Press any key to continue ... � 6. Mount "* img" to /dev/block/sda2 device node. Use installer command /data directory. #> system/bin/installer -p /dev/block/sda2 It gives an error that the total requested size is greater than the disk size as belows. " Total requested size of partitins (1,644,167,168) is greater than disk size (406,871,040)." (My image size is 387 MB and it is looking for around 1.5GB space). #> ls /data/ userdata.img boot.img system.img bootldr.bin lost+found OR Fedora9#> mkdir /data/boot Fedora9#> mount -t ext2 /dev/block/sda2 /data/boot Fedora9#> echo " vga=788" > /data/boot/cmdline Fedora9#> umount /data/boot
這裡有 build 好的 Android for VirtualBox 的VDI 可以 download,download 後 用 VirtualBox run 就可以了 Android in VirtualBox
沒有留言:
張貼留言