2017-06-01 16:56 — asano
中を一通り見たところでインストール開始したのですが、実はまだ完了していません。
前回書いたようにSO-DIMMは手持ちの4GBに交換し、HDDはそのまま320GBのものを使用することにします。キーボードはちょうど手元にあったHappy Hacking Keyboard ProfessionalをUSB接続して、ディスプレイはVGA (アナログ)での接続です。
インストール方法はUSBでCD-ROM/DVD-ROMを繋いで行なうのが一般的ですが、その後の環境構築まで考えると結構面倒です。幸いNetBSDを使用中の環境があるのでそのクローンを作ることにしました。
候補となる環境は一つはこのサイトを運用しているPC、もう一つはLenovo ThinkPad X60です。どちらからでもできないことはありませんが、構成の近い後者を採用することにします。
まずはHDDをコピーします。コピー元となるX60は普通にNetBSDを起動しておいて、コピー先のHDDをUSBで接続します。
一つ持っているとPCが壊れたときのデータ救出にも使えて便利です。
X60内蔵ドライブは「wd0」、USBで接続したドライブは「sd0」として認識されます。
内容をコピーする前にコピー元のdisklabelを見ておきましょう。
# /dev/rwd0d: type: SCSI disk: 00BEVT-35A0RT0 label: fictitious flags: bytes/sector: 512 sectors/track: 63 tracks/cylinder: 16 sectors/cylinder: 1008 cylinders: 16383 total sectors: 976773168 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # microseconds track-to-track seek: 0 # microseconds drivedata: 0 8 partitions: # size offset fstype [fsize bsize cpg/sgs] a: 2064384 0 4.2BSD 1024 8192 0 # (Cyl. 0 - 2047) b: 8257536 2064384 swap # (Cyl. 2048 - 10239) d: 976773168 0 unused 0 0 # (Cyl. 0 - 969020) e: 2064384 10321920 4.2BSD 1024 8192 0 # (Cyl. 10240 - 12287) f: 16515072 12386304 4.2BSD 1024 8192 0 # (Cyl. 12288 - 28671) g: 264241152 28901376 4.2BSD 1024 8192 0 # (Cyl. 28672 - 290815) h: 683630640 293142528 4.2BSD 1024 8192 0 # (Cyl. 290816 - 969020)
「type」のようにおかしな値が入っているところもありますが、実害の無いものはそのままにしています。total sectorsによるとこれは500GBのようですね(以前換装しています)。コピー先は320GBしかありませんが、起動に必要なgパーティションまでは320GB内に収まっているのでこのままコピーすることにします。
ここでもう一つ気になる点は、コピー元は512バイトセクタなのに対してコピー先が4096バイトセクタになっていることです。ソフトウェアからはどちらも512バイトセクタに見えるのでコピー自体は問題なくできるはずですが、ファイルシステムの管理単位とハードウェアのセクタが整合していないとパフォーマンスが低下します。普通にお任せでインストールするとセクタ63から使われ整合しない状態となるのですが、幸いなことにセクタ0からインストールされているのでこれもそのままで良さそうです。
実際のコピーは以下のようにして行ないました。
disklabel -W sd0 dd if=/dev/rwd0d of=/dev/rsd0d
最初の行は一部書き込みがプロテクトされているので、それを解除して全領域書き込みできるようにするため。コピー先の方が小さいのでエラーで止まりますが、必要な部分はコピーされているはずです。
この後、/dev/sd0a (新HDDのroot partition)を仮にマウントして必要最小限の設定を変更します。
mount /dev/sd0a /mnt
おもな変更点は
- hパーティションを使用しないようにする
- telnetできるように固定IPアドレス設定
umount /mnt
最後にマウントを外して変更は終了です。
それではこのHDDを取り付けて起動してみます。
カーネルは正常に読み込まれたのですが、起動中に止まってしまいました。
panic: kernel diagnostic assertion "!wskbd_console_initted" failed: file "/e0/src/sys/dev/wscons/wskbd.c", line 540
USBキーボードが悪さをしているようです。
(続く)
コメントを追加