On Mon, Jul 04, 2022 at 03:59:25PM +0200, Gerd Hoffmann wrote:
Hi,
>
https://raw.githubusercontent.com/keszybz/mkosi-initrd-talk/main/mkosi-in...
Hmm. Nice ideas (reproducible initrds, yay!), but it feels more like
being at proof-of-concept state. mkosi going fetch stuff from the
internet to generate the initrd is clearly a non-starter (maybe not that
much of a problem when doing it in koji where the next fedora repo is
only one network hop away).
A few experiments later. Using 'mkosi --use-host-repositories' greatly
improves the situation. mkosi picks up the local repo config then and
fetches stuff from my local mirror.
Going build unified kernel image (using 'man systemd-stub'
instructions):
# build unified kernel
echo "Unified Linux Kernel ${KVER}" > os-release
objcopy --add-section .osrel=os-release \
--add-section .cmdline=/proc/cmdline \
--add-section .linux=/boot/vmlinuz-${KVER} \
--add-section .initrd=initrd_${KVER}.cpio.zstd \
\
--change-section-vma .osrel=0x20000 \
--change-section-vma .cmdline=0x30000 \
--change-section-vma .linux=0x2000000 \
--change-section-vma .initrd=0x3000000 \
\
/usr/lib/systemd/boot/efi/linuxx64.efi.stub \
/boot/efi/EFI/Linux/unified-${KVER}.efi
Booting that directly from the ovmf firmware menu works fine.
Progress!
grub2 doesn't find it. Support not implemented?
Ok, lets try systemd-boot instead. Install.
Chainload from grub for now:
root@fedora ~/mkosi-initrd (main)# cat /boot/grub2/custom.cfg
if [ "$grub_platform" = "efi" ]; then
menuentry 'systemd boot loader' {
chainloader (hd0,gpt1)/efi/systemd/systemd-bootx64.efi
}
fi
systemd-boot doesn't find it either. Double-checking. ESP mounted at
/boot/efi. Directory looks fine to me:
root@fedora ~/mkosi-initrd (main)# ll /boot/efi/EFI/Linux
total 77832
-rwx------. 1 root root 79698816 Jul 6 15:36 unified-5.18.9-200.fc36.x86_64.efi
Any clues?
thanks,
Gerd