Unable to get a working initramfs for Antix-23 (except by cheating)
by hazel from LinuxQuestions.org on (#6G80Y)
Let me start by saying that I deliberately didn't do what I was supposed to do, so if I have problems now, you could say it's my own fault! You are supposed to install GRUB as your bootloader, but I took the option not to install it. I have never liked GRUB and I was able to boot all my other systems out of elilo on the old drive, so I didn't anticipate any problems with AntiX (although I hadn't run it on this machine before).
The contents of /boot after installation looked something like this:
Code:config-5.10.188-antix.1-amd64-smp memtest86+ia32.bin
config-6.1.42-antix.1-amd64-smp memtest86+ia32.efi
efi memtest86+x64.bin
grub memtest86+x64.efi
initrd.img-5.10.188-antix.1-amd64-smp System.map-5.10.188-antix.1-amd64-smp
initrd.img-6.1.42-antix.1-amd64-smp System.map-6.1.42-antix.1-amd64-smp
vmlinuz-5.10.188-antix.1-amd64-smp
vmlinuz-6.1.42-antix.1-amd64-smpLooks OK, doesn't it. Two kernels and two corresponding initrd images. But I couldn't boot with those. And when I examined the initrds, they don't seem to be proper initrds at all, just cpio stubs containing microcode.
Code:$ file /boot/initrd.img-6.1.42-antix.1-amd64-smp
/boot/initrd.img-6.1.42-antix.1-amd64-smp: ASCII cpio archive (SVR4 with no CRC)Code:$ cpio -t --file initrd.img-6.1.42-antix.1-amd64-smp
kernel
kernel/x86
kernel/x86/microcode
kernel/x86/microcode/.enuineIntel.align.0123456789abc
kernel/x86/microcode/GenuineIntel.bin
14064 blocksSo I thought: obviously you need to use mkinitramfs to add a second archive with all the boot stuff and then zip it all up into a working initramfs disk.
No such luck! I couldn't do it with mkinitramfs; I couldn't do it with update-initramfs. Both these scripts run to completion without errors but they don't create anything useful.
I can boot this system using my LFS kernel, which doesn't require an initrd. I can also boot it with its native 6.1.42 kernel and a corresponding initrd image that I made on Slackware. That's what I'm using now. But I would quite like to know how to do it properly :scratch:
The contents of /boot after installation looked something like this:
Code:config-5.10.188-antix.1-amd64-smp memtest86+ia32.bin
config-6.1.42-antix.1-amd64-smp memtest86+ia32.efi
efi memtest86+x64.bin
grub memtest86+x64.efi
initrd.img-5.10.188-antix.1-amd64-smp System.map-5.10.188-antix.1-amd64-smp
initrd.img-6.1.42-antix.1-amd64-smp System.map-6.1.42-antix.1-amd64-smp
vmlinuz-5.10.188-antix.1-amd64-smp
vmlinuz-6.1.42-antix.1-amd64-smpLooks OK, doesn't it. Two kernels and two corresponding initrd images. But I couldn't boot with those. And when I examined the initrds, they don't seem to be proper initrds at all, just cpio stubs containing microcode.
Code:$ file /boot/initrd.img-6.1.42-antix.1-amd64-smp
/boot/initrd.img-6.1.42-antix.1-amd64-smp: ASCII cpio archive (SVR4 with no CRC)Code:$ cpio -t --file initrd.img-6.1.42-antix.1-amd64-smp
kernel
kernel/x86
kernel/x86/microcode
kernel/x86/microcode/.enuineIntel.align.0123456789abc
kernel/x86/microcode/GenuineIntel.bin
14064 blocksSo I thought: obviously you need to use mkinitramfs to add a second archive with all the boot stuff and then zip it all up into a working initramfs disk.
No such luck! I couldn't do it with mkinitramfs; I couldn't do it with update-initramfs. Both these scripts run to completion without errors but they don't create anything useful.
I can boot this system using my LFS kernel, which doesn't require an initrd. I can also boot it with its native 6.1.42 kernel and a corresponding initrd image that I made on Slackware. That's what I'm using now. But I would quite like to know how to do it properly :scratch: