• linux kernel is not compiled with all possible disk drivers inside
    • custom proprietary drivers aren’t even included in the linux kernel by default
  • the driver that is required for a specific configuration is loaded as a loadable module
  • that is why the initramfs is used, it contains all drivers required to boot the os and while booting is mounted on / before the actual root file system is mounted there
    • during booting procedual, you will have two different root file systems
  • when the utilities in the initramfs have done their work, the init process is loaded and continues booting from disk
  • initramfs is optional, it can be bypassed while booting and some system start without it

modifiy initramfs

/etc/dracut.conf

  1. add_drivers+="virtoio"
  2. #filesystems+=""

dracut —force

cd /lib/modules/<uname -r>/drivers