qemu for Xperia X10 2010.6.13 goroh.kun@gmail.com (1)Requirement 1. linux environment on vmware or vmplayer, I use vmplayer and ubuntu 9.04. 2. gnu debugger client, gdb or eclipse, or xda version 5.5 later, I use gdb. 3. uploader image ripped from SEUS(Sonyericsson Update Service). (2)How to build qemu # tar xzvf qemu-0.12.3.tar.gz # cd qemu-0.12.3 # patch -p1 < ../qemu-0.12.3-xperia20100613.patch # ./configure --target-list=arm-softmmu --enable-system --enable-curses --disable-user --disable-guest-base --enable-debug-tcg --enable-debug --disable-strip --disable-user-pie --enable-debug-tcg --disable-kvm # make (3)How to run 1. create sdcardimg # dd if=/dev/zero of=../sdcard.img bs=1M count=128 # mkfs.msdos ../sdcard.img 2. patched to loader.bin # md5sum ../loader.bin 078c1196f299dd3ac6854d4c286f05c3 ../loader_org.bin try to patch by binary editor 0000A2CA 00 F0 E4 F8 -> C0 46 C0 46 0000A328 00 F0 B5 F8 -> C0 46 C0 46 0000B546 00 F0 05 F8 -> C0 46 C0 46 0000B66A 00 F0 69 F8 -> C0 46 C0 46 # md5sum ../loader_patched.bin 176ed196c245a72b48198adc2d160008 ../loader_patched.bin # ./arm-softmmu/qemu-system-arm -kernel ../loader_patched.bin -M xperia -sd ../sdcard.img -monitor stdio -s -S -vnc :0 (4)How to debug on monitor mode, you can try to send usb command like this To run program (qemu) c Then, you can see some debug message on console. To get USB device descriptor (qemu) sendkey 1 To get USB configuration descriptor, length 9 (qemu) sendkey 2 To get USB configuration descriptor, length 32 (qemu) sendkey 3 To send SEUS protocol CMD1 (get info) (qemu) sendkey a (5)Using gdb you can use gdbclient to debug bootloader. (6)Using XDA