ubuntu 在 R40e 上 還有 Debian 在 Sempron 2600 上

2009年2月1日 星期日

Bookmark - android for Virtualbox

看來要build 一版 for Virtualbox 的才行。
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

沒有留言:

標籤

網誌存檔