-
Notifications
You must be signed in to change notification settings - Fork 99
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Initramfs specified by INITRD= not found by Linux #52
Comments
I suspected it might have something to do with telling the kernel where the initramfs is loaded here in
I tried replacing this block with struct names as specified in https://www.kernel.org/doc/Documentation/x86/boot.txt:
but that had no effect. |
if you need to point to where the kernel is in memory, use the initrdmem option. No need to hack code. |
What about kernels before 5.8 (I'm using 4.14.62)? The Linuxboot DXE is already loading the initramfs and pointing the kernel header to it (the code block I referenced) like a bootloader (e.g. GRUB) would. I assume this worked before? Perhaps the other obligatory fields mentioned in Documentation/x86/boot.txt need to be set as well. |
@rminnich Sorry, I realize that my initial comment was ambiguous and I have reworded it. I'm specifying |
Looks like the kernel still needs the For 4.14.62:
For a more contemporary kernel like 5.16-rc3:
|
Perhaps Linuxboot could support the newer EFI stub v1.0 which finds and load the initrd which is exposed via the LoadFile2 protocol? |
When testing with the QEMU board, Linux seems to be unable to find the initramfs passed via
INITRD=
in themake
command, only seeming to work when the initramfs is compiled into the kernel viaCONFIG_INITRAMFS_SOURCE
.For instance, when building the QEMU board with Linux 4.14.62 and the following
make
command:...the following is the trimmed output of Linux:
The kernel cannot find the initramfs.cpio.xz, even though it is included in the
linuxboot.rom
.EDIT: Clarified that
INITRD=
is a build parameter, not a kernel parameter.The text was updated successfully, but these errors were encountered: