为什么我们需要特殊的设备驱动程序来使用 iSCSI HBA 启动 OS?

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

假设我们从 iSCSI LUN 启动 linux,HBA 可以连接到 iSCSI 目标并读取 LUN,甚至在加载 OS 中的设备驱动程序之前的阶段。但在引导过程的某个阶段,open-iscsi 启动器将接管并将 iSCSI 处理再次卸载到 HBA。这需要特殊的驱动程序(例如:- 用于 broadcom 的 bnx2i) 我的问题是现在需要设备驱动程序,特别是当 HBA 在初始引导阶段可以在没有设备驱动程序的情况下工作时? OS 不能识别为 SCSI 设备吗?为什么 OS 需要知道它是 iSCSI 设备?

因为在引导过程中有一个切换点,OS 内核从 BIOS/UEFI 固件接管。那时,OS 需要一些知道如何与设备通信的软件(通常称为驱动程序)。在此之前,系统固件负责管理设备。