[SOLVED] One migrated VM from KVM will not boot

drjaymz@

Member
Jan 19, 2022
118
5
23
101
I need to create a node with 3 servers, a DNS/DHCP an LDAP server and a WarehouseManagementSystem server. The LDAP is required for authentication into the other two.

I started with the original KVM XML files and tried to match as closely as possible the settings for proxmox. A slight curveball was that they use direct kernel boot which I have managed to implement from the args. I can now get into them and they are set up on a subnet and working.

The final VM is being a bit more difficult. It will not boot.
Here's its configuration. and note that it is using pae although I'm not sure if thats a problem at all
i.e. features includes pae and the kernel is pae version. Under proxmox I can find no equivalent feature setting?
:

Code:
<domain type='kvm'>
  <name>wmsvb2</name>
  <uuid>f3f48fa1-2a20-7ee0-5f93-e0351e3b114e</uuid>
  <memory unit='KiB'>4194304</memory>
  <currentMemory unit='KiB'>4194304</currentMemory>
  <vcpu placement='static'>8</vcpu>
  <os>
    <type arch='x86_64' machine='pc-i440fx-bionic'>hvm</type>
    <kernel>/var/lib/libvirt/boot/vmlinuz-3.2.0-101-generic-pae</kernel>
    <initrd>/var/lib/libvirt/boot/initrd.img-3.2.0-101-generic-pae</initrd>
    <cmdline>root=/dev/vda ro vdso=0 showopts vga=normal console=tty1 console=ttyS0,115200 3</cmdline>
    <boot dev='hd'/>
    <bootmenu enable='no'/>
  </os>
  <features>
    <acpi/>
    <apic/>
    <pae/>
  </features>
  <clock offset='utc'>
    <timer name='rtc' tickpolicy='catchup'/>
    <timer name='pit' tickpolicy='delay'/>
    <timer name='hpet' present='no'/>
  </clock>
  <on_poweroff>destroy</on_poweroff>
  <on_reboot>restart</on_reboot>
  <on_crash>restart</on_crash>
  <devices>
    <emulator>/usr/bin/kvm</emulator>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/data/wmsvb2-disk-root'/>
      <target dev='vda' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x04' function='0x0'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/data/wmsvb2-swap'/>
      <target dev='vdb' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/>
    </disk>
    <disk type='block' device='disk'>
      <driver name='qemu' type='raw'/>
      <source dev='/dev/data/wmsvb2-disk-u2'/>
      <target dev='vdc' bus='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/>
    </disk>
    <controller type='ide' index='0'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x1'/>
    </controller>
    <controller type='usb' index='0' model='piix3-uhci'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x01' function='0x2'/>
    </controller>
    <controller type='pci' index='0' model='pci-root'/>
    <interface type='bridge'>
      <mac address='52:54:00:30:5c:d6'/>
      <source bridge='br0'/>
      <model type='virtio'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x03' function='0x0'/>
    </interface>
    <serial type='pty'>
      <target type='isa-serial' port='0'>
        <model name='isa-serial'/>
      </target>
    </serial>
    <console type='pty'>
      <target type='serial' port='0'/>
    </console>
    <input type='mouse' bus='ps2'/>
    <input type='keyboard' bus='ps2'/>
    <graphics type='vnc' port='-1' autoport='yes' keymap='en-gb'>
      <listen type='address'/>
    </graphics>
    <video>
      <model type='cirrus' vram='16384' heads='1' primary='yes'/>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/>
    </video>
    <memballoon model='virtio'>
      <address type='pci' domain='0x0000' bus='0x00' slot='0x08' function='0x0'/>
    </memballoon>
  </devices>
</domain>

In proxmox land:
Code:
args: -kernel '/mnt/pve/network-proxmox/images/103/vmlinuz-3.2.0-101-generic-pae' -initrd '/mnt/pve/network-proxmox/images/103/initrd.img-3.2.0-101-generic-pae' -append 'root=/dev/vda ro vdso=0 showopts vga=normal console=tty1 console=ttyS0,115200 3'
boot:
cores: 2
memory: 3520
meta: creation-qemu=6.1.0,ctime=1642756260
name: proxmox-wmsvb2
net0: rtl8139=22:75:DB:30:F8:99,bridge=vmbr1,firewall=1
numa: 0
ostype: l26
scsihw: pvscsi
serial0: socket
smbios1: uuid=69be60bc-54ea-4e6c-84ab-aa47356cd4c9
sockets: 1
tablet: 0
virtio0: network-proxmox:103/wmsvb2-disk-root.raw,cache=writeback,size=25G
virtio1: network-proxmox:103/wmsvb2-disk-swap.raw,cache=writeback,size=4G
virtio2: network-proxmox:103/wmsvb2-disk-u2.raw,cache=writeback,size=25G
vmgenid: c6e8cf02-dbbe-4b7f-8aaa-e4a266f1e60c

On the KVM it does this...

Code:
[    7.193987] EXT3-fs (vdc): mounted filesystem with ordered data mode
/dev/vdc on /u2 type ext3 (rw)                                        done
Loading required kernel modules                                       done
Restore device permissions                                            done
Activating remaining swap-devices in /etc/fstab...                    done
Mounting shared memory FS on /dev/shm                                 done
Setting up the CMOS clock                                             done
Setting up timezone data                                              done
Setting scheduling timeslices                                         unused
Setting up hostname 'wmsvb2'                                          done
Setting up loopback interface                                         done
Enabling syn flood protection                                         done
Disabling IP forwarding                                               done
Disabling IPv6 forwarding                                             done
Disabling IPv6 privacy                                                done
Creating /var/log/boot.msg                                            done
System Boot Control: The system has been                              setup
Skipped features:                                                                boot.sched
System Boot Control: Running /etc/init.d/boot.local                   done
INIT: Entering runlevel: 3
Boot logging started on /dev/char/../ttyS0(/dev/console) at Fri Jan 28 08:27:06 2022
Master Resource Control: previous runlevel: N, switching to runlevel: 3
Initializing random number generator                                  done
Setting up network interfaces:
    lo                                                                done
    eth0      [   11.085480] e1000: eth0 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: RX
[   11.090039] ADDRCONF(NETDEV_UP): eth0: link is not ready
[   11.092744] ADDRCONF(NETDEV_CHANGE): eth0: link becomes ready
IP/Netmask: 192.1.1.25 / 255.255.255.0                                done
Starting syslog services  syslogd: /dev/xconsole: No such file or directory
                                                                      done
Starting process accounting                                           done
Starting resource manager                                             done
Starting RPC portmap daemon                                           done
Mount SMB File System                                                 unused
Starting sound driver                                                 done
Starting rsync daemon                                                 done
Loading ACPI modules ()                                               done
Starting acpid                                                        done
Starting SSH daemon                                                   done
Starting net_server28/01/2022 08:27:06 net_serverd started 878
28/01/2022 08:27:06 net_serverd daemon started
                                                                      done
Starting service automounter                                          done
Starting INET services. (xinetd)                                      done
Starting cupsd                                                        done
.....

until we get to the login:

On proxmox it does this

Code:
[    6.494639] EXT3-fs (vda): mounted filesystem with ordered data mode
Begin: Running /scripts/local-bottom ... done.
done.
Begin: Running /scripts/init-bottom ... done.
INIT: version 2.82 booting
Inconsistency detected by ld.so: rtld.c: 1250: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
INIT: Entering runlevel: 2
Inconsistency detected by ld.so: rtld.c: 1250: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
Inconsistency detected by ld.so: rtld.c: 1250: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
Inconsistency detected by ld.so: rtld.c: 1250: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!
Inconsistency detected by ld.so: rtld.c: 1250: dl_main: Assertion `(void *) ph->p_vaddr == _rtld_local._dl_sysinfo_dso' failed!

... and repeats forever

So basically it doesn't get far into the boot.

I'm new to proxmox and I don't really as of yet know where Proxmox's KVM implementation differs from a basic Ubuntu with KVM installed.
My assumption as of now is that there is a device missing and I don't seem to be able to get a 1-1 xml to proxmox configuration. However, I got the others to work.

Googling the error message is fruitless as it points to some bug in gcc which isn't going to help me because what I'm trying to do is migrate a working system.
 
Last edited:
The args were actually set to:
-append 'root=/dev/vda ro console=tty1 console=ttyS0,115200 2'

Once I saved the file I had edited but not saved to
-append 'root=/dev/vda ro vdso=0 showopts vga=normal console=tty1 console=ttyS0,115200 3'

This now boots and everything appears to be working.

Next job is to convert to qcow2 from raw and have a go at snapshotting.
 

About

The Proxmox community has been around for many years and offers help and support for Proxmox VE, Proxmox Backup Server, and Proxmox Mail Gateway.
We think our community is one of the best thanks to people like you!

Get your subscription!

The Proxmox team works very hard to make sure you are running the best software and getting stable updates and security enhancements, as well as quick enterprise support. Tens of thousands of happy customers have a Proxmox subscription. Get yours easily in our online shop.

Buy now!