Page History
...
- Install UTM and create a new VM with the Rocky iso. This loops in Grub due to the above restriction.
- Stop the VM. Right-click on VM `VM
Edit->QEMU`>QEMUand untick `untickUse Hypervisor` to enable emulation. In the same settings window, change `changeDisplay->Emulated Display Card` from ` fromvirtio-gpu-pci` to ` tovirtio-ramfb` otherwise there is not display output. - Boot and install OS as usual.
...
- First install some build dependencies as root:
Code Block language bash theme Eclipse dnf -y groupinstall 'C Development Tools and Libraries' dnf -y groupinstall 'Development Tools' dnf -y install ncurses-devel openssl-devel elfutils-libelf-devel python3 dnf config-manager --set-enabled powertools dnf -y install dwarves wget
- Grab a kernel and unpack:
Code Block language bash theme Eclipse wget https://mirrors.edge.kernel.org/pub/linux/kernel/v4.x/linux-4.18.tar.gz tar xf linux-4.18.tar.gz - Config kernel and use booted kernel config as a base
Code Block language bash theme Eclipse cd linux-4.18/ make O=~/build/kernel mrproper cp /boot/config-`uname -r` ~/build/kernel/.config - Change kernel page size. With, e.g.,
make menuconfigsearchCONFIG_ARM64_64K_PAGESand change it to4K.Code Block language bash theme Eclipse make O=~/build/kernel menuconfig sed -ri '/CONFIG_SYSTEM_TRUSTED_KEYS/s/=.+/=""/g' ~/build/kernel/.config grep PAGES ~/build/kernel/.config # sanity check - (optional) set target name
Code Block language bash theme Eclipse vim Makefile # to change `EXTRAVERSION` kernel name suffix sed -i 's/^EXTRAVERSION.*/EXTRAVERSION = -4Kpages/' Makefile # alternative make O=~/build/kernel kernelversion # check kernel version target - Build the kernel (this takes a while due to emulation...)
Code Block language bash theme Eclipse make -j 4 O=~/build/kernel make O=~/build/kernel modules_install - Install kernel
Code Block language bash theme Eclipse cp ~/build/kernel/arch/arm64/boot/Image /boot/vmlinuz-4.18.0-4Kpages cp -v ~/build/kernel/System.map /boot/System.map-4.18.0-4Kpages kernel-install add 4.18.0-4Kpages /boot/vmlinuz-4.18.0-4Kpages Reboot into the new kernel. If successful, shutdown the VM.
Re-enable the
Use Hypervisoroption and change theEmulated Display Cardback tovirtio-gpu-pcito enable virtualization.Refer to this guide for building Lustre MASTER with Rocky 8.7. Double check there is enough space available in the VM.
(Optional) Migrate VM from UTM to VMware Fusion Pro
VMware Fusion Pro does not support emulation and therefore the used Rocky image cannot boot without building a kernel with a compatible page size first. Moreover, even when migrating to VMware, the stock kernel is incompatible. So, it is important to first build the Lustre kernel.
Note, Oracle Linux 8.7 is the only flavor that can boot out of the box with VMware Fusion. Rocky/Alma/CentOS do not boot without a compatible kernel.
The following documents the steps for a successful migration:
- Make sure to have build a Lustre kernel before continuing. (Other kernel configurations probably work too except the stock kernel).
- In UTM first run
dracut --force --no-hostonlywhich rebuilds the initramfs with all drivers available. This is important to support the storage bus type in VMware. Later,dracut --forcerebuilds initramfs only with the needed drivers. - Shutdown the VM and convert the qcow2 VM file to vmdk via
qemu-img. If command not available, install qemu (e.g., via brew:brew install qemu):Code Block language bash theme Eclipse # First, navigate to the UTM VM directory qemu-img convert -p -f qcow2 -O vmdk <VM_file_name>.utm/Data/*.qcow2 ~/Downloads/rocky8-7.vmdk Add VM in VMware Fusion and use
Create a custom virtual machine, chooseUse an existing virtual disk.Boot into the existing Lustre kernel.
Final steps:
Fix swap:
swapon /dev/mapper/rl-swap --fixpgszThe NIC has changed, so the old config file no longer applies: Navigate to
/etc/sysconfig/network-scripts/, change the file name and the config, i.e., theNAMEandDEVICEfields.Set a new hostname
Regenerate hostkeys
cd /etc/ssh && rm ssh_host_* && ssh-keygen -A
7. Reboot and done.