MENU of  OpenBSD

OpenBSD 3.0

OpenBSD 3.1(Snapshot20020805)

OpenBSD Current


------------------------------

Special thanks to

banner_of_OpenBSD























OpenBSD

日本ではあまりユーザーが少ないみたいだけど、OpenBSDのウェブページに 書かれた、「4年間デフォルトインストールでセキュリティホール無し」は惹かれるものが ある。FreeBSDNetBSDと同じBSD系なので、 せっかくなのでこれもインストールしてみることにした。

OpenBSD 3.0

まずはインストール 前の下準備

NetBSD同様、ftpサイトからisoイメージをゲットしてきてCDに焼いた。 これを使ってNetBSDインストールの際に用意した第2パーティションに インストールしたが、”bad magic number"とか言われてしまい、起動できない。 よくよく調べてみると、OpenBSDは1024シリンダの制限を受けるらしい。 そのため、さらにパーティションを下のように移動することにした。

           パーティション   移動前          移動後
              1      FreeBSD            OpenBSD
              2      OpenBSD(起動せず)         FreeBSD
              3      NetBSD            同左
              4      拡張(Kondara,etc)        同左

しかし、迂闊にもFreeBSDのfstabを編集しないままコピーしたため、FreeBSDが立ち上がらなくなり、 もれなく再インストールになってしまった。 まぁ、これでOpenBSD用のパーティションを第1パーティションに作成出来たわけだ(笑

Back to MENU

ようやくインストール

XOSLに付属 するSBMを使ってCD-ROMから起動する。 FreeBSD、NetBSDとは違い、非常にシンプルなテキストモードのインストール画面になる。 そこで「(I)nstall」を選択してインストール開始した。

まず、パーティションを作成するするところが出てくるが、 上述のようにOpenBSDパーティション(a6:Debianのfdiskを使用)を作成したため、ここはquitで 抜ける。ちなみにfdiskの画面で”?”を入力してリターンをすると使い方が出てくるので、新規に 作成する場合はそれが参考になる。
次に第1のパーティションにスライスを切る。もちろん、スライスを切る(disklabel)ところでも ”?”を入力してリターンをすると使い方がでる。それを参考にスライスは下のようにした。

#  Partition    size  offset      マウントポイント
 a  2000000     0 /  b   100000  2000000 swap  c  10040562     0 unused  e   800000  2100000        /home  f  7140499  2900000        /usr

ちなみに、OpenBSDの場合はBlockで入力する。その後、パッケージの選択になるのだが、 ここではインストールしたいパッケージをタイプし、リターンキーを押すことによってパッケージを追加する。 baseシステムの他に、gameなんかも入れてしまった。そして無事インストールは終了し、再起動後にOpenBSDが立ち上がった。

Back to MENU

ports、sys、srcsysのインストール

OpenBSDはFreeBSDのようにportsをCVSupを使って同期できるようである。 まずはこれらをダウンロードするためにテキストベースのブラウザw3mをインストールした。
# pkg_add ftp://ftp.jp.openbsd.org/pub/OpenBSD/ 3.0/packages/i386/w3m-0.2.1.0.19p1-m17n.tgz
その後、パッケージコレクションに必要なports.tar.gz、 カーネル以外のソースであるsys.tar.gz、 そしてカーネルソースsrcsys.tar.gzを 下記のディレクトリからダウンロードした。
# w3m ftp://ftp.jp.openbsd.org/pub/OpenBSD/3.0/
必要なファイルにカーソルを持ってきて「Aキー」をタイプしてダウンロードできる。

ダウンロード後、portsは/usrに、sys.tar.gzとsrcsys.tar.gzは/usr/sysディレクトリを作成して展開する。
# cd /usr
# tar zxvf /tmp/ports.tar.gz
# mkdir -p /usr/sys
# cd /usr/sys
# tar zxvf /tmp/sys.tar.gz
# tar zxvf /tmp/srcsys.tar.gz

portsからのパッケージのインストールはFreeBSDと一緒である。例えばCVSupをインストールするならば下のようになる。
# cd /usr/ports/net/cvsup
# make install
# make clean

Back to MENU


再インストール

NetBSDの再インストールに失敗してセカンダリハードディスクのパーティション を全て破壊してしまった。 そこで、もう一度OpenBSDをインストールすることになった。 portやsyssrcなどもインストールした後、CVSupをインストールした。 CVSupではXFee86のVersion4のツリーも取得する設定とした。
参考:/etc/cvsupfile

Back to MENU


Xの設定

Xの設定はなかなか検索に引っかからすに苦労した。 googleでweb全体から検索してようやく次のウェブページにOpenBSD用のパッチがあることを知った。
http://www.sergey-smitienko.com.ua/files/
ここからカーネルのパッチpatch.v2.tar.gz、 および左記のカーネルでコンパイルした XF4用バイナリXF4.tar.gzをゲット!
まずはパッチを当ててカーネルを再構築する。

 # mv patch.v2.tar.gz /usr/src/
 # cd /usr/src
 # tar zxvf patch.v2.tar.gz
 # patch -p0 < patch/SYS  ---patchディレクトリ以下にできたSYS fileを当てる
 # cd /usr/src/sys/arch/i386/conf
 # config GENERIC
 # cd ../compile/GENERIC
 # make clean && make depend && make && make install
reboot後、今度はXF86.tar.gzをインストール(展開)する。
 # cp XF4.tar.gz /
 # tar zxvf XF4.tar.gz

上記ウェブページの 注釈にもあるように、次のようにシンボリックリンクをはる。
 # ln -s /dev/ttyC0 /dev/agpgart

また、上記のXF4.tar.gzにはxdmがすでに含まれている。そのため次の起動時にxdmが 立ち上がるよう、/etc/rc.confを次のように編集する。

xdm_flag=NO → xdm_flag=""

その後リブートしたら、フグ付きのxdmが立ち上がった

Back to MENU


OpenBSD 3.1(Snapshot20020805)


戯れ言

無事にXが立ち上がったが、日本語対応が面倒だというのもありしばらく放置 してしまった。最近、currentではagpgartデバイスに対応したというのを知って、久しぶりに 再インストールしてみることにした。


インストールの下準備

3.1用のISOイメージが、ftp://ftp.fsn.hu/pub/CDROM-Images/openbsdに あるが、さすがにSnapshot用のISOイメージはない。そのため、今回はフロッピーからのインストールに なる。

フロッピーからのインストールは、bootフロッピーを作成する必要がある。 {OpenBSDのftpサーバ}/snapshots/i386/floppy31.fsをダウンロードし、ddコマンド(PC-UNIX)や Rawrite32(Win32)でfloppy31.fsイメージをフロッピーに書き込めばbootフロッピーの出来上がり である。

Back to MENU


インストール

手順は下の通りである。

  1. bootフロッピーでの起動
  2. bootフロッピーで起動すると、”boot>”という画面になる。ここで リターンを押してしばらくすると、インストールorアップグレード or shellの画面になる。ここで”i”を入力してリターンするとインストールの画面に なる。

  3. キーボードの選択
  4. インストールに入ると、まずはターミナルの選択画面になる。これは[vt220]の ままリターンすればよい。次にキーボードのエンコーディングを選択するかと 聞かれる。日本語キーボードを使いたければここで”y”を入力する。次にキーボード のタイプを聞かれる。PS/2、USBが選択できるので、僕は自分の環境に合わせてUSBを 選択した。さらにその後キーボードのテーブルを選択する画面になるので、僕は”jp” を入力した。この辺はインストール後に修正できるので、特に飛ばしても問題ない。

  5. fdiskでパーティションを作成
  6. 「プロセスを続けるか?」というメッセージで”y”を選択すると、パーティション 作成になる。最初にディスクの選択になるので、IDEならwd、SCSIならsdで始まる ディスクを入力する(最初のディスクは1ではなく0から始まる)。さらに(OpenBSDパーティションを) イニシャライズするディスクの選択では、上記と同じディスクを入力する。すると、 「ディスク全体を使うか?」と聞かれるので、他のOSやデータがある場合は”n” を選択する。
        今度はプロンプト”fdisk1: >”が出てくる。この状態で”p”を入力すると、 現在のパーティションが表示される。”?”を入力するとコマンド一覧が出てくるので それを参考にパーティションを作成する。僕は以前作成 したパーティションを使うことにした。

  7. disklabelの編集
  8. 今度はプロンプト”>”が出て来てdisklabelの編集になる。 ここでも”p”を入力すると現在のdisklabelが、”?”を入力するとコマンド 一覧が見れる。今回は、前回作成したdisklabel をそのまま使うことにした

  9. mount pointの決定
  10. disklabelの編集でmountポイントを設定してもdisklabel編集から抜けた 後にこの画面になる。設定に間違いが無ければ”done”を入力すれば良い。 僕は、wd1eに/homeを、wd1fに/usrをマウントすることにした。

    mount pointを決定すると、「次の工程に行っても良い?」と聞かれる。 ここでyと入力するとパーティションをフォーマットするので、問題がある ようなら”n”を選択してインストールをやり直すと良い。

  11. ネットワークの設定
  12. フォーマット完了後にネットワークの設定なる。マシンのホスト名、 ドメイン名を入力する。その後、(起動時に認識されていれば)ネットワーク カードの設定になる。ここでIPアドレス、ネットマスクを設定する。 次にデフォルトのゲートウェイ、DNSサーバのIPアドレスを設定する。 最後に「DNSサーバを有効にするか?」と聞かれるので、yを選択する。

    ちなみに、僕のネットワークカードFNW 9802-T(AN983)では、 mediaのTypeを”media autoselect”にしないとネットワークに接続できなかった。

  13. サーバの選択
  14. 上記の作業の後、「シェルに戻るか?」と聞かれる。他に問題が無ければ ”n”を選択した後、rootのパスワードを入力することになる。それが済んで ようやくパッケージのインストールに進む。その前に、どのサーバから パッケージを落としてくるかを設定することになる
    CD-ROMなどにパッケージセットを焼いていれば”c”と入力してCD-ROMから インストールができるが、僕はftpサーバからインストールするので、 ”f”を入力した。

    httpプロキシやactiveモードでのftpを使うかと聞かれるが、家で使っている 人はどちらも”n”を選択すればOKと思われる(CATVだとhttpプロキシが必要かも)。
    次にftpサーバのリストを取得するかと聞かれるのでyを入力するとftpサーバの リストが出てくる。”q”を入力してリストから抜け、好みのftpサーバの番号を を入力するとftpサーバが設定される。次にサーバのディレクトリの設定になるが、 snapshotをインストールするので、デフォルト(pub/OpenBSD/3.1/i386)では無く pub/OpenBSD/snapshots/i386に変更する。接続に成功するとパッケージ(*.tgz) の一覧が表示される。

  15. パッケージの選択
  16. パッケージの一覧が表示されると、パッケージの選択になる。面倒なら ”all”と入力して全てインストールしてしまうと良い。
     パッケージの追加は、入力待ち状態で一覧に表示されたパッケージ名 を入力すると選択される。選択から外したいならば、パッケージ名に ”-”を付けて入力すると選択を外すことが出来る。

    選択が終わったら、”done”を入力するとパッケージのダウンロード& インストールを開始する。

  17. 完了
  18. 全てのパッケージのダウンロード&インストールが終わると、haltする ようメッセージが出る。これでインストール完了である。

Back to MENU


portsのインストール

reboot後、無事OpenBSDが起動した。portsでいろいろパッケージをインストール したいところだが、それにはpots.tar.gzをダウンロードする必要がある。そこでダウンロード ツールであるwgetをインストールしてから、portsをダウンロード&インストールした。

# pkg_add ftp://ftp.jp.openbsd.org/pub/OpenBSD/3.1/packages/i386/wget-1.7.tgz
# wget ftp://ftp.jp.openbsd.org/pub/OpenBSD/snapshots/ports.tar.gz
# tar zxvpf ports.tar.gz -C /usr

portsからbash2、w3m、xfce、cvsupをインストールした。portsを使ったインストールは OpenBSDのFAQ参照のこと。

Back to MENU


Xの設定

Xの設定ファイルはNetBSDのファイルと 全く同じである。NetBSDのXF86Configファイルを/etc/X11以下にコピーすればXが立ち上がる。 また、/etc/rc.conf.localと言うフィアル中に次の1行を書き加えるとxdmが起動する。(/etc/rc.conf が/etc/rc.conf.localで上書きされるため)

xdm_flags=""

ちなみに、僕のOpenBSDはプライマリのスレーブにあるハードディスクに インストールされており、 NetBSDではマスタのディスクをマウントできなかった のだが、OpenBSDではちゃんと拡張パーティション内も認識されているので、マウントできた。 そのため、NetBSDの設定ファイルを保存しているところからコピーするだけで済んだ。

上述の通り、今回は非常に簡単にXの起動が出来た。ちなみにxdmには やはりフグが付いていた。。。

Back to MENU


USBデバイスの活線挿抜(hotplug)

USB関係は全て順調である。インストールでUSBキーボードを選択しているおかげか、 シングルユーザモードでもキーボードが使える。マウスも抜き差しOKだし5つボタンマウスも ちゃんと認識する。もちろん、デジカメNikon coolpix E775も挿すとsd1として認識される。
disklabel sd1でsd1iにFAT領域があるのが分かったので、
# mount -t msdos /dev/sd1i /mnt/nikon
とすると、マウント出来てディスクへ読み書きができた。

Back to MENU


OpenBSD Current


currentへのアップデート

OpenBSDでは、FreeBSDのようにCVSupが使える。せっかくsnapshotを入れたのだから currentを追いかけてみることにした。

CVSupでどのバージョンをどこからゲットするのかを記述したCVSupの設定ファイルを 作る。これもOpenBSDのCVSupで入手] を参考にして、次のようにした。

# Defaults that apply to all the collections
*default host=cvsup.jp.openbsd.org
*default base=/var
*default prefix=/usr
*default release=cvs
*default delete use-rel-suffix compress

# kernel source
OpenBSD-src tag=.

# Ports Collection.
OpenBSD-ports tag=.

この設定ファイル(cvsupfile)を/etcに置いて、次のコマンドでオペレーティングシステムの全ソース、 portsがアップブレードされる。

# cvsup -g -L 2 /etc/cvsupfile

CVSupが終わったら、カーネルなどの再構築になる。これは、下の辺りを参考に して行った。
(参考:OpenBSD Upgrading Mini-FAQHRK's OpenBSD Memo3.0版から 3.1版へアップグレードするかないページOpenBSD installなどなど。Special thanks!)

HRKさんのページにあるように、本来なら新たに追加されたところから インストールするようだ。

# cd /usr/src/{変更・追加されたところ}
# make cleandir && make obj &&"make depend &&make
# make&install

今回、snapshotからcurrentへの移行なので追加されたところはないようだ。
(追加されたところがあればコンパイル時にエラーが出るので、そこでやり直せばいいやという 考えだったりもする(^^;;)
そのため、オブジェクトファイルのディレクトリを作った後、適切なディレクトリが作られている かどうかの確認をする。もし、すでに数回この作業を行っているなら、オブジェクトファイルを 削除してから行う必要がある。

# mkdir /usr/obj
#

Back to MENU