vine-users ML アーカイブ



[vine-users:060753] initrd が作成できない

  • From: KiyonoriMatsumoto <kyo-@xxxxxxxxxxxxx>
  • Subject: [vine-users:060753] initrd が作成できない
  • Date: Fri, 6 Jun 2003 11:16:38 +0900
きよです。

カーネルを kernel-2.4.20-0vl29.1.i686.rpm に
アップデートして、mkinitrd で新しい initrd を作成しようと
したのですが、以下のようなメッセージが出て
initrd を作成できません。

[root@nsp /boot]# mkinitrd /boot/initrd-2.4.20-0vl29.1.img 2.4.20-0vl29.1
find: /proc/scsi/usb-sto*: No such file or directory
basename: too few arguments
Try `basename --help' for more information.

/sbin/mkinitrd のどこかでひっかかっているのだろうと思い
/sbin/mkinitrd を見てみると

 294: needusb=""
 295: usbHosts=""
 296: if [ -z "$nousb" ]; then
 297:     # If / or /boot is on a USB device include the driver. With root by
 298:     # label we could still get some odd behaviors
 299:     for fs in / /boot ; do
 300:   esc=$(echo $fs | sed 's,/,\\/,g')
 301:   dev=$(mount | awk "/ on ${esc} / { print \$1 }" | sed 's/[0-9]*$//' | cut -d/ -f3)
 302:   if [ "$(echo $dev | cut -c1-2)" = sd ]; then
 303:       if [ -z "$usbHosts" -a /proc/scsi/usb-storage-0 ]; then
 304:           usbHosts=$(find /proc/scsi/usb-sto* -type f | 
 305:                      xargs -n 1 basename)
 306:       fi
 307: 
 308:       host=$(kudzu --probe -b scsi |
 309:         gawk '/^device: '${dev}'/,/^host:/ { if (/^host/) print $2; }') 
 310:       if echo " $usbHosts " | grep " $host " > /dev/null; then
 311:           needusb=1
 312:       fi
 313:   fi
 314:     done
 315: fi

このあたりで usb関連のモジュールの検出(?)を行っていて
上記エラーメッセージは、305行目で basename コマンドに
引数を渡せていないために出ているようです。

対象のホストでは USBデバイスは一切使用していないので
296行目の if をスキップさせてしまえばよさそうに思える
のですが、どうすれば良いのでしょうか。
また、スキップしてしまっても問題ないでしょうか。

対象ホストの /etc/modules.conf は以下のようになっています。
alias parport_lowlevel parport_pc 
alias char-major-10-175 agpgart 
alias char-major-107 3dfx 
alias scsi_hostadapter aic7xxx 
alias eth0 eepro100 
alias parport_lowlevel parport_pc 

他にも必要な情報があれば、ご指摘下さい。

以上、よろしくお願いいたします。