On Tue, Oct 20, 2015 at 04:40:09PM +0100, slim tabka wrote:
Hi everyone,
I'm working with libguestfs 1.30.3 on Centos 7 host. I encountered a problem when I wanted to install extlinux with guestfish as a bootloader for my guests and I always get this error:
SYSLINUX 4.05 EDD 0x54f93f16 Copyright (C) 1994-2010 H. Peter Anvin et al ERROR: No configuration file found No default or UI configuration directive found! boot: _
*This is how I create the virtual machines:*
lvcreate -n vm_name -L 9G vm_volumes
parted /dev/vm_volumes/vm_name mklabel msdos parted -a optimal /dev/vm_volumes/vm_name mkpart primary ext4 0% 100% parted /dev/vm_volumes/vm_name set 1 boot on
kpartx -av /dev/vm_volumes/vm_name
mkfs.ext4 /dev/mapper/loop0p1
mount /dev/mapper/loop0p1 /mnt/clone
tar -zxf /root/centos7_template.tar.gz -C /mnt/clone/
umount /mnt/clone kpartx -dv /dev/vm_volumes/vm_name
Strange way to do this, as libguestfs can do all this.
/root/libguestfs-1.30.3/run guestfish -i -a /dev/vm_volumes/{vm_name} << _EOF_ \n\
#####mbr.bin and syslinux already existant in centos7_template.tar.gz#### copy-file-to-device /boot/mbr.bin /dev/sda size:440 \n\ extlinux /boot \n\ part-set-bootable /dev/sda 1 true \n\ _EOF_
*And this is the syslinux.cfg file:*
DEFAULT linux LABEL linux SAY Booting the kernel KERNEL /boot/vmlinuz-3.10.0-229.el7.x86_64 INITRD /boot/initramfs-3.10.0-229.el7.x86_64.img APPEND ro root=UUID={{ UUID }}
Did you copy the syslinux.cfg file into the guest? The error message you reported sounds like extlinux is installed but cannot read its config file. Anyway, here's how I used these APIs: https://rwmj.wordpress.com/2013/04/04/new-in-libguestfs-use-syslinux-or-extl... It's in Perl, but the same commands will work fine in guestfish. Rich. -- Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones Read my programming and virtualization blog: http://rwmj.wordpress.com virt-builder quickly builds VMs from scratch http://libguestfs.org/virt-builder.1.html