Thank you so much, Chris. It works now. As you pointed out, it was the missing include directory in configure-qemu.sh. I add "-I$KERNEL_DIR/include -I$KERNEL_DIR/arch/arm/include" into the CFLAG, and everything is OK. But these two include directories are commented out in the configure-qemu.sh I fetched. Anyway, thanks for your help. -Yifan On Tue, Sep 14, 2010 at 2:41 PM, Christoffer Dall <cdall at cs.columbia.edu>wrote: > On Tue, Sep 14, 2010 at 6:58 PM, Yifan Zhang <ivan.zhang.iv at gmail.com> > wrote: > > Chris, > > > > I should have explained the details more carefully. Here are the steps I > > did: > > no problem > > > > 1) For host kernel, I used the branch "android-goldfish-2.6.27-kvm". > Use this branch instead: android-goldfish-2.6.27-kvm-upstream_qemu > > 2) For android tools and images, I use those from SDK > > "android-sdk-linux_x86-1.0_r2" downloaded from google site whit one > > exeption: if I used all the images from SDK 1.0, I couldn't connect to > the > > emulator via adb, it prompted "error: device offline". So I replaced the > > ramdisk image provided by SDK 1.0 with the one I compiled from android > 1.5 > > source code, and everything went well. > shouldn't be a big problem - although very strange you see that behavior. > > 3) For guest qemu, I used the branch "armkvm-upstream". But when I > compiled > > the source code I made some modification as follows: > > > I removed the configuration option "--disable-gfx-check" (in the > file > > "android-extra/scripts/configure-qemu.sh") otherwise it would prompt > "ERROR: > > unknown option --disable-gfx-check". > > > I added a compile option "--disable-werror" otherwise it would treat > > warnings as compile errors. > both of the above are fine - they are necessary when using the > upstream qemu version > > > I also removed line 23 "#include <linux/kvm.h>" in > > <AndroidVirt>/qemu/kvm.h as the compiler couldn't find the header file. > this is because you have a wrong include directory in the > configure-qemu.sh script, or the include directory is not using the > correct branch, you didn't do 'make modules_prepare' (or simply make) > to prepare the include directories or something else is wrong. You > need to make this work without removing the include line. > > 4) For guest kernel, I used the branch "v2.6.17-lpv". > fine > > > > I think it is the modifications I did for guest qemu that caused the > error. > > Please help me to solve it. > > it was the inconsistency between host kernel and qemu version. > > > > It is great to know we will have a full ARMv6 development environment > with > > improved performance. I will jump in soon... > :) > > > > -Yifan > > > > > > > > On Tue, Sep 14, 2010 at 4:11 AM, Christoffer Dall <cdall at cs.columbia.edu > > > > wrote: > >> > >> Hi Yifan. > >> > >> The status right now is that we are moving to ARMv6 for the > >> performance updates as it was deemed necessary for acceptable > >> performance. The current system seems to be somewhat unstable and > >> relies on the timing of your host CPU amongst other things. > >> > >> The specific error that you're seeing I suspect is connected to using > >> incompatible versions of the host kernel tree and the guest qemu tree. > >> Let's make sure that these are in sync. Which branches do you use for > >> the two repositories? > >> > >> The goal is to within weeks provide a full ARMv6 development > >> environment based on an emulator (and contributions thereafter are > >> very very welcome) and for developers with ARMv6 hardware access to > >> develop on those. We will not spend too much time on the Goldfish > >> platform. > >> > >> -Christoffer > >> > >> 2010/9/13 Yifan Zhang <ivan.zhang.iv at gmail.com>: > >> > Hello everyone, > >> > > >> > I was trying to compile and run AndroidVirt according to the > >> > "AndroidVirt:Guides:Development Environment" page in the project wiki. > A > >> > problem occurred when the guest OS booted up in my experiment. It > seems > >> > that > >> > the "qemu-system-arm" process aborted before the guest OS is brought > up > >> > completely. I have posted the output from guest and host below. > >> > > >> > Actually I am new to this project. And I don't know whether or not the > >> > guest > >> > has booted up successfully. If yes how to run simple programs such as > ls > >> > in > >> > the guest OS? And I also want to know if Chris and other project > >> > developers > >> > are still doing the performance improvement work for ARMv5 (goldfish). > >> > If > >> > yes, what is the current progress? Hope I can contribute to this > >> > project. > >> > > >> > Thank you in advance. > >> > > >> > Yifan > >> > > >> > ==================================== > >> > Guest output: > >> > ----------------------------------------- > >> > ... ... > >> > IPv4 over IPv4 tunneling driver > >> > CLASS: registering class device: ID = 'tunl0' > >> > class_uevent - name = tunl0 > >> > GRE over IPv4 tunneling driver > >> > CLASS: registering class device: ID = 'gre0' > >> > class_uevent - name = gre0 > >> > TCP bic registered > >> > NET: Registered protocol family 1 > >> > NET: Registered protocol family 17 > >> > 802.1Q VLAN Support v1.8 Ben Greear <greearb at candelatech.com> > >> > All bugs added by David S. Miller <davem at redhat.com> > >> > VFP support v0.3: implementor 41 architecture 1 part 10 variant 9 rev > 0 > >> > about to execute ramdisk_command > >> > First jump to user space! > >> > [1] Aborted /data/qemu-system-arm -kernel > >> > /data/zImage.integrator -initrd /data/arm_root.img --enable-kvm > >> > -nographic > >> > -append "console=ttyAMA0 debug" > >> > # sh: turning off NDELAY mode > >> > ==================================== > >> > > >> > > >> > ==================================== > >> > Host output: > >> > ----------------------------------------- > >> > KVM [emulate_mcr_pgtable:384]: guest changed TTBR0 to: 0x00004000 > >> > KVM [emulate_mcr_sysconf:312]: guest enabled MMU at: 000102f0 > >> > KVM [emulate_mcr_sysconf:315]: guest disabled MMU at: 00370340 > >> > KVM [emulate_mcr_cache:672]: this should be OK in user mode? > >> > KVM [emulate_mcr_cache:672]: this should be OK in user mode? > >> > KVM [emulate_mcr_pgtable:384]: guest changed TTBR0 to: 0x00004000 > >> > KVM [emulate_mcr_sysconf:312]: guest enabled MMU at: 00008064 > >> > binder: release 663:663 transaction 292 out, still active > >> > binder: 574:579 transaction failed 29189, size 4-0 > >> > binder: send failed reply for transaction 292, target dead > >> > KVM [handle_shadow_perm:1328]: switching vectors... > >> > KVM [kvm_switch_host_vectors:844]: switched to low vectors > >> > KVM [emulate_mcr_pgtable:384]: guest changed TTBR0 to: 0x00928000 > >> > KVM [kvm_generate_mmu_fault:1310]: Injecting interrupt at: c0100ba8 > >> > KVM [kvm_generate_mmu_fault:1310]: Injecting interrupt at: c0100ba8 > >> > KVM [handle_shadow_fault:1243]: mapping to io address without > >> > permissions? > >> > KVM [handle_shadow_fault:1244]: happened at: 0x400006f0 > >> > KVM [handle_shadow_fault:1245]: address: 0x400006f0 > >> > KVM [handle_shadow_fault:1246]: fault: 7 > >> > Enter: 400006f0 Exit: 400006f0 > >> > Enter: c0021e90 Exit: c0021e98 > >> > Enter: c0021e88 Exit: c0021e88 > >> > Enter: c0021e6c Exit: c0021e80 > >> > Enter: c0021c3c Exit: c0021e64 > >> > Enter: c0021c30 Exit: c0021c38 > >> > Enter: c00427c8 Exit: c0021c2c > >> > Enter: c00427bc Exit: c00427c0 > >> > Enter: c00464dc Exit: c00427b4 > >> > Enter: c00464d0 Exit: c00464d4 > >> > Enter: c0046304 Exit: c00464c8 > >> > Enter: c00462f8 Exit: c00462fc > >> > Enter: c0053c6c Exit: c00462f0 > >> > Enter: c0042788 Exit: c0053c6c > >> > KVM [gva_to_gfn:364]: l1_entry: 0092f031 > >> > KVM [gva_to_gfn:397]: l2_entry: 00000000 > >> > KVM [gva_to_gfn:415]: l1 entry for 0x400006f0: 0x0092f031 > >> > KVM [gva_to_gfn:416]: l2 entry for 0x400006f0: 0x00000000 > >> > KVM [gva_to_gfn:417]: err: 7 > >> > KVM [gva_to_gfn:418]: xp: 0 > >> > ==================================== > >> > > >> > > >> > _______________________________________________ > >> > Android-virt mailing list > >> > Android-virt at lists.cs.columbia.edu > >> > https://lists.cs.columbia.edu/cucslists/listinfo/android-virt > >> > > >> > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: https://lists.cs.columbia.edu/pipermail/android-virt/attachments/20100916/833fd175/attachment-0001.html