Le 29/03/2020 ? 07:46, address@hidden a ?crit :
One more question. Initrd is what actually reads and executes grub and
friends?
I don't know what you mean by "friends" but no, the initrd does not read and
execute GRUB.
Boot sequence is :
- platform firmware (BIOS, UEFI) loads and run GRUB
- GRUB loads kernel image (vmlinuz) and initramfs (initrd) into memory
- GRUB boots kernel
- kernel mounts initramfs as initial root filesystem and runs /init
- /init mounts the actual root filesystem (and /usr if needed) and runs
/sbin/init
The initramfs is also in charge of making the root device appear in some
situations such as LVM, software RAID or block level encryption. The kernel
cannot do it by itself because it requires userspace tools and configuration.
Note that the initramfs may be embedded into the kernel image instead of
being a separate file.
In the system I am running, antiX, initrd is much bigger than vmlinuz.
This is a common situation. General purpose distributions provide a kernel
image which includes only essential drivers and build a generic initramfs
which contains all drivers (modules) for storage devices and filesystems,
which makes it quite big. This way only modules required for the current
hardware are loaded into memory. The initramfs generator tool may have a
configuration option which allows to build a compact initramfs which contains
only required modules for the hardware.
On the other hand, Knoppix 7.2 has a larger kernel and a smaller minirt.gz
file. I am guessing Knoppix adds another boot level to getting the final
linux system up and running?
I don't know about Knoppix. Maybe the kernel image contains more drivers.