• 0 Posts
  • 127 Comments
Joined 2 years ago
cake
Cake day: June 29th, 2023

help-circle










  • The reason for initramfs is because if you build your block or filesystem drivers as modules the kernel can’t boot without loading the modules and can’t load the modules without said modules and therefore causing a chicken and egg problem. Reading a folder without all necessary boot drivers just isn’t possible. That’s why the bootloader is responsible for loading initramfs into system memory, the kernel can read it with 0 drivers required. Getting rid of it can be done but ALL of your boot drivers need to be statically linked into the kernel image so that the kernel doesn’t need any modules to get the rootfs mounted. Ironically EFI can be used to obsolete initramfs in theory since the kernel can read data from the ESP without any drivers being required so putting modules in a folder on the ESP would work for EFI enabled systems









  • Just to play devil’s advocate. Until rust gets a production ready GCC backend or LLVM gets more esoteric HW support there are probably some platforms that cannot run rust. That being said… realistically I think by the time rust becomes a large enough part of the kernel for it to matter the issue will have been sorted out as there are already 2 GCC implementations of rust in development…