[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[ANN] new approach to pv domU install of CentOS/AlmaLinux (el8)



Hello Xen-users,


Its well known that the kernel/ramdisk pair, found below, normally
supports a pv boot with virt-install from libvirt:
http://mirrors.ocf.berkeley.edu/centos/8/BaseOS/x86_64/os/images/pxeboot/

this is no longer the case with any version of el8 in CentOS and other
RH clones.

I've recently tried a new (MacGyver) style approach to a pv domU boot
explained here:
http://strugglers.net/~andy/blog/2021/02/03/booting-the-centosrhel-installer-under-xen-pvh-mode

Basically, from the pxeboot kernel/ramdisk pair above, you throw away
the kernel, substitute it with the elrepo kernel-ml vmlinuz, then
repack the pxeboot initrd.img with the kernel-ml modules and add a
dracut hook. You don't have to use the elrepo kernel+modules, I've
also used those same bits from Debian Bullseye.

My first test boot.iso from CentOS 8.3, but this is quite slow. When
AlmaLinux came out in Feb with a Minimal ISO this seemed an ideal
platform for testing the repacked initrd.img.

With the Alma minimal ISO total elapsed install time was 600s (10m)
and this included some post-install scripts. My cmdline to kick off
the install:
[    0.000000] Command line: console=hvc0 text
ks=http://192.168.1.3/public_html/alma8-crap-ks.cfg
inst.repo=cdrom:xvdc

// trace of pv install using elrepo repacked initrd.img:
tlviewer@xen1804:~/alma8$ grep -iP 'xen|pv' pv-install-alma8-pt1
tlviewer@c8xen:~/alma8$ sudo xl create -c alma8.cfg
[    0.000000] Xen: [mem 0x0000000000000000-0x000000000009ffff] usable
[    0.000000] Xen: [mem 0x00000000000a0000-0x00000000000fffff] reserved
[    0.000000] Xen: [mem 0x0000000000100000-0x00000000693fffff] usable
[    0.000000] Hypervisor detected: Xen PV
[    0.150910] Kernel/User page tables isolation: disabled on XEN PV.
[    0.535495] Booting paravirtualized kernel on Xen
[    0.535496] Xen version: 4.13.2 (preserve-AD)
[    0.645473] PV qspinlock hash table entries: 256 (order: 0, 4096
bytes, linear)
[    0.670204] xen:events: Using FIFO-based ABI
[    0.670757] clocksource: xen: mask: 0xffffffffffffffff max_cycles:
0x1cd42e4dffb, max_idle_ns: 881590591483 ns
[    0.670771] installing Xen timer for CPU 0
[    0.703547] installing Xen timer for CPU 1
[    0.735310] xen:grant_table: Grant tables using version 1 layout
[    0.736838] PCI: setting up Xen PCI frontend stub
[    1.099920] xen:balloon: Initialising balloon driver
[    1.102385] clocksource: Switched to clocksource xen
[   16.039730] systemd[1]: Detected virtualization xen.
[   19.413874] xen_netfront: Initialising Xen virtual ethernet driver
[   27.563288] systemd[1]: Detected virtualization xen.

Here is a line-by-line trace at my first time getting Anaconda to
start (stopped with simple error):
https://pb.psychotic.ninja/view/raw/f78bd1ef

The future of AlmaLinux looks good if such easy techniques can result
in fast pv installs.
Cheers,
PryMar56
 ##xen-packaging of Freenode



 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.