insmod /lib/scsi_mod.ko
echo "Loading sd_mod.ko module"
insmod /lib/sd_mod.ko
echo "Loading BusLogic.ko module" (这是VMWare虚拟机要用的BusLogic驱动,如果不是为了同一个内核也启动在VMWare里,那这个删了或没有或省去都不重要)
insmod /lib/BusLogic.ko
insmod /lib/usbcore.ko (从这里依次加载usb核心模块、1.1总线支持、2.0总线支持、最后加载usb-storage)
echo "Loading USB 1.1 Host Driver"
insmod /lib/uhci-hcd.ko
echo "Waiting for Device Ready"
echo "Loading USB 2.0 Host Driver"
insmod /lib/ehci-hcd.ko
echo "Waiting for Device Ready"
echo "Loading USB-Storage Driver"
insmod /lib/usb-storage.ko
(关键在这里,加载完usb-storage后不能马上继续引导,要等数秒钟让设备就序)
sleep 10
insmod /lib/ub.ko
(我这里是启动了一个ash来等着调试,实际使用完全不需要)
busybox ash
mkblkdevs
resume LABEL=SWAP-sda6
echo Creating root device.
mkrootdev -t ext3 -o defaults,ro sda5
echo Mounting root filesystem.
mount /sysroot
echo Setting up other filesystems.
setuproot
echo Switching to new root and running init.
switchroot
这里是2.6核心的,相对来说,2.6带的usb驱动适应能力也比2.4的强了一些,在2.4版下,我试过需要先加载usbcore,再加载usb-storage(己经支持存储设备而没有发现设备),再加载uhci-hcd,让设备进入1.0总线,并等待10秒,再加载ehci-hcd,让设备离开1.0总线进入2.0总线,并等待10秒,最后才加载scsi-sd,得到scsi硬盘设备,还得再用sfdisk -R /dev/sda强制重新读取硬盘分区。