Page 1 of 1
limine mergeinitrd1
Posted: Thu Jan 02, 2025 7:37 pm
by libertas
Hi,
I want to have several puppy derived systems in my new laptop and have installed rEFInd and limine.
This limine.cfg entry is fine, as it loads the savedir location from an encrypted LUKS partition.
Code: Select all
:Fatdog (partition nvme0n1p7, direct, initrd)
PROTOCOL=linux
KERNEL_CMDLINE="savefile=direct:uuid:54a32cdd-caa5-40d9-8059-fac82c11868c:FatDog/fd64save:dmcrypt waitdev=5 pkeys=pt"
KERNEL_PATH=guid://aba5be6d-f6ee-48a3-a7a0-2dde3777d418/FatDog/vmlinuz
MODULE_PATH=guid://aba5be6d-f6ee-48a3-a7a0-2dde3777d418/FatDog/initrd
But when trying to use initrd-nano and afterwards the mergeinitrd1 parameter, the boot process complains that cannot load the base SFS. So, it seems that mergeinitrd1 is not working:
Code: Select all
:Fatdog (nvme0n1p7, ram, initrd-nano)
PROTOCOL=linux
KERNEL_CMDLINE=" mergeinitrd1=guid://aba5be6d-f6ee-48a3-a7a0-2dde3777d418/FatDog/initrd savefile=ram:uuid:54a32cdd-caa5-40d9-8059-fac82c11868c:FatDog/fd64save:dmcrypt waitdev=5 pkeys=pt"
KERNEL_PATH=guid://aba5be6d-f6ee-48a3-a7a0-2dde3777d418/FatDog/vmlinuz
MODULE_PATH=guid://aba5be6d-f6ee-48a3-a7a0-2dde3777d418/FatDog/initrd-nano
What should I change for initrd to be loaded?
Re: limine mergeinitrd1
Posted: Fri Jan 03, 2025 10:53 am
by libertas
libertas wrote: Thu Jan 02, 2025 7:37 pm
But when trying to use initrd-nano and afterwards the mergeinitrd1 parameter, the boot process complains that cannot load the base SFS. So, it seems that mergeinitrd1 is not working:
Code: Select all
:Fatdog (nvme0n1p7, ram, initrd-nano)
PROTOCOL=linux
KERNEL_CMDLINE=" mergeinitrd1=guid://aba5be6d-f6ee-48a3-a7a0-2dde3777d418/FatDog/initrd savefile=ram:uuid:54a32cdd-caa5-40d9-8059-fac82c11868c:FatDog/fd64save:dmcrypt waitdev=5 pkeys=pt"
KERNEL_PATH=guid://aba5be6d-f6ee-48a3-a7a0-2dde3777d418/FatDog/vmlinuz
MODULE_PATH=guid://aba5be6d-f6ee-48a3-a7a0-2dde3777d418/FatDog/initrd-nano
What should I change for initrd to be loaded?
As per another thread suggestion, I removed the quotation marks in KERNEL_CMDLINE line.
The console keymap is recognized as pt.
The boot process asks for the LUKS encrypted partition key.
But Cannot find /fd64.sfs from anywhere.
Removed the mergeinitrd1=guid://aba5be6d-f6ee-48a3-a7a0-2dde3777d418/FatDog/initrd from KERNEL_CMDLINE and placed at the end of the MODULE_PATH, but it results in a boot error.
Re: limine mergeinitrd1
Posted: Sat Jan 04, 2025 9:20 pm
by step
libertas wrote: Fri Jan 03, 2025 10:53 am
libertas wrote: Thu Jan 02, 2025 7:37 pm
But when trying to use initrd-nano and afterwards the mergeinitrd1 parameter, the boot process complains that cannot load the base SFS. So, it seems that mergeinitrd1 is not working:
Code: Select all
:Fatdog (nvme0n1p7, ram, initrd-nano)
PROTOCOL=linux
KERNEL_CMDLINE=" mergeinitrd1=guid://aba5be6d-f6ee-48a3-a7a0-2dde3777d418/FatDog/initrd savefile=ram:uuid:54a32cdd-caa5-40d9-8059-fac82c11868c:FatDog/fd64save:dmcrypt waitdev=5 pkeys=pt"
KERNEL_PATH=guid://aba5be6d-f6ee-48a3-a7a0-2dde3777d418/FatDog/vmlinuz
MODULE_PATH=guid://aba5be6d-f6ee-48a3-a7a0-2dde3777d418/FatDog/initrd-nano
What should I change for initrd to be loaded?
As per another thread suggestion, I removed the quotation marks in KERNEL_CMDLINE line.
The console keymap is recognized as pt.
The boot process asks for the LUKS encrypted partition key.
But Cannot find /fd64.sfs from anywhere.
Removed the mergeinitrd1=guid://aba5be6d-f6ee-48a3-a7a0-2dde3777d418/FatDog/initrd from KERNEL_CMDLINE and placed at the end of the MODULE_PATH, but it results in a boot error.
I don't have a limine bootloader for testing, but here's my thinking. The mergeinitrd1 parameter must follow the correct fatdog format for that parameter; but it seems to be using a limine format in your KERNEL_CMDLINE.
The parameter is specified as follows: mergeinitrd{n}=[wait:]location:path:[crypt]:[init-func]
. Refer to the "mergeinitrd{n}" section of https://distro.ibiblio.org/fatdog/web/f ... tions.html for details. What I think is happening in your case is, the limine guid
is taken as fatdog's location
but "guid" is not a valid location (only "device", "label", "uuid", "local" and "usb" are).