こんばんは、芳賀です。
ディスクが 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