[ CCing to debian-kernel to see what people think. ] In case this bug gets reassigned to initrd-tools here's a patch for mkinitrd that also makes sense. It'll now try /dev/fd, then /proc/self/fd, then bail. For those just joining us: MAKEDEV doesn't create /dev/fd on sparc, initrd-tools cries a river when it can just use /proc/self/fd. So which is broken, makedev or initrd-tools? -- Joshua Kwan
diff -urN bah/initrd-tools-0.1.71/mkinitrd initrd-tools-0.1.71/mkinitrd
--- bah/initrd-tools-0.1.71/mkinitrd 2004-07-01 08:02:43.000000000 -0700
+++ initrd-tools-0.1.71/mkinitrd 2004-07-06 11:53:51.000000000 -0700
@@ -1190,10 +1190,15 @@
ROOT=${croot-$ROOT}
MKIMAGE=${cmkimage-$MKIMAGE}
-[ -d /dev/fd ] || {
- echo "$PROG: /dev/fd does not exist" >&2
+if [ -d /dev/fd ]; then
+ FD=/dev/fd
+elif [ -d /proc/self/fd ]; then
+ FD=/proc/self/fd
+else
+ echo "$PROG: neither /dev/fd or /proc/self/fd exists!" >&2
+ echo "Try mounting the proc filesystem: mount -tproc none /proc" >&2
exit 1
-}
+fi
DSIG=
exittrap='if [ $DSIG ]; then trap - "$DSIG"; kill -s $DSIG $$; fi'
@@ -1219,4 +1224,4 @@
umask "$UMASK"
gendir $workdir
-eval "$(printf "$MKIMAGE" $workdir/initrd /dev/fd/3)" 3>&1 >&2
+eval "$(printf "$MKIMAGE" $workdir/initrd $FD/3)" 3>&1 >&2
Attachment:
signature.asc
Description: Digital signature