分页:
上一页 1 2 3 4 5 6 [7] 8 下一页
echo "scsi add-single-device 0 0 0" > /proc/scsi/scsi
echo "scsi add-single-device 1 0 0" > /proc/scsi/scsi
echo "scsi add-single-device 2 0 0" > /proc/scsi/scsi
/bin/devfsd /dev -np
i=$((i+1))
done
#umount /proc as it will be remounted by the normal init process
umount /proc
#now we simply exit, and the normal boot process should continue
exit 0
我们做的所有操作都是加载适当的模块来支持外置驱动器:它们应该根据需要被解注。(我在内核中构建了所有必需的支持,因此不需要任何模块。)然后我们进行循环,重新扫描SCSI总线(通过将命令回送到 /proc pseudo-filesystem 中的特殊文件,并调用 devfsd ),直到出现根设备(我的例子中为 /dev/sda1)。在我的例子中,讨论的仿真FireWire SCSI总线是100,不过也可以尝试其他的,而不会有任何负面影响-如果您知道要使用的总线,可以裁剪脚本。同样,如果您有其他SCSI设备(或仿真SCSI设备),驱动器可能会有不同的字母(例如,/dev/sdb1)。如果不使用外置驱动器的第一个分区,则需要使用不同的编号(例如,/dev/sda2)。
现在所需要做的就是将相关文件复制到initrd映像中(可以使用mount-o loop 命令安装未压缩的映像)。特别地,需要确保具有linuxrc文件、在其中使用的所有命令和那些命令依靠的所有库。然后,(未装载的)映像可以进行压缩。
接着把内核(bzImage)和initrd像(initrd.gz)复制到(bootable,ext3)软盘中。
最后一步是在软盘中安装引导加载程序,并使用下列选项引导内核:kernel bzImage root=/dev/sda1 initrd=initrd.gz。
现在应该可以使用软盘进行引导:它将从软盘加载内核,将initrd映像加载到RAM中,等待识别根设备,然后像平常一样从那里继续引导。从此以后,可以移除软盘。
分页:
上一页 1 2 3 4 5 6 [7] 8 下一页