esotechnica - 2024-06-12

I'm curious as to how the kernel manages to load the initrd image once execution is handed off to the kernel after rEFInd loads it.

My understanding is that rEFInd loads the kernel into memory, and executes it just like any other EFI application, passing it the kernel command line parameters (including 'initrd=xxx' parameters). But how does the kernel then load the initrd image? My understanding is that the kernel has no filesystem drivers (isn't this the whole point of initial ramdisks?), and in any case the initrd command line parameter doesn't contain enough information anyway. It's just a file path. But to what disk? To what partition?

Can anyone shed some light on the technical details involved?