- 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
add_drivers+="virtoio"
#filesystems+=""
dracut —force
cd /lib/modules/<uname -r>/drivers