@iska@mstdn.starnix.network @Suiseiseki It sure does! the bootloader reads initrd image and just passes it to the kernel. Kernel doesn't know shit about most file systems at this point. The init itself is in initrd image (so initrd comes first), so are the filesystem modules. Init inserts filesystem modules (and the modules required for the block devices to work) into the kernel then mounts the real root filesystem, now that it has the proper filesystem support and has the block device accessible.

Follow

@iska@mstdn.starnix.network @Suiseiseki Then a lot of other shit happens, agetty or something similar gets started and you get the login prompt. At last!
Thing is, if real root filesystem is not accessible: block device is not accessible, filesystem is not supported or it is damaged — you won't get the login prompt. But you will still see the errors in *framebuffer* console.

@iska@mstdn.starnix.network @Suiseiseki initrd is optional, but most linux-based operating systems use it as it has some advantages. For example, you can have filesystem support built as kernel modules, including support for the filesystem your real root partition has. Otherwise you'd have to have them built into the kernel.

Sign in to participate in the conversation
Librem Social

Librem Social is an opt-in public network. Messages are shared under Creative Commons BY-SA 4.0 license terms. Policy.

Stay safe. Please abide by our code of conduct.

(Source code)

image/svg+xml Librem Chat image/svg+xml