mkinitrdは使わずに、mkinitramfsを使う
rocketraid 2322を使っているが、ドライバをコンパイルしてインストールする時にinitrdイメージを作りなおすが、そのinitrdで起動させると、devfs not mountedで/dev/console開けなくてKernel Panicを起こす。。。。
umount: devfs: not mounted pivot_root:No such file or directory /sbin/init: 432: cannot open dev/console: No such file Kernel panic - not syncing: Attempted to kill init!
非常に寂しい。 これなんだろうと探していたら、initrdimgを作るなら、mkinitrdを使うのではなく、mkinitramfsを使う事。(devfsが廃止された事に対応してる) という訳で、rocktraid のdriver のinstall.shをいじった。
対象のファイルは: rr232x-linux-src-v1.07/osm/linux/install.sh
書き換える箇所は
# diff -u install.sh.original install.sh
--- install.sh.original 2008-04-06 14:36:27.463394124 +0900
+++ install.sh 2008-04-06 14:38:08.188686133 +0900
@@ -53,9 +53,9 @@
-which mkinitrd 1> /dev/null 2> /dev/null
+which mkinitramfs 1> /dev/null 2> /dev/null
if test $? -ne 0 ; then
- echo "Can not find command 'mkinitrd'."
+ echo "Can not find command 'mkinitramfs'."
exit 1
fi
@@ -98,7 +98,7 @@
fi
- mkinitrd ${WITHSCSI} ${WITHSD} --with=${TARGETNAME} /boot/initrd-${MODVER}.img ${MODVER}
+ mkinitramfs ${WITHSCSI} ${WITHSD} --with=${TARGETNAME} /boot/initrd-${MODVER}.img ${MODVER}
fi
@@ -127,7 +127,7 @@
fi
- mkinitrd
+ mkinitramfs
else
echo "The compiled module is not for current kernel. /boot/initrd-`uname -r` is not updated."
fi
@@ -138,7 +138,7 @@
fi
- mkinitrd -o /boot/initrd.img-${MODVER} ${MODVER}
+ mkinitramfs -o /boot/initrd.img-${MODVER} ${MODVER}
fi
;;
turbo )
というわけで、このあたりを変更したところうまくブートするようになってくれた。 これ気をつけないとな。
<追記>
これやると、そもそもrr232x.koモジュールがinitrdに入らなくなった。。。。。orz この方法だと、rocketraidをrootファイルシステムにしているものについては、マウントできなくてそのままKernel Panicですねぇ。 まぁ、対策考えないとなぁ。
About this entry
You’re currently reading “mkinitrdは使わずに、mkinitramfsを使う,” an entry on hana saki hoko ru by ryusendo
- Published:
- 2pm on 04/06/08
- Categories:
- linux and debian, pc and server