linux-device-driverbootbiosiscsi

Why do we need special device drivers for booting OS using iSCSI HBA?


Suppose we are booting linux from an iSCSI LUN, the HBA can connect to the iSCSI target and read the LUNs, even during the stages before the device drivers in the OS are loaded. But during some stage the boot process, the open-iscsi initiator will take over and it will offload the iSCSI processing again to the HBAs. This requirs special drivers(eg:- bnx2i for broadcom) My question is the device driver is needed now especially when the HBA can work without the device driver during the initial boot stages? Can’t the OS identify it as a SCSI device? Why does the OS need to be aware that it is an iSCSI device?


Solution

  • Because there is a handoff point in the boot process where the OS kernel takes over from the BIOS/UEFI firmware. At that point, the OS needs some software that knows how to talk to the device (commonly called a driver). Prior to that, the system firmware was managing the device.