さて,install が終了したら,HDD を PORTEGE に戻して起動させてみます。 ここで,私の場合 / が mount できなくて single user mode でしか 起動しませんでした。
can't open device /dev/dsk/c0d0s0
一般に DeskTop 機は PCI バス上に IDE の controller が繋がっているため, / file system のための device は (多少の違いはあれ) 以下のようになっていると思います。
# ls -l /dev/dsk/c0d0s0 /dev/dsk/c0d0s0 -> ../../devices/pci@0,0/pci-ide@c,1/ata@0/cmdk@0,0:a,raw
しかし PORTEGE では,IDE は ISA 上の device となります。 Secondary Boot で interactive を選択し,show-devs を実行してみましょう。
> show-devs +boot/memory@0,0 i86pc-memory@0,0 i86pc-mmu@0,0 packages@0,0 isa/motherboard@1,61 isa/asy@1,3f8 isa/lp@1,378 isa/fdc@1,3f0 isa/kd@1,60 isa/kdmouse@1,60 isa/PNP0E03@1,3e0 isa/YMH0021@1,220 isa/bios@0,c0000 isa/bios@0,cc000 isa/ata@1,1f0 pci@0,0 pci@0,0/pci1179,1@0 pci@0,0/pci1179,1@4 pci@0,0/pci1179,1@b pci@0,0/pci1179,1@11 pci@0,0/pci1179,1@13 pci@0,0/pci1179,1@13,1
この isa/ata@1,1f0 と表示されているのがそれです。 で,/dev/dsk/c0d0s0 の sym-link を,こちらを指すように 変更しないといけないわけです。現在の問題を依存関係順に整理すると,
ここで堂々巡りに陥っているかのように見えますが,一時的に remount する ための device file は,どこに作成しても構いません。なので,とりあえず 書ける file system を用意して,そこに device file を作成します。 私の場合,
# mount /tmp
とすると /tmp に書けるようになったので,これを利用する ことにしました。違う directory を使用する場合は,以下適宜読みかえて ください。
で,まず /tmp/devices を作成します。
# mkdir /tmp/devices # drvconfig -r /tmp/devices
これだけです。次に,/tmp/dev/dsk を作成します。
# disks -r /tmp
これで,remount のための準備は整いました。念のため,ちゃんと device file が作成されているか確認してみます。
# ls -l /tmp/dev/dsk/c0d0s0 /tmp/dev/dsk/c0d0s0 -> ../../devices/isa/ata@1,1f0/cmdk@0,0:a
と,isa/ata@1,1f0 への sym-link になっていれば O.K. です。あとは,これを使って / を remount します。
# mount -F ufs -o remount /tmp/dev/dsk/c0d0s0 /
df コマンドで,/ が remount できたか確認してください。このとき,/ エントリが 2つ 見えるかもしれませんが,気にしなくても O.K. です (^^;。
# df /proc (/proc ): 0 blocks 1410 files / (/dev/dsk/c0d0s0 ): 3749858 blocks 363983 files /dev/fd (fd ): 0 blocks 0 files /tmp (swap ): 1193808 blocks 15627 files / (/tmp/dev/dsk/c0d0s0 ): 3749858 blocks 363983 files
これで / に書きこみができるようになり,やっと device file を作り直す準備ができました。あとは,/tmp に対して行ったのと同様に,device file を作りなおすだけです。
# drvconfig # disks -C
disks コマンドには,-C オプションを つけてください。
念のため,device file が作り直されているか確認しておきましょう。 私の場合,なぜか作り直した device file では,controller number が 2 になってしまっていました (^^;。このため,/etc/vfstab を書き直す必要がありました。
# ls -l /dev/dsk/c0d0s0 /dev/dsk/c0d0s0: No such file or directory # ls -l /dev/dsk/c2d0s0 /dev/dsk/c2d0s0 -> ../../devices/isa/ata@1,1f0/cmdk@0,0:a
これで reboot をかけると,見事,起動するようになります。 `/' が mount できるようになったことを確認したら,一度 sys-unconfig をかけることをおすすめします。
# sys-unconfig
さて,これでも bootpath の設定が PCI を指したままなので, 起動する度に毎回 Device Configuration Assistant が起動 してしまいます。
これを避けるために一度 Device Configuration Assistant で Boot Tasks を選択して,Property Settings において bootpath の 値を変更してください。
/isa/ata@1,1f0/cmdk@0,0:a