参考までに、これまでの話。
Windowsでのディスククラッシュの影響で、いくつかのファイルが壊れてしまったFreeBSD 5.4が信用できないこともあり、FreeBSD 5.4のsnapshotバージョンをアップグレード・インストールしてみました。そういう障害復旧のためでなくても、たまにセキュリティーホールの修正が入ったりするので、いつまでもX.X-RELEASEバージョンを使わずに、アップデートしたほうがよいでしょうね(面倒でやらないことも多いけど、以下略)。
今回は、VMwareらしく、とっても楽チンな方法、インストール用フロッピーディスクを作成せずにインストールする方法をとりました。
FreeBSD snapshotsについてはこちら
http://www.jp.freebsd.org/snapshots/
(1) インストール用フロッピーイメージの入手
インストール用フロッピーディスクのイメージファイルをダウンロードします。
boot.flp、kern1.flp、kern2.flpの3つが必要です。
ここらへんからダウンロードできます。
HTTPで
http://snapshots.jp.freebsd.org:8021/pub/FreeBSD/snapshots/i386/
FTPで
ftp://snapshots.jp.freebsd.org/pub/FreeBSD/snapshots/i386/
今回はとりあえず、最新の5.4-STABLE-20051125-JPSNAPを入れることにして、その下のfloppiesの中から、イメージファイルをダウンロードしました。
ダウンロードしたファイルはすべて、VMwareのvmxファイルや、仮想ディスクイメージファイルが置かれているのと同じフォルダへ入れておきます。
(2) vmxファイルの編集
VMwareのvmxファイルをテキストエディタ編集して、フロッピーディスクのイメージファイルを、仮想マシンでフロッピーディスクとして認識できるようにします。
floppy0.present = "TRUE"
floppy0.startConnected = "TRUE"
floppy0.fileName = "fd.img"
floppy0.fileType = "file"
こんな風にvmxファイルを書き換えます。fd.imgが、フロッピーディスク・イメージのファイル名になります。
ちなみに、イメージファイルを絶対パスで、floppy0.fileName = "C:/Temp/fd.img"とかいう風に指定することもできます。
(3) インストーラの起動まで
ダウンロードしたイメージファイルのうち、boot.flpのファイル名を、先ほどvmxファイル中で指定したfd.imgへ変更します。
vmxファイルをダブルクリックして、VMware Playerを実行します。
仮想マシンが、フロッピーディスクから起動して、いつものFreeBSDをフロッピーで起動してインストールするときの画面になります。
仮想マシンがフロッピーから起動しない場合は、以下をチェック!
- ウィンドウの上の枠にならんでいる「Floppy」というボタンが押されているか?(仮想マシン上でフロッピーが使えるようになっているか?)
- フロッピーのイメージファイルの名前が間違っていないか?ファイルは本当に存在しているか?
- 仮想マシンで、起動デバイスが、フロッピーになっているか?
「Kernel floppy 1」を入れろ、といわれています。
フロッピーを入れ替えなければならないのですが、ちょっと面倒なことをします(もっとうまい方法があるかも)。
- ウィンドウの上の枠にならんでいる「Floppy」というボタンを1回クリックして、仮想マシン側でのフロッピーをはずします(disconnect状態にする)。
- ファイル名fd.imgを、元のboot.flpへ戻します。
- ファイル名kern1.flpを、fd.imgへ変更します。
- ウィンドウの上の枠にならんでいる「Floppy」というボタンを1回クリックして、仮想マシン側でのフロッピーが使えるようにします(connect状態にする)。
これで、フロッピーディスクが交換されたことになります。インストール作業を続行するために、仮想マシン内で、何かキーを押します。
しばらくすると、「Kernel floppy 2」を入れろ、といわれています。同様の手順で、フロッピーを入れ替えを行います。
- フロッピーをdisconnect
- fd.imgをkern1.flpへファイル名変更
- kern2.flpをfd.imgへファイル名変更
- フロッピーをconnect
また、しばらくすると、「boot floppy」を入れろ、といわれています。同様の手順で、フロッピーを入れ替えを行います。
- フロッピーをdisconnect
- fd.imgをkern2.flpへファイル名変更
- boot.flpをfd.imgへファイル名変更
- フロッピーをconnect
とくにトラブルがなければ、これで、FreeBSDのインストーラが起動するはずです。
FreeBSDのインストーラは、この部分でのエラー処理が不親切で、フロッピーの入れ替え作業を失敗すると、おかしな状態のまま先にすすんでしまいます。失敗したら、面倒ですが、仮想マシンをリセットして(Playerというところをクリックするとメニューが表示されるので、[Troubleshoot]のなかの[Reset]を選ぶ)、最初からやりなおします。
今回は、フロッピーイメージを使っているので、ちょっと面倒なことになっています。もしも、CDのISOイメージがあるのなら、6.0をインストールしたときと同じ方法が使えるので、入れ替えの手間なくインストールできます。
ちなみに、よくわかりませんが、カーネルが起動する途中で、ad0が認識されたあと、妙に長時間待たされました。見なかったことにします。エヘ
(4) アップグレード・インストール
sysinstall Main Menuにて「Upgrade」を選びます。
本当にアップグレードするのかと警告されます。
何をインストールするか選べ、と言われます。
Customを選んでから、具体的に、base、dict、doc、games、info、manを選びました。
どれをアップグレードするのか教えてくれ、といわれます。よっぽど複雑なインストール方法をしていない限り、ここで何をするかというと、ただ単に、ファイルシステムのマウントポイントを指定するだけです。
くれぐれも、newfsしないでね、と親切に警告メッセージがでていますよ。newfsすると、既存のファイルが全部消えちゃいます。newfsするつもりなら、よっぽどの理由がない限り(一部のファイルシステムだけぶっ壊れている、とか)、アップグレードインストールではなく、普通の新規インストールをするべきでしょうね。
次に進むと、disklabelエディタがでてきます。
ad0s1aを/にマウント。なぜか、いつも、SoftUpdateのフラグがたたないので、Sキーを押して、UFS2+Sという表示になるようにしておきました。意味あるのかわかりません。
次に、fsckが実行されて、ファイルシステムに異常がないかチェックされます。
現在の/etc以下のファイルを残しておくために、バックアップ先ディレクトリを指定します。
インストール用データをどっからとってくるかを指定します。ここは、新規インストールするときと同じです。
FTP、HTTPなどでインストールできます。
ファイル配布元としては、「Snapshots Server Japan snapshots.jp.freebsd.org」を選びます(つまりはインストール用フロッピーのイメージファイルをダウンロードしたところ)。
ネットワークインターフェイスの設定をします。
VMwareでは、NICはlnc0になります。
FTPやHTTPでインストールするのに、ファイルをネットワークからもってこなければならないので、そのためのネットワーク設定を行います。
VMwareのEthernetをNATで動かしている場合は、DHCPでアドレスを取得するようにすればよいはずですが・・・
なぜかうまくいかなかったので、手で指定してみました。
(あとでわかったこと) 10.0.2.15など、QEMUで使っていたアドレスやホスト名がでてくるので、変だなと思ったのですが、/etc/hostsから情報をひっぱってきているみたい?です。QEMUからの引越しの際には、IPアドレスが変わってしまうので、/etc/hostsの修正も必要ですね。
指定すべき値を忘れてしまったら、Alt+F4を押すとシェルが動いているはずなので、そこで/etc/rc.confを確認するか、または、一番確実だと思われる方法は・・・こんな感じ。
VMware Playerがインストールされたフォルダ(「C:\Program Files\VMware\VMware Player」とか)のなかに、vmnetcfg.exeというアプリケーションがあるので、これを起動します。
「DHCP」というタブを開くと、仮想マシン側のネットワークアドレスがわかります。
この図では、VMmet8のサブネットとして「192.168.217.0」と表示されているので、192.168.217.128としました(最後が128なのは経験にもとづく、適当な値)。
とくに問題なければ、このまますんなりアップグレードが完了するはずです。
最後に、フロッピーをdisconnect状態にしてから、インストーラを終了。
あとは正常に起動することを祈ります。
(5) アップグレード・インストール終了後の手作業
/etc/upgrade/以下に、自動ではコピーされなかった新しい/etc/以下のファイルがあるので、必要に応じて、入れ替えます。
なくあととうまく手間などをTroubleshootしたかったの♪
返信削除