linux 如何进行光驱搜索

最近在做一个光盘引导的linux系统,内核启动后,调入cpio包文件系统,在init脚本中执行搜索光驱工作:

其中有一种做法是:

for i in /proc/ide/hd*

do

        if test `cat $i/media` = "cdrom" ; then

           ......

        fi

done

 

但这种做法在scsi光驱的机器上,启动将失败。

我将lfs6.3livecd的引导光盘的cpio包解开,得到它的init脚本,发现它查找cd的方法是:

for SYS in /sys/block/hd* /sys/block/sr*; do......

      [! 0d "$SYS" ] && continue

     [ -f "$SYS/media" ] && read MEDIA < "$SYS/media" && [ "$MEDIA" != "cdrom" ] && continue

done

它在/sys/bock中查找,但我利用initramfs直接进入bash,检查/sys/block/sr0中,并没有发现有media项,真是奇怪了。。。。。。

但/dev/sr0能够正确手动挂载,

有没有人知道一种在init脚本中,查寻cdrom较全面的方法?

你可能感兴趣的:(linux 如何进行光驱搜索)