[Libguestfs] [PATCH v2 0/7] tests/qemu: Add program for tracing and analyzing boot times.

Kashyap Chamarthy kchamart at redhat.com
Mon Mar 21 13:14:19 UTC 2016


I gave this series a spin, along a custom QEMU, and `supermin` from Git,
for my `libguestfs-test-tool` itself fails with:

    "Could not open option rom 'linuxboot_dma.bin': No such file or
    directory"

How I went about:

(1) Build QEMU with
    https://lists.gnu.org/archive/html/qemu-devel/2016-01/msg05891.html
    -- Add optionrom compatible with fw_cfg DMA version

    Build QEMU with the above patch:

      $ w3m https://patchwork.ozlabs.org/patch/575578/mbox \
         > add-optionrom-compatible-with-fw_cfg-DMA-version.patch
      $ git am -3 \
         ~/add-optionrom-compatible-with-fw_cfg-DMA-version.patch
      # sudo dnf builddep qemu -y
      $ ~/src/qemu/configure --target-list=x86_64-softmmu
      $ make -j4

(2) Build 'supermin' from Git

(3) Build 'libguestfs' from Rich's fork
    https://github.com/rwmjones/libguestfs/commits/master/

    Configure libguestfs (from Rich's fork) with `supermin` built from 
    Git in step (2):

      $ SUPERMIN=~/src/supermin/src/supermin ./configure
      $ ./bootstrap && ./autogen.sh && make

    Compile libguestfs:
    
      $ ./autogen.sh
      $ make -j22

(4) Use the QEMU built in step (1), build and run the 'boot-analysis'
    program from libguestfs test suite:

      $ export LIBGUESTFS_HV=$HOME/build/qemu-build/x86_64-softmmu/qemu-system-x86_64
      $ make -C tests/qemu boot-analysis
      $ ./run tests/qemu/boot-analysis -v


One and a half minute passes, nothing is printed on the screen. . .

Okay, let's try 'libguestfs-test-tool' (untruncated output attached), it
fails with:

-------------------------------------
[...]
Could not open option rom 'linuxboot_dma.bin': No such file or directory
\x1b[1;256r\x1b[256;256H\x1b[6n
Google, Inc.
Serial Graphics Adapter 11/03/11
SGABIOS $Id$ (pbonzini at yakj.usersys.redhat.com) Thu Nov  3 13:33:51 UTC 2011
Term: 80x24
4 0
\x1b[2J
SeaBIOS (version rel-1.9.1-0-gb3ef39f-prebuilt.qemu-project.org)


Booting from Hard Disk...


Boot failed: not a bootable disk
-------------------------------------

Rich: What am I missing here?

-- 
/kashyap
-------------- next part --------------
     ************************************************************
     *                    IMPORTANT NOTICE
     *
     * When reporting bugs, include the COMPLETE, UNEDITED
     * output below in your bug report.
     *
     ************************************************************
LIBGUESTFS_PATH=/home/kchamart/src/rwmj-fork-libguestfs/appliance
LIBGUESTFS_CACHEDIR=/home/kchamart/src/rwmj-fork-libguestfs/tmp
LD_LIBRARY_PATH=/home/kchamart/src/rwmj-fork-libguestfs/ruby/ext/guestfs:/home/kchamart/src/rwmj-fork-libguestfs/src/.libs:/home/kchamart/src/rwmj-fork-libguestfs/java/.libs:/home/kchamart/src/rwmj-fork-libguestfs/gobject/.libs
LIBGUESTFS_TMPDIR=/home/kchamart/src/rwmj-fork-libguestfs/tmp
LIBGUESTFS_HV=/home/kchamart/build/qemu-build/x86_64-softmmu/qemu-system-x86_64
PATH=/home/kchamart/src/rwmj-fork-libguestfs/v2v:/home/kchamart/src/rwmj-fork-libguestfs/tools:/home/kchamart/src/rwmj-fork-libguestfs/test-tool:/home/kchamart/src/rwmj-fork-libguestfs/sysprep:/home/kchamart/src/rwmj-fork-libguestfs/sparsify:/home/kchamart/src/rwmj-fork-libguestfs/resize:/home/kchamart/src/rwmj-fork-libguestfs/rescue:/home/kchamart/src/rwmj-fork-libguestfs/p2v:/home/kchamart/src/rwmj-fork-libguestfs/make-fs:/home/kchamart/src/rwmj-fork-libguestfs/inspector:/home/kchamart/src/rwmj-fork-libguestfs/get-kernel:/home/kchamart/src/rwmj-fork-libguestfs/fuse:/home/kchamart/src/rwmj-fork-libguestfs/format:/home/kchamart/src/rwmj-fork-libguestfs/fish:/home/kchamart/src/rwmj-fork-libguestfs/erlang:/home/kchamart/src/rwmj-fork-libguestfs/edit:/home/kchamart/src/rwmj-fork-libguestfs/diff:/home/kchamart/src/rwmj-fork-libguestfs/dib:/home/kchamart/src/rwmj-fork-libguestfs/df:/home/kchamart/src/rwmj-fork-libguestfs/customize:/home/kchamart/src/rwmj-fork-libguestfs/cat:/home/kchamart/src/rwmj-fork-libguestfs/builder:/home/kchamart/src/rwmj-fork-libguestfs/align:/usr/local/bin:/usr/bin:/usr/local/sbin:/usr/sbin:/home/kchamart/.local/bin:/home/kchamart/bin
SELinux: Permissive
guestfs_get_append: (null)
guestfs_get_autosync: 1
guestfs_get_backend: direct
guestfs_get_backend_settings: []
guestfs_get_cachedir: /home/kchamart/src/rwmj-fork-libguestfs/tmp
guestfs_get_direct: 0
guestfs_get_hv: /home/kchamart/build/qemu-build/x86_64-softmmu/qemu-system-x86_64
guestfs_get_memsize: 500
guestfs_get_network: 0
guestfs_get_path: /home/kchamart/src/rwmj-fork-libguestfs/appliance
guestfs_get_pgroup: 0
guestfs_get_program: libguestfs-test-tool
guestfs_get_recovery_proc: 1
guestfs_get_selinux: 0
guestfs_get_smp: 1
guestfs_get_sockdir: /tmp
guestfs_get_tmpdir: /home/kchamart/src/rwmj-fork-libguestfs/tmp
guestfs_get_trace: 0
guestfs_get_verbose: 1
host_cpu: x86_64
Launching appliance, timeout set to 600 seconds.
libguestfs: launch: program=libguestfs-test-tool
libguestfs: launch: version=1.33.15
libguestfs: launch: backend registered: unix
libguestfs: launch: backend registered: uml
libguestfs: launch: backend registered: libvirt
libguestfs: launch: backend registered: direct
libguestfs: launch: backend=direct
libguestfs: launch: tmpdir=/home/kchamart/src/rwmj-fork-libguestfs/tmp/libguestfsMsWFcN
libguestfs: launch: umask=0002
libguestfs: launch: euid=1000
libguestfs: begin building supermin appliance
libguestfs: run supermin
libguestfs: command: run: /home/kchamart/src/supermin/src/supermin
libguestfs: command: run: \ --build
libguestfs: command: run: \ --verbose
libguestfs: command: run: \ --if-newer
libguestfs: command: run: \ --lock /home/kchamart/src/rwmj-fork-libguestfs/tmp/.guestfs-1000/lock
libguestfs: command: run: \ --copy-kernel
libguestfs: command: run: \ -f ext2
libguestfs: command: run: \ --host-cpu x86_64
libguestfs: command: run: \ /home/kchamart/src/rwmj-fork-libguestfs/appliance/supermin.d
libguestfs: command: run: \ -o /home/kchamart/src/rwmj-fork-libguestfs/tmp/.guestfs-1000/appliance.d
supermin: version: 5.1.15
supermin: rpm: detected RPM version 4.13
supermin: package handler: fedora/rpm
supermin: acquiring lock on /home/kchamart/src/rwmj-fork-libguestfs/tmp/.guestfs-1000/lock
supermin: if-newer: output does not need rebuilding
libguestfs: finished building supermin appliance
libguestfs: begin testing qemu features
libguestfs: command: run: /home/kchamart/build/qemu-build/x86_64-softmmu/qemu-system-x86_64
libguestfs: command: run: \ -display none
libguestfs: command: run: \ -help
libguestfs: command: run: /home/kchamart/build/qemu-build/x86_64-softmmu/qemu-system-x86_64
libguestfs: command: run: \ -display none
libguestfs: command: run: \ -version
libguestfs: qemu version 2.5
libguestfs: command: run: /home/kchamart/build/qemu-build/x86_64-softmmu/qemu-system-x86_64
libguestfs: command: run: \ -display none
libguestfs: command: run: \ -machine accel=kvm:tcg
libguestfs: command: run: \ -device ?
libguestfs: finished testing qemu features
[00338ms] /home/kchamart/build/qemu-build/x86_64-softmmu/qemu-system-x86_64 \
    -global virtio-blk-pci.scsi=off \
    -nodefconfig \
    -enable-fips \
    -nodefaults \
    -display none \
    -machine accel=kvm:tcg \
    -cpu host \
    -m 500 \
    -no-reboot \
    -rtc driftfix=slew \
    -no-hpet \
    -global kvm-pit.lost_tick_policy=discard \
    -kernel /home/kchamart/src/rwmj-fork-libguestfs/tmp/.guestfs-1000/appliance.d/kernel \
    -initrd /home/kchamart/src/rwmj-fork-libguestfs/tmp/.guestfs-1000/appliance.d/initrd \
    -device virtio-scsi-pci,id=scsi \
    -drive file=/home/kchamart/src/rwmj-fork-libguestfs/tmp/libguestfsMsWFcN/scratch.1,cache=unsafe,format=raw,id=hd0,if=none \
    -device scsi-hd,drive=hd0 \
    -drive file=/home/kchamart/src/rwmj-fork-libguestfs/tmp/.guestfs-1000/appliance.d/root,snapshot=on,id=appliance,cache=unsafe,if=none \
    -device scsi-hd,drive=appliance \
    -device virtio-serial-pci \
    -serial stdio \
    -device sga \
    -chardev socket,path=/tmp/libguestfsfbEckp/guestfsd.sock,id=channel0 \
    -device virtserialport,chardev=channel0,name=org.libguestfs.channel.0 \
    -append 'panic=1 console=ttyS0 udevtimeout=6000 udev.event-timeout=6000 no_timer_check acpi=off printk.time=1 cgroup_disable=memory root=/dev/sdb selinux=0 guestfs_verbose=1 TERM=screen'
Could not open option rom 'linuxboot_dma.bin': No such file or directory
\x1b[1;256r\x1b[256;256H\x1b[6n
Google, Inc.
Serial Graphics Adapter 11/03/11
SGABIOS $Id$ (pbonzini at yakj.usersys.redhat.com) Thu Nov  3 13:33:51 UTC 2011
Term: 80x24
4 0
\x1b[2J
SeaBIOS (version rel-1.9.1-0-gb3ef39f-prebuilt.qemu-project.org)


Booting from Hard Disk...


Boot failed: not a bootable disk




Booting from Floppy...


Boot failed: could not read the boot disk




No bootable device.




More information about the Libguestfs mailing list