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