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
-~----------~----~----~----~------~----~------~--~---

Reply via email to