vine-users ML アーカイブ



[vine-users:064857] mkinitrd のエラーの解決方法について

  • From: Yasufumi Haga <yasufumi.haga@xxxxxxxxx>
  • Subject: [vine-users:064857] mkinitrd のエラーの解決方法について
  • Date: Wed, 03 Mar 2004 21:03:39 +0900 (JST)
こんばんは、芳賀です。

ディスクが SCSI 構成になっているマシンに Vine Linux 2.6 を
インストールし、Vine Linux 2.6 r4 に上げた後で、カーネルを
2.4.25 にアップグレードしようと思ったのですが、その途中で、
mkinitrd で initrd を作成する時に以下のエラーが出ました。

# mkinitrd /boot/initrd-2.4.25.img 2.4.25
# find: /proc/scsi/usb-sto*: そのようなファイルやディレクトリはありません
# basename: 引数の数が少なすぎます
# 詳しくは `basename --help' を実行して下さい.

そこで、[vine-users:063436] を参考に、以下のような変更を
加えたところ正常に終り、現在も問題なく使えています。

ただ、気になるのは、この方法が適切な修正かどうかということ
です。そういう意味では、こういうのは適切なのでしょうか?


% diff -u /sbin/mkinitrd.org /sbin/mkinitrd
--- /sbin/mkinitrd.org  2004-03-03 08:32:26.000000000 +0900
+++ /sbin/mkinitrd      2004-03-03 08:37:19.000000000 +0900
@@ -20,7 +20,7 @@
 #       Preston Brown <pbrown@xxxxxxxxxx>
 
 
-PATH=/sbin:$PATH
+PATH=/sbin:/usr/sbin:$PATH
 export PATH
 
 VERSION=3.4.12
@@ -300,7 +300,7 @@
        esc=$(echo $fs | sed 's,/,\\/,g')
        dev=$(mount | awk "/ on ${esc} / { print \$1 }" | sed 's/[0-9]*$//' | cut -d/ -f3)
        if [ "$(echo $dev | cut -c1-2)" = sd ]; then
-           if [ -z "$usbHosts" -a /proc/scsi/usb-storage-0 ]; then
+           if [ -z "$usbHosts" -a -e /proc/scsi/usb-storage-0 ]; then
                usbHosts=$(find /proc/scsi/usb-sto* -type f | 
                           xargs -n 1 basename)
            fi


  */usr/sbin を追加しないと、kudzu が見つからないというエラーになります。

--Haga