vine-users ML アーカイブ



[vine-users:073211] Re: 外付け HDにインストールする方法

  • From: FUKUHARA Makoto <makoto@xxxxxxxxxxxxxxxxxx>
  • Subject: [vine-users:073211] Re: 外付け HDにインストールする方法
  • Date: Wed, 19 Oct 2005 23:01:25 +0900
福原です.

Tazoe Kazuya wrote:

>  initrd を作成しておけば、SCSI と同様なブートが可能になるのでしょう
> か?kernel は BIOS 配下に存在していれば読み込めると思いますが、モジュー
> ル類も BIOS 配下に存在していないと、USB デバイスのドライバが読み込みされ
> ず、USB HDD 上にあるパーティションが読めないように感じられるのですが、
> initrd を作成しておけば、対応できるものなのでしょうか?

USB HDD にアクセスするために必要なモジュールが initrd に含まれていれば,
対応できます.


mkinitrd で作成される initrd は gzip で圧縮されているので,次のようにすれば
内容を見ることが出来ます.

( /boot 以外のディレクトリで )
zcat /boot/initrd-2.4.31-0vl1.8.img > initrd.img
mount -o loop initrd.img /mnt

USB-HDD 対応の initrd を上記方法で見てみると,/mnt/linuxrc に次の部分があります.

echo "Loading usb-uhci.o module"
insmod /lib/usb-uhci.o
echo "Loading ehci-hcd.o module"
insmod /lib/ehci-hcd.o
echo "Loading scsi_mod.o module"
insmod /lib/scsi_mod.o
echo "Loading sd_mod.o module"
insmod /lib/sd_mod.o
echo "Loading usb-storage.o module"
insmod /lib/usb-storage.o

こういう形でモジュールがロードされるようになっているので,SCSI と同様に
kernel 本体 (vmlinuz) だけでは USB-HDD にアクセスできなくても,モジュールの
ロード後は USB-HDD にアクセスできるようになります.その後で本来の / を
/sysroot に mount して pivot_root します.

-- 
  福原 <makoto@xxxxxxxxxxxxxxxxxx>