[Libguestfs] "make check" on ArchLinux: "This kernel requires an x86-64 CPU, but only detected an i686 CPU"

Erik Nolte ENolte at beyondoblivion.com
Tue Sep 27 22:58:09 UTC 2011


I'm updating the ArchLinux libguestfs package to 1.12.7, but the "make check" tests fail in qemu with:

Booting from ROM...
This kernel requires an x86-64 CPU, but only detected an i686 CPU.
Unable to boot - please use a kernel appropriate for your CPU.

How does qemu detect the CPU type?  I'm running a 64-bit ArchLinux (without KVM) on an Intel Xeon E5420 processor.  I'm able to boot qemu's small test image (http://wiki.qemu.org/download/linux-0.2.img.bz2) and the libguestfs iso image test passes, but the make-{debian,fedora,ubuntu,windows}-img.sh scripts all fail with the CPU mismatch bios error.

I added "-v" to guestfish in images/guest-aux/make-debian-img.sh, ran "make check" and got the output listed below.  I got the same results running as root and as non-root.



$ mcp:/enolte/libguestfs/src/libguestfs-1.12.7> make check
Making check in gnulib/lib
make[1]: Entering directory `/home/enolte/libguestfs/src/libguestfs-1.12.7/gnulib/lib'
  GEN    configmake.h
make  check-recursive
make[2]: Entering directory `/home/enolte/libguestfs/src/libguestfs-1.12.7/gnulib/lib'
make[3]: Entering directory `/home/enolte/libguestfs/src/libguestfs-1.12.7/gnulib/lib'
  GEN    configmake.h
make[3]: Leaving directory `/home/enolte/libguestfs/src/libguestfs-1.12.7/gnulib/lib'
make[2]: Leaving directory `/home/enolte/libguestfs/src/libguestfs-1.12.7/gnulib/lib'
make[1]: Leaving directory `/home/enolte/libguestfs/src/libguestfs-1.12.7/gnulib/lib'
Making check in images
make[1]: Entering directory `/home/enolte/libguestfs/src/libguestfs-1.12.7/images'
ln -sf /10klines abssymlink
rm -f test.iso test.iso-t
mkdir -p directory
/usr/bin/genisoimage -J -r -graft-points \
  -o test.iso-t \
  ./helloworld.tar ./helloworld.tar.gz ./helloworld.tar.xz ./empty ./known-1 ./known-2 ./known-3 ./known-4 ./known-5 ./bin-i586-dynamic ./bin-sparc-dynamic ./bin-win32.exe ./bin-win64.exe ./bin-x86_64-dynamic ./lib-i586.so ./lib-sparc.so ./lib-win32.dll ./lib-win64.dll ./lib-x86_64.so ./test-grep.txt ./100kallzeroes ./100kallnewlines ./100kallspaces ./100krandom ./10klines ./abssymlink ./hello.b64 ./initrd ./initrd-x86_64.img ./initrd-x86_64.img.gz ./test-grep.txt.gz /directory=directory
Total translation table size: 0
Total rockridge attributes bytes: 3010
Total directory bytes: 2048
Path table size(bytes): 26
Max brk space used 0
635 extents written (1 MB)
rmdir directory
mv test.iso-t test.iso
make  debian.img fedora.img ubuntu.img windows.img
make[2]: Entering directory `/home/enolte/libguestfs/src/libguestfs-1.12.7/images'
TMPDIR=.. \
SRCDIR=. \
bash guest-aux/make-debian-img.sh
libguestfs: [00000ms] febootstrap-supermin-helper --verbose -f checksum '/home/enolte/libguestfs/src/libguestfs-1.12.7/appliance/supermin.d' x86_64
supermin helper [00000ms] whitelist = (not specified), host_cpu = x86_64, kernel = (null), initrd = (null), appliance = (null)
supermin helper [00000ms] inputs[0] = /home/enolte/libguestfs/src/libguestfs-1.12.7/appliance/supermin.d
supermin helper [00000ms] finished creating kernel
supermin helper [00000ms] visiting /home/enolte/libguestfs/src/libguestfs-1.12.7/appliance/supermin.d
supermin helper [00000ms] visiting /home/enolte/libguestfs/src/libguestfs-1.12.7/appliance/supermin.d/base.img
supermin helper [00000ms] visiting /home/enolte/libguestfs/src/libguestfs-1.12.7/appliance/supermin.d/daemon.img
supermin helper [00000ms] visiting /home/enolte/libguestfs/src/libguestfs-1.12.7/appliance/supermin.d/hostfiles
supermin helper [00020ms] visiting /home/enolte/libguestfs/src/libguestfs-1.12.7/appliance/supermin.d/init.img
supermin helper [00052ms] finished creating appliance
libguestfs: [00055ms] begin testing qemu features
libguestfs: [00068ms] finished testing qemu features
libguestfs: accept_from_daemon: 0x1625140 g->state = 1
[00069ms] /usr/bin/qemu \
    -drive file=debian.img.tmp,cache=off,format=raw,if=virtio \
    -nodefconfig \
    -machine pc,accel=kvm:tcg \
    -nodefaults \
    -nographic \
    -m 500 \
    -no-reboot \
    -no-hpet \
    -device virtio-serial \
    -serial stdio \
    -chardev socket,path=/home/enolte/libguestfs/src/libguestfs-1.12.7/libguestfsCMM14k/guestfsd.sock,id=channel0 \
    -device virtserialport,chardev=channel0,name=org.libguestfs.channel.0 \
    -kernel /home/enolte/libguestfs/src/libguestfs-1.12.7/.guestfs-1004/kernel.26205 \
    -initrd /home/enolte/libguestfs/src/libguestfs-1.12.7/.guestfs-1004/initrd.26205 \
    -append 'panic=1 console=ttyS0 udevtimeout=300 noapic acpi=off printk.time=1 cgroup_disable=memory selinux=0 guestfs_verbose=1 TERM=xterm-256color ' \
    -drive file=/home/enolte/libguestfs/src/libguestfs-1.12.7/.guestfs-1004/root.26205,snapshot=on,if=virtio,cache=unsafeCould not access KVM kernel module: No such file or directory
failed to initialize KVM: No such file or directory
Back to tcg accelerator.
\x1b[1;256r\x1b[256;256H\x1b[6n
Google, Inc.
Serial Graphics Adapter 09/23/11
SGABIOS $Id: sgabios.S 8 2010-04-22 00:03:40Z nlaredo $ (root at saltdev) Fri Sep 23 18:55:38 UTC 2011
Term: 80x24
4 0
SeaBIOS (version pre-0.6.3-20110315_112143-titi)

Booting from ROM...
This kernel requires an x86-64 CPU, but only detected an i686 CPU.
Unable to boot - please use a kernel appropriate for your CPU.

^Cmake[2]: *** [debian.img] Interrupt
make[1]: *** [check-am] Interrupt
make: *** [check-recursive] Interrupt

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listman.redhat.com/archives/libguestfs/attachments/20110927/55e47fb1/attachment.htm>


More information about the Libguestfs mailing list