福原です.
> USB 外付け HDD へ Vine 3.2 をインストールしてみました.
> インストール自体は問題ありませんが,起動がちょっと問題です.
この HDD を別の PC につなげてみると,問題なく起動しました.動作する PC では,USB-HDD が
BIOS で認識(起動時の画面に HDD のモデル名が表示)されていました.
> 3. インストーラが作る initrd には USB のホストドライバ(たぶん)が含まれないので,
> それを含めた initrd を作成します.
>
> # rm /boot/initrd-2.4.31-0vl1.8.img
> # mkinitrd --preload=usb-uhci --preload=ehci-hcd /boot/initrd-2.4.31-0vl1.8.img 2.4.31-0vl1.8
--preload=usb-uhci --preload=ehci-hcd の部分は --with-usb としても大丈夫な
ようです./sbin/mkinitrd を見ると
if [ -n "$needusb" ]; then
drivers=$(awk '/^alias[[:space:]]+usb-controller[0-9]* / { print $3}' < $modulefile)
if [ -n "$drivers" ]; then
for driver in $drivers; do
findmodule $driver
done
findmodule scsi_mod
findmodule sd_mod
findmodule usb-storage
fi
fi
という部分があるので,/etc/modules.conf にある
alias usb-controller usb-uhci
alias usb-controller1 ehci-hcd
という部分から,--preload=usb-uhci --preload=ehci-hcd 相当のことを行うようです.
/etc/modules.conf に
alias scsi_hostadapter usb-storage
という行があるだけでは,--with-usb は有効になりません.この行があれば
usb-storage.o は initrd に含まれるので,usb-controller も initrd に含めて
しまって特に問題ないように思われます.
このように mkinitrd に手を入れてはいかがでしょうか.
> ( ひょっとすると LILO が内蔵ディスクの MBR にあれば,/boot が USB-HDD にあっても
> 大丈夫かもしれません.)
これは駄目でしょうね.内蔵ディスクから起動した時には,BIOS から USB-HDD が
見えてないでしょうから,当然 LILO からも /boot が見えないと思われます.
--
福原 <makoto@xxxxxxxxxxxxxxxxxx>