Hi , chen Thanks for your help. I followed your steps bellow. I succeed running android in qemu , but failed running in vmware. In my vmware, androidboot run well until the cmdline output "eth0 : link up " , and then stop boot. After that , I can just input cmdline in it.
Do you meet this problem , how to slove it ? Thanks! On 1月14日, 下午8时54分, "Chen Yang" <[email protected]> wrote: > I was tempted to create the installed image directly and through some > study, it seems that I have already got it. > You may be able to use it directly with kvm and qemu, and by creating > the related vmdk files or transform to virtual disks for virtualbox. > I had thought that the make-live script may help, but it has some > issues to the paritions. > > Here is the steps to create the installed_img directly. > Before starting, you can add mydroid/out/host/linux-x86/bin to your > path, thus you can use those host utilities directly. > > 1) do a make installer_img compilation, we need some files created to > save some effort, then change the working directory to that: > $cd mydroid/out/target/product/eee_701 > > 2) create a disk layout config file, you can reference the > disk_layout.conf under vendor/asus/eee_701/disk_layout.conf > $vim disk_layout.conf > with the content: > start here -- > device { > scheme mbr > > # bytes in a disk sector (== 1 LBA), must be a power of 2! > sector_size 512 > > # What LBA should the partitions start at? > start_lba 2048 > > # Autodetect disk size if == 0 > num_lba 0 > > partitions { > sysloader { > active y > type linux > } > > recovery { > active y > type linux > } > > boot { > active y > type linux > } > > cache { > type linux > } > > system { > type linux > } > > third_party { > type linux > } > > data { > type linux > } > }} > > --ends here > > 3. prepare one mbr file for your image file, > $cp grub/grub.bin installed.img > > 4.prepare your boot.img: > in boot.img, it basically contains three files: ramdisk, cmdline, kernel > so you can do like this: > $mkdir bootimg > $cp -raf root rootimg > Since by default, the system.img and userdata.img are built as ext2 > image, so you can modify the rootimg/init.rc, change those ext3 to > ext2 and comment those kernel modules. Then you can build the ramdisk > file by utility mkboots: > $mkbootfs rootimg | gzip -9 > bootimg/ramdisk > $echo "console=tty0 console=ttyS1,115200n8 console=tty0 > androidboot.hardware=eee_701 vga=788" > bootimg/cmdline > $cp kernel bootimg/kernel > $genext2fs -b 8192 -m 0 -d bootimg boot.img > > 5. prepare dummy image file for cache /third party (maybe optional): > $mkdir dummy > $genext2fs -b 8192 -m 0 -N 8 -d dummy dummy.img > > 6. create your data.img, the default userdata.img may be too small for > dalvik-cache. > $genext2fs -b 81920 -d data -N 512 -m 0 data.img > > 7. create your installed image: > $editdisklbl -l d.conf -i installed.img boot=boot.img > cache=dummy.img system=system.img third_party=dummy.img data=data.img > ... > I/diskutils(31943): Wrote 83886080 bytes to installed.img @ 181839872 > File edit complete. Wrote 5 images. > > 8. accomplished and enjoy > You can run the installed.img with kvm/qemu. Also you can use the > installed.img with vmware and virtualbox. > If you want to use network with kvm/qemu, you may need to compile > the rtl8139 driver. > If you want to use ext3, please apply "tune2fs -j your.img". > > Enjoy! > -- > ChenOn Sun, Jan 11, 2009 at 11:36 AM, Chen Yang <[email protected]> wrote: > > It looks like that you are missing the vga=788 option, you can > > reference my post: > >http://groups.google.com/group/android-porting/msg/b9ffcb185b758b92 > > to set it and to see whether it can start successfully. > > Regarding building drivers, you can just issue the command: > > $make modules > > and then find those modules and put to the directory I have replied earlier. > > Hope it helps! > > -- > > Chen > > > On Sun, Jan 11, 2009 at 11:07 AM, gowtham gowda <[email protected]> wrote: > > >> i am running into a blank screen when i use the new kernel image. I > >> think its because of the older kernel (2.6.25) used in the eee pc > >> build. And the "menu makeconfig" is compiling the new 2.6.27 kernel, > >> so the driver modules are mismatching Do you know how to build drivers > >> for kernel 2.6.27? > > >> Thanks, > >> Gowtham > > >> On Jan 10, 12:37 am, "Chen Yang" <[email protected]> wrote: > >>> I remembered that pmem may be one issue with x86. So with the > >>> kernel.config, > >>> you need to disable it, otherwise, it may complain errors in compilation: > >>> Device Drivers > >>> [*] Misc devices ---> > >>> [] Android pmem allocator > > >>> Please de-select the pmem part. > > >>> Hope it helps! > >>> -- > >>> Chen > > >>> On Sat, Jan 10, 2009 at 1:35 PM, gowtham gowda <[email protected]> wrote: > > >>> > works, > > >>> > thank you very much. > > >>> > Gowtham > > >>> > On Jan 10, 12:31 am, "Chen Yang" <[email protected]> wrote: > >>> >> how about: > >>> >> $make bzImage > > >>> >> -- > >>> >> Chen > > >>> >> On Sat, Jan 10, 2009 at 1:23 PM, gowtham gowda <[email protected]> > >>> >> wrote: > > >>> >> > i am getting this error when i try > >>> >> > #/mydroid/kernel$ make bzimage > >>> >> > scripts/kconfig/conf -s arch/x86/Kconfig > >>> >> > make: *** No rule to make target `bzimage'. Stop. > > >>> >> > how do i get past this. > > >>> >> > Thanks once again. > > >>> >> > Gowtham > > >>> >> > On Jan 10, 12:20 am, "Chen Yang" <[email protected]> wrote: > >>> >> >> For modules, you may need to put under > >>> >> >> vendor/asus/eee_701/modules directory. > >>> >> >> You can add the insmod in init.rc > >>> >> >> or in the init.eee_701.sh > >>> >> >> It seems that you may need to comment the line in init.eee_701.sh: > >>> >> >> setprop net.dns1 4.2.2.2 > > >>> >> >> For VESAFB, it seems you may need to make built-in, it may doesn't > >>> >> >> work with modules. > >>> >> >> For network card, it's ok to be modules. > >>> >> >> Hope it helps. > >>> >> >> -- > >>> >> >> Chen > > >>> >> >> On Sat, Jan 10, 2009 at 12:53 PM, gowtham gowda > >>> >> >> <[email protected]> wrote: > > >>> >> >> > Thanks for the reply, > > >>> >> >> > one more info, how do we add modules to compile the kernel when we > >>> >> >> > select the <M> option in make menuconfig. > > >>> >> >> > Thanks, > >>> >> >> > gowthsm > > >>> >> >> > On Jan 9, 11:44 pm, "Chen Yang" <[email protected]> wrote: > >>> >> >> >> Sorry, I forgot to put the required information to that step: > > >>> >> >> >> After that, you should save the .config > >>> >> >> >> $make bzImage > >>> >> >> >> Then copy the kernel to vendor/asus/eee_701 > >>> >> >> >> $cp arch/x86/boot/bzImage ../vendor/asus/eee_701/kernel > > >>> >> >> >> Then you can start build the installer_img again. After that use > >>> >> >> >> your > >>> >> >> >> installer.img to install in vmware/virtualbox again. > > >>> >> >> >> Hope it helps! > >>> >> >> >> -- > >>> >> >> >> Chen > > >>> >> >> >> On Sat, Jan 10, 2009 at 12:21 PM, gowtham gowda > >>> >> >> >> <[email protected]> wrote: > > >>> >> >> >> > After "make menuconfig" > >>> >> >> >> > should we just save .config file or should we run "make" to > >>> >> >> >> > compile a > >>> >> >> >> > new kernel. > > >>> >> >> >> > Thanks, > > >>> >> >> >> > Gowtham > > >>> >> >> >> > On Jan 9, 3:28 am, "Chen Yang" <[email protected]> wrote: > >>> >> >> >> >> Some additions to build the kernel for VMWare/VirtualBox: > > >>> >> >> >> >> Hope it helps: > >>> >> >> >> >> $cd mydroid > >>> >> >> >> >> $cp vendor/asus/eee_701/kernel.config kernel/.config > >>> >> >> >> >> $cd kernel > >>> >> >> >> >> $make menuconfig > > >>> >> >> >> >> Select the device drivers: > > >>> >> >> >> >> For network card: > >>> >> >> >> >> network device support -> > >>> >> >> >> >> Ethernet (10 or 100Mbit) ---> > >>> >> >> >> >> [*] EISA, VLB, PCI and on board controllers > >>> >> >> >> >> <*> AMD PCnet32 PCI support > > >>> >> >> >> >> For VESAFB: > >>> >> >> >> >> Graphics support ---> > >>> >> >> >> >> <*> Support for frame buffer devices ---> > >>> >> >> >> >> [*] VESA VGA graphics support > >>> >> >> >> >> Console display driver support ---> > >>> >> >> >> >> <*> Framebuffer Console support > >>> >> >> >> >> [*] Select compiled-in fonts > >>> >> >> >> >> [*] VGA 8x8 font > >>> >> >> >> >> [*] VGA 8x16 font > > >>> >> >> >> >> In order to build correctly with 2.6.27, you may apply the > >>> >> >> >> >> patch from here:http://review.source.android.com/6751 > > >>> >> >> >> >> For command line option of vga=788, several approaches: > >>> >> >> >> >> 1. append the option when the system boots, when it shows the > >>> >> >> >> >> menu, > >>> >> >> >> >> you can press 'e' to edit the default entry(2). then 'd' to > >>> >> >> >> >> delete the > >>> >> >> >> >> first option line: "cmdline ... ", then 'e' the 0 entry, > >>> >> >> >> >> which is the > >>> >> >> >> >> line of " kernel --use-cmd ...", > >>> >> >> >> >> remove the "--use-cmd-line" and append the option > >>> >> >> >> >> "androidboot.hardware=eee_701 vga=788" at end of that line > >>> >> >> >> >> then choose boot. It will enter the vesafb mode correctly. > >>> >> >> >> >> But you > >>> >> >> >> >> may need to edit it every time when boot. > > >>> >> >> >> >> 2. modify the cmdline in /dev/block/sda3, you can mount it > >>> >> >> >> >> after you > >>> >> >> >> >> have successfully boot. to append "vga=788" to cmdline file: > >>> >> >> >> >> #mkdir /data/boot > >>> >> >> >> >> #mount -t ext2 /dev/block/sda3 /data/boot > >>> >> >> >> >> #echo " vga=788" >/data/boot/cmdline > >>> >> >> >> >> #umount /data/boot > >>> >> >> >> >> then reboot the vm > > >>> >> >> >> >> 3. modify the cmdline creation step in the build, i think you > >>> >> >> >> >> can get > >>> >> >> >> >> the in bootable/diskinstaller/config.mk, then you may need to > >>> >> >> >> >> rebuild > >>> >> >> >> >> the instaler.img and reinstall it to your vm. > > >>> >> >> >> >> Hope it helps! > >>> >> >> >> >> -- > >>> >> >> >> >> Chen > > >>> >> >> >> >> On Fri, Jan 9, 2009 at 9:23 AM, rukiman > >>> >> >> >> >> <[email protected]> wrote: > > >>> >> >> >> >> > I have got as far as booting Android in VMware thanks to > >>> >> >> >> >> > Chen Yang's > >>> >> >> >> >> > post above. I replaced mydroid/vendor/asus/ > >>> >> >> >> >> > eee_701/ kernel with that of Stargatto's posted above. > >>> >> >> >> >> > However booting > >>> >> >> >> >> > up Android with VMware keeps giving me the below error over > >>> >> >> >> >> > and over. > > >>> >> >> >> >> > SurfaceFlinger[XXXX]: segfault at 38 ip XXXXXXXX sp > >>> >> >> >> >> > XXXXXXXX error 4 > >>> >> >> >> >> > in libc.so[80100000+49000] > > >>> >> >> >> >> > Perphaps my kernel is not ok? How do I build a kernel with > >>> >> >> >> >> > VESAFB and > >>> >> >> >> >> > network drivers and where do I specify vga=788? I do not > >>> >> >> >> >> > know much > >>> >> >> >> >> > about building kernels so if someone could provide a guide > >>> >> >> >> >> > that would > >>> >> >> >> >> > be great. > > >>> >> >> >> >> >> 1. Be sure to compile the kernel with VESAFB and add the > >>> >> >> >> >> >> vga=788 with in > >>> >> >> >> >> >> cmdline. 800x600 seems to be a quite usable resolution, > >>> >> >> >> >> >> for 1024x768 and > >>> >> >> >> >> >> above resolutions, you may meet some performance or > >>> >> >> >> >> >> execution issues. > >>> >> >> >> >> >> 2. If you want to use network, you may need to compile the > >>> >> >> >> >> >> AMD PCNET32 > >>> >> >> >> >> >> driver. --~--~---------~--~----~------------~-------~--~----~ unsubscribe: [email protected] website: http://groups.google.com/group/android-porting -~----------~----~----~----~------~----~------~--~---
