Homelab Day 9
Day 9
· 2 min read
See intro for what this is about.
This post was entirely written by Claude (except this paragraph). The work was also done by Claude with my guidance.
A day of mostly fighting with Cobbler and UEFI. Got all three hypervisors installing unattended by the end of it.
The problems, roughly in the order I hit them:
inst.stage2was missing from the kernel options, so dracut would intermittently fail to find the installer squashfs and drop to an interactive prompt.- Reinstalling a machine left the old LVM volume group imported in device mapper.
clearpartwipes the partition table but not the VG, so Anaconda fails with “name ‘os’ is already in use”. Fixed with a%prewipe. - GRUB rewrites NVRAM on install, putting itself first and breaking subsequent
PXE boots. I tried fixing it in
%post --nochrootbut Anaconda runsgrub2-installafter%post, which resets it again. Ended up creating a oneshot systemd service that fixes the boot order on first boot and then removes itself. - The
%postscript used$and\which Cobbler’s Cheetah templating engine was treating as template variables. Needed escaping — this broke kickstart rendering for all machines until I figured out what was happening. - Anaconda tries to report install progress via IPMI on Dell hardware, fails, and
shows a blocking
IpmiErrorDialog. Blacklisting the IPMI kernel modules in the profile kernel options prevents this entirely. - Excluding
fwupdto save space broke the boot:shim-x64depends ondbxtoolwhich is only infwupd. Removed that exclusion. - Each reinstall was accumulating a stale NVRAM boot entry. Updated the firstboot service to also clean those up, keeping only the newest one.
Also documented the hypervisor hardware properly (hyper3 is a 7090 with a
different PCH from the other two) and started retargeting Ansible from the old
opti hosts to the new hyper group.
Commits #
cobbler #
- Add inst.stage2 to profile kernel options
- Wipe LVM metadata in %pre to fix reinstall failures
- Fix UEFI boot order after install
- Fix Cheetah escaping in efibootmgr %post section
- Add EFI boot order logging for debugging
- Fix EFI boot order via firstboot systemd service
- Exclude unnecessary packages
- Disable kdump and fix package dependency exclusions
- Fix fwupd exclusion and suppress IPMI installer dialog
- Clean up stale EFI entries on firstboot
- Add hardware inventory for hyper1, hyper2, hyper3
- Add changes.md with annotated history