Hello to everybody. I'm trying to virtualize Linaro-Android 4 with qemu-linaro on two different kind of machines :
1) Pandaboard ES running Ubuntu with this kernel : Linux arm 3.7.2-x6 #1 SMP Sat Jan 12 07:16:37 UTC 2013 armv7l armv7l armv7l GNU/Linux 2) Samsung XE303C12-A01US Chromebook running CHR Ubuntu with this kernel : Linux localhost.localdomain 3.4.0-5-chromebook #5-Ubuntu SMP Fri Feb 8 14:54:53 UTC 2013 armv7l armv7l armv7l GNU/Linux To accomplish the goal I made the experiments with two versions of qemu-linaro : 1) qemu-linaro-1.3.0-2012.12 2) qemu-linaro 1.4 from the GIT rep In both cases I configured qemu-linaro with these parameters : --disable-kvm --disable-tcg-interpreter --enable-curses --enable-sdl --enable-vnc --disable-debug-tcg --enable-vhost-net I tried to follow two different kind of tutorials : 1) http://www.linuxforu.com/2011/06/qemu-for-embedded-systems-development-part-1/ 2) https://wiki.linaro.org/KenWerner/Sandbox/AndroidQEMU?highlight=%28QEMU%29|%28Android%29 On the TUTORIAL n. 1: 1) Created a small test program, test.c, with the basic “Hello world”: #include<stdio.h> int main(){ printf("Welcome to Open World\n"); } # gcc test.c -o test 2) Built the Linux kernel for ARM # tar -jxvf linux-2.6.37.tar.bz2 (but I tried with a lot of other kernel versions) # cd linux-2.6.37 # make menuconfig ARCH=arm # make ARCH=arm uImage -s # qemu-system-arm -M versatilepb -m 128M -kernel /home/user/Desktop/linux-2.6.37/arch/arm/boot/uImage RESULT = black screen inside the qemu-linaro window without error messages 3) Developed a dummy filesystem (hello.c) for testing #include<stdio.h> int main(){ while(1){ printf("Hello Open World\n"); getchar(); } } # gcc hello.c -static -o hello 4) Created a root filesystem # echo hello | cpio -o --format=newc > rootfs 5) Testing : qemu-system-arm -M versatilepb -m 128M -kernel /home/user/Desktop/ linux-2.6.37/arch/arm/boot/uImage -initrd rootfs -append "root=/dev/ram rdinit=/hello" RESULT = black screen inside the qemu-linaro window without error messages On the TUTORIAL n. 2 : 1) Patched : qemu-linaro-1.3.0-2012.12 with : sed -i "s/#define INITRD_LOAD_ADDR 0x00d00000/#define INITRD_LOAD_ADDR 0x01d00000/" qemu-linaro-1.3.0-2012.12/hw/arm_boot.c and also qemu-linaro 1.4 from the GIT rep with the same patch: sed -i "s/#define INITRD_LOAD_ADDR 0x00d00000/#define INITRD_LOAD_ADDR 0x01d00000/" qemu-linaro/hw/arm_boot.c 2) wget http://releases.linaro.org/12.05/android/images/vexpress-ics-gcc47-armlt-tracking-open/vexpress-ics-gcc47-armlt-tracking-open.img.gz gunzip vexpress-ics-gcc47-armlt-tracking-open.img.gz sudo kpartx -a vexpress-ics-gcc47-armlt-tracking-open.img sudo mount /dev/mapper/loop0p1 /mnt -o loop,ro cp /mnt/uImage /mnt/uInitrd . sudo umount /mnt sudo kpartx -d /dev/mapper/loop0p* dd if=uImage of=vmlinuz skip=64 bs=1 dd if=uInitrd of=initrd.gz skip=64 bs=1 3) Tried to boot Linaro Android 12.05 using qemu-linaro-1.3.0-2012.12 and also qemu-linaro 1.4 from the GIT rep on the Pandaboard ES with this : qemu-system-arm -M vexpress-a9 -m 1024 -smp 1 -snapshot -serial stdio -no-reboot -kernel vmlinuz -initrd initrd.gz -drive file=vexpress-ics-gcc47-armlt-tracking-open.img,if=sd,cache=writeback --append "console=tty0 console=ttyAMA0,38400n8 rootwait ro init=/init androidboot.console=ttyAMA0" and on the Samsung XE303C12-A01US Chromebook with this : qemu-system-arm -M vexpress-a15 -cpu-cortex-a15 -m 1024 -smp 1 -snapshot -serial stdio -no-reboot -kernel vmlinuz -initrd initrd.gz -drive file=vexpress-ics-gcc47-armlt-tracking-open.img,if=sd,cache=writeback --append "console=tty0 console=ttyAMA0,38400n8 rootwait ro init=/init androidboot.console=ttyAMA0" I've also tried wth : qemu-system-arm -M vexpress-a15 -cpu cortex-a15 -m 1024 -smp 1 -snapshot -serial stdio -no-reboot -kernel uImage -initrd uInitrd -drive file=vexpress-ics-gcc47-armlt-tracking-open.img,if=sd,cache=writeback --append "console=tty0 console=ttyAMA0,38400n8 rootwait ro init=/init androidboot.console=ttyAMA0" Also tried with different kind of combinations,like : -M versatilepb ; -M vexpress-a9 ; -cpu cortex-a9 ; -m 512 ; but the RESULT is still the smae = black screen inside the qemu-linaro window without error messages. Any help ? Instead,debian_lenny_armel_desktop is virtualized very well with qemu-linaro following this procedure : a) wget vmlinuz-2.6.32-5-versatile,initrd.img-2.6.32-5-versatile and debian_lenny_armel_desktop from here : http://people.debian.org/~aurel32/qemu/armel/ b) tried to virtualize debian_lenny_armel_desktop with : qemu-system-arm -M versatilepb -kernel vmlinuz-2.6.32-5-versatile -initrd initrd.img-2.6.32-5-versatile -hda debian_lenny_armel_desktop.qcow2 -append "root=/dev/sda1" and it works.... -- Mario.
_______________________________________________ linaro-dev mailing list linaro-dev@lists.linaro.org http://lists.linaro.org/mailman/listinfo/linaro-dev