NetBSD/i386 の インストール雑記
2002/02/01
NetBSD をインストールした時のメモ書きなので少々間違いがあっても笑って下さい。
● インストールイメージの取得
最初は、BSD magazine の #10 の CD-2 NetBSD からいれようとしたが ソースの展開でうまくいかない。cdrom をマウントしてみたり色々試してみたが駄目で、結局本家のCD-IMAGE を ringサーバーより取得してそれでインストールした。
※ このインストーラの パーテショニングTOOLのUI は非常に変わっている のでメッセージを良く読んでからするべし。
● カーネル再構築(1回目)
BSD系OSでは定番のカーネル構築にチャレンジ。とりあえず日本語キーボード 対応とUTC クロック関係を修正する事にする。ドキュメントは、 http://www.jp.netbsd.org/ja/Documentation/kernel/ にあるので参考にされたし。(特に失敗した場合には必須)
- カーネルソースを取得する。
標準状態ではカーネルソースはインストールされていませんので、以下の サイトからソースを取得します。
ftp://ring.asahi-net.or.jp/pub/NetBSD/NetBSD-1.5/source/sets/syssrc.tgz
- カーネルソースを展開する。
以下のコマンドを叩いてカーネルソースを展開します。
"cd / ; tar xvzpf /<パス>/syssrc.tgz"
- コンフィグファイルを作成する。
※ 新カーネルを MyKern として作成する場合以下手順で行う
- cd /sys/arch/i386/conf
- cp GENERIC MyKern でコンフィグファイルをコピーする
- vi MyKern で編集モードに入る
- コンフィグファイルを修正する。
以下の2箇所を修正
- options RTC_OFFSET=0 を -540に変更
- #options PCKBD_LAYOUT="KB_DE | KB_NODEAD" を options PCKBD_LAYOUT=KB_JP に変更
- カーネルをコンパイルする
以下の手順でコンパイルを行う。
- config MyKern でコンパイルするディレクトリを作成する
- CD ../compile/MyKern でコンパイルするディレクトリに移動
※ 「/usr/src/sys/arch/i386/compile/MyKern となる」
- make depend で依存関係を更新
- make でコンパイル
- ブートするカーネルを変更する。
今回コンパイルしたカーネルでBOOTするように変更する。
- mv /netbsd /netbsd.Generic でGenericカーネルを保存
- mv netbsd / で新規に作成したカーネルをコピー
- リブートして新規カーネルで起動
※ 正常に起動出来なかった場合は、シングルユーザーモードで GENERIC カーネルを起動してやりなおし。
- reboot で再起動(shutdown -r now でも可)
● 環境整備(1回目)HOST名の設定
とりあえず/etc/rc.conf を修正し、HOST名などを付ける事にする。"/dev/cd0a /cdrom cd9660 ro,noauto 0 0"
● ネットワークの設定
FreeBSD や RedHat系 Linux のインストーラーと違いNetBSD のインストーラーは ネットワークの設定はまったくしてくれない。という事で設定開始。なおここで使用している環境は、以下の通りです。
- 外部とはルーター経由で繋がっています(DNSはルータを指す)
- NIC は Intel EtherExpressを使用。(ドライバは fxp0 となる)
- LAN 内のIPは 192.168.1.xxx で NETMASK が 255.255.255.0 です
- 対象機には 192.168.1.48 のアドレスを割り当てます"
- ルーターには 192.168.1.1 のアドレスが割り当てられています
"192.168.1.48 azatoth" のような記述を追加
"nameserver 192.168.1.1" のように記述する。 なお、このファイルが存在しない場合は新規で作成します
未初期化状態では UP と RUNNING が付きません
"ipconfig fxp0 inet 192.168.1.48 netmask 0xffffff00"
"inet 192.168.1.48 netmask 0xffffff00"
● APMの設定
NetBSD 1.5.2 では APM 対応のカーネルを作成する事によってapmd が作動し、 shutdown -p now が使えるようになります。(Linux 系の -h now と違うので注意) また、ACPI は current でないと対応していないので注意。
● Packagesの準備
今後の設定にはパッケージが無いとちと辛いのでパッケージのCDイメージを 落とす事にする。(本当は、ばらで落としていたのですが長時間繋いでいるとサーバ から切断されてしまいますのでCATV使っている人に頼んで落としてもらった)ちなみに、上記ファイルはリンクされているのでリンク先のファイルを落とす事 FFFTP でリンク情報をファイルとして落として泣いたのは内緒だ:-)
● CVSup によるソースの取得
上記Package の準備と並行して、CVSup によるソース追っかけの準備をする。 ドキュメントは、 http://www.jp.netbsd.org/ja/JP/Documentation/cvsup.html にありますので参照して頂くとして、まず cvsup-16.1.e.tgzを ダウンロードして pkg_add する。次に以下のような内容を記述したファイルを作成して cvsup ファイル名で、手持ちのリポジトリが最新になる。
- *default host=cvsup.jp.NetBSD.org
- *default base=/home/xxx/ncvs
- *default prefix=/home/xxx/ncvs/NetBSD
- *default release=cvs tag=.
- *default delete use-rel-suffix preserve
- *default compress
- netbsd
※注意
● 現在困っている事
とりあえず、今困っている事を忘れないように書いておく。
- Win32 で TeraTerm で接続すると[DELETE]も[BS]も効かない
- とりあえずログイン時に stty erase ^V[BS] で再設定
ちなみにVineLinux からtelnetした時には正常に作動するので プロトコルアナライザにかけてみるべきだろうなぁ(^^;;- 日本語がまったく通らない
- KONなり日本語X-Windowなりを作成する必要あるんだろうなぁ
- SendMail がエラーを吐く
- DOMAIN 関係の設定がおかしいような感じ DNS&BINDは買って来たのでぼちぼち
● pkgsrc をお試しコンパイル
せっかく取り込んだ pkgsrc その直下のディレクトリで make package で全て コンパイルしてみた。(本当はpackages のダウンロードが出来なくて仕方なく した)結局、一週間かけて 999パッケージはコンパイルしたけれどその時点で ディスクが一杯になって中止した。敗因は pkgsrc/distfiles の中身が空なので これを取り込むのに時間がかかっている事もあげられるかな。のような所に気をつけて。
- pkgsrc をコンパイルするには /etc/mk.conf を作成する必要がある。
- ドキュメントには pkgsrc/mk/mk.conf.example から作成するよう 記述されているが、現行のソースツリーには含まれていない
- 現在は pkgsrc/mk/bsd.pkg.default.mk に名称が変更されている
- cvs.jp.NetBSD.org のツリーがおかしくなっていてこのファイルの取込に 失敗していた(もう修復されたかな?)
● X11 の起動(1回目)
とりあえずXFree86 が動くよう設定する。 標準ではXF86Config はインストールされていないので pkg_add で追加する。 マウスは wsmouse(/dev/wsmouse) を選択すればとりあえず作動するが、日本語 キーボードについては選択しても作動しないようです。
- 設定したXF86Configファイル。(圧縮)
● ディスク増設(ちょっと脱線)
インストールテストを行っているもう一台のマシン (ASUS-TX97/K6-233)は搭載 ディスク容量が少なく(4G)CVSを追っかけるのはちときついのでディスクの増設を 行う事にした。(Ulta 100カードを使う関係でカーネルを1.5ZAを使うようにして いるがこれはまた別の話とする)※なお文中wd1 とあるのは今回増設したディスクである。この状態でディスクはフォーマット出来てマウントも可能になる。(通常に使うので あればこれで終わり。BOOTディスクにするなら以下の作業を続行する
- disklabel コマンドを使い今回取り付けたdiskのスペックを取得する
- disklabel /dev/wd1 を実行して total sectors:を参照する
今回使用したのは 40Gで 80418240- fdisk でnetbsd のパーテーションを作成する
- 0番パーテーションに作成する場合は、
fdisk -u -0 /dev/rwd0 と入力する(必ずrawデバイスを指定)
SYSID という質問には 169 を入力(NetBSD)
start は 0 size は 80418240(さっき調べた sectorsの値)- disklabel /dev/wd0 を実行し結果をファイルに書き出す
- 書き出したファイルを編集し各パーテーションのサイズを決める
- c パーテーションは NetBSDパーテーション全体を
d パーテーションは ドライブ全体を意味するので注意
とりあえずこんな感じに作成。7 partitions: # size offset fstype [fsize bsize cpg/sgs] a: 12695760 63 4.2BSD 1024 8192 16 b: 1433376 12695823 swap c: 80418240 0 unused 0 0 # (Cyl. 0*- 79767*) d: 80418240 0 unused 0 0 # (Cyl. 0 - 79779) e: 3064448 14129200 4.2BSD 1024 8192 16 # (Cyl. 0*- 79767*) f: 21074864 17193648 4.2BSD 1024 8192 16 # (Cyl. 8128*- 8654*) g: 42149728 38268512 4.2BSD 1024 8192 16 # (Cyl. 8128*- 8654*)- 編集したファイルを disklabel を使って書き戻し
- disklabel -R -r wd1 ファイル名(最初の書き込みは -I が必要だったかも)
- newfs を使ってフォーマットする
- newfs /dev/rwd1a;newfs /dev/rwd1e;newfs /dev/rwd1f;newfs /dev/rwd1g;で一発
- ブートブロックを書く
- cd /usr/mdec;./installboot biosboot.sym /dev/rwd1a
● X11 に日本語環境を構築(手探り編その1)
上でようやくX11が作動はしたけど、当然のように英語しか出ない。しかし、まだあちこち雨漏りがするようで、kterm 起動すると警告、emacs でも漢字は出ない。
- (4.)Kterm 6.2.0 のインストール
これについてはpkgsrc に展開されているのでそのままmake packeage 一発
前回延々とコンパイルしてpkgsrc/distfiles が揃っているから早い早い:-)特記事項無し- (3.)XFree86 のコンパイル
cvsup で取り込みしているソース(4.2)をコンパイルしてみるが、コンパイルは出来るもの のインストールに失敗する。一週間格闘してみたが進展無しなのであきらめる- (3.)XFree86 のコンパイル(その2)
仕方がないので、1.5.2 のソースの tar を取得しコンパイル&インストールする。
こちらは問題無し、xsrc/xc/config/cf/NetBSD.cf の 438行目の #define StandardDefines に -DX_LOCALE を 追加して再コンパイル&インストール(make World;make install)
● X11 のキーボードが英語のままを修正(02/03/08)
これは日本語環境の問題だと思っていたがそうではないようで、上でXを作り直しても 日本語キーボードの初期化に失敗する。Section "Keyboard" Protocol "Standard" XkbRules "xfree86" XkbModel "jp106" XkbLayout "jp" # XkbVariant "nodeadkeys" ← これ EndSection
● Kterm を作り直す(02/03/14)
kterm を使用したときにエラーが出る要因を調べるために、pkgsrc/x11/kterm で make extract を 使ってソースを展開してみる。● 環境変数の修正(02/03/16)
グローバルに環境変数を使用できるように /etc/csh.login に setenv LC_ALL jaJP.eucJP という一行を 追加。● 日本語マニュアルのインストール(02/03/21)
やっぱりマニュアルは日本語の方がいいよね〜という事で xjman をインストールする事にする。● canna のインストール(02/03/25)
canuum で難航しているけど、とりあえずカンナ自体は無事入ったのでそこまでまとめておく事にする。#canna if [ -f /usr/local/canna/bin/cannaserver ]; then rm -f /var/spool/canna/lock/.CANNALOCK* /usr/loca/canna/bin/cannaserver echo 'cannaserver started.' fi環境変数 CANNAHOST に localhost を設定するために /etc/csh.login に setenv CANNAHOST localhost を追加