为什么我们需要特殊的设备驱动程序来使用iSCSI HBA启动操作系统?
问题描述:
假设我们从iSCSI LUN引导Linux,即使在加载操作系统中的设备驱动程序之前的阶段,HBA也可以连接到iSCSI目标并读取LUN。但是,在启动过程的某个阶段,开放式iscsi启动器将接管并将iSCSI处理再次卸载到HBA。这需要特殊的驱动程序(例如: - broadcom的bnx2i)我的问题是现在需要设备驱动程序,尤其是在初始引导阶段HBA可以在没有设备驱动程序的情况下工作吗?操作系统不能将其识别为SCSI设备?为什么操作系统需要知道它是一个iSCSI设备?为什么我们需要特殊的设备驱动程序来使用iSCSI HBA启动操作系统?
答
由于OS内核从BIOS/UEFI固件接管的引导过程中存在切换点。此时,操作系统需要一些知道如何与设备对话的软件(通常称为驱动程序)。在此之前,系统固件正在管理设备。