FreeBSD3.5R installation log

00.7.??-00.8.6

 これまでFreeBSD3.2Rで使っていたLet's NOTE(CF-S21J8-N)だが、Samba2.0.7がどーしてもうまく動かないので、
 4.0Rへのアップグレードを決意。(この辺が軟弱なんだなー。4日は粘ったんですが)4.0からはPCカードがそ
 のまま使えるらしいということで、普通にインストールフロッピーを作成。(もちろん、kern.flpとmfsroot.flp
 から)が、しかし....!どーしてもPC CARDを認識してくれない。IRQ衝突かと思っていろいろやってみたけどダ
 メ。ed0で動くNE2000互換なカードだから大丈夫だろ、と思ったのだが...。で、4.1が出るまで待とうかと思っ
 たが、待ちきれずに3.5Rをインストールすることにした。

# その数日後に4.1はリリースされた...。

 もちろん、PAO版インストーラを使用。

 パーティションはいつも通りって感じで、

/     256MB
swap   96MB
/var   48MB
/usr 2600MB

 職場のビルが専用線(128k)になったこともあって、昼間からネットワークインストール。“分かる人”がいた
 ら「そんなん夜にやれよー」とか言われるところだが、そんな人は皆無なので、堂々と帯域を独占使用。ま、
 どーせメイルチェックとWebくらいしか使ってないんだから、問題ナシってことで。配布物の選択も、自宅で深
 夜にネットワークインストールするときは細かく選んでいたのだが(テレホ時間過ぎちゃったらエライことにな
 るし)専用線ってことで“All”を選択。それでも3ー4時間で終わってしまうのだから、やっぱ帯域保証型の
 128kはスゴイ。ちなみに、paobinとpaosrcだけは普通に選択したftpサーバからはインストールできないので、
 終了後にFTPサイトを再設定(場所は...PAOのページに書いてある)してインストール。次に、ノートPC用の
 設定として、スタートアップオプション”を選択し、APM,apmd,pccard,pccard mem,pccard_ether(ed0),dhcp 
 client,startup dirsをチェック。とりあえず、パッケージからtcsh6.0.9だけ入れてログインしてみることにし
 た。

 ま、とりあえず無事起動。ただし、APM関連のコマンドは動かないし、PC Cardもダメ。

% uname -v

としてみると、どうやらGENERICカーネルが入っている模様。で、カーネルをPAO版に入れ替えて(コマンドはPAO
のWebページで)再起動。それでもPC Cardは正常に動かなかったが、/etc/rc.confをみると、

pccard_enable=YES="YES"

となっていた。これをpccard_enable="YES"としたら動いた。また、apm -z(またはzzz)も動かず。rootでも動
かなかったので、パーミッション関係じゃないと踏んだのだが、

# chmod 666 /dev/apm

であっけなく動くようになった。666じゃさすがにまずいだろうってんで、660にして、普段使うユーザをoperator
グループに追加。これでとりあえずはOKかなと。

 次に、前のシステムのバックアップから必要なモノをこPしようと思ったのだが....なんと!バックアップに失
 敗していた。(阿呆だ...)具体的には、/etc以下、/usr/local以下、/usr/home/以下、/usr/X11R6以下を丸ご
 とバックアップしようとして、それぞれをtar+gzipで固め、etc.taz、home.taz、x11.tazと名前をつけ、その3
 つのアーカイブをさらにtarコマンドで1つのファイルにまとめた....つもりだった。ファイルサイズ的にはちょ
 うど3つ分(170MB)なのに、tarコマンドで展開させると、/usr/home以下しか育成されない。そもそも、1回
 目のtarコマンドで3つのアーカイブファイルが、その後はそれぞれを再びtarコマンドで展開するつもりだった
 のだが、どうもおかしい。もしかして、tar+gzipで固められたファイルを、さらにtar+gzpするのはご法度だっ
 たのか?(もちろん、圧縮の意味がないのは重々承知していたのだが、別マシンに転送するのに楽かな、と思っ
 て1つにしてしまったのだが...)ま、とりあえず残っていたのが/usr/home以下だったのは不幸中の幸いではあ
 る。ここには、前の前の設定(2.2.8時代)が入っていたりするので、/etc以下のファイルもなんとかなりそう。

 とりあえずはXの設定ってことで、バックアップからXF86Configをもってきて/etcの下にコピー。しかし、動か
 ず。Xサーバが見つからないみたい。それもそのハズで、/usr/X11R6/bin/Xがない。で、いつも通り(笑)、

# ln -s XF86_SVGA X

としてシンボリックリンクを張る。が、それでもエラー。メッセージをみるとフォントパスに間違いがあるみた
い。あ、前はx-ttフォントサーバを立ててたんだった。x-ttは後日入れるとして、とりあえずFont Pathの該当個
所を削除。

 次に、各種アプリ&ツールをインストールする。やっぱできるだけ最新版を入れたいので、portsからインストー
 ル。まずはcvsup-bin-16.1をPackagesからインストール。で、

http://www.jp.freebsd.org/supfiles/ports-supfile

をgetして、

# cvsup -g ports-supfile

を実行。夜に始めたのだが、翌日会社にいったら終わってた。どのくらいかかったのかは不明。(調べとくんだっ
た。)で、最新版に更新したportsから、

jless-332		(japanese/less)
afterstep-1.8.0		(x11-fm/afterstep-stable)
xemacs-21.1.11		(japanese/xemacs-wnn6)
kterm-6.2.0		(japanese/kterm)
ja-netscape-4.7.4	(japanese/netsape47-communicator)
nkf			(japanese/nkf)
enlitenment-0.16.4	(x11-fm/enlitenment)
ja-grep-2.0		(japanese/grep)
Eterm-0.9		(japanese/eterm)
ethreal-0.8.10		(net/ethreal)
mpg123-0.59rpl1		(audio/mpg123)
xanim2801		(graphics/xanim)
gimp-1.1.24		(graphics/gimp1)
xv-3.0			(japanese/xv)
jman-1.1h		(japanese/man) --> ja-man-doc-3.5.tar.gzも入手してpkg_add
fetchmail-5.4.3		(mail/fetchmail)
wget-1.5.3		(ftp/wget)
lftp-2.2.3		(ftp/lftp)
gkrellm-2.0.7		(sysutl/gkrellm)
samba-2.0.7		(net/samba)
mew-1.94.1		(mail/mew-xemacs21-mule)

 とりあえず基本のこの辺をインストール。で、バックアップから.fetchmailをこPして使う。これは大丈夫。次
 に、imsetupを実行してimの設定。(mewのため)さらに、sendmail.confも/etcに入れて使ってみるがこれもOK。
 さらに、.emacsもこPしたが、こちらはうまく動かず。mew向けの設定を書き換えてなんとか動くようになった
 が、やっぱり重い上にたまに落ちるので、muleにすることに。(muleおよびmewはportsからインストールしなお
 した)

 netscape等も普通に使えるので、こうなるとやっぱりフォントの見づらさが気になる。そこで、XでTrueTypeを
 使うためにx-ttをインストールすることに。昔は、X serverのソースにパッチをあててコンパイルしたり、ある
 いはxtt対応のフォントサーバをインストールするという面倒なことをしなければならなかったのだが、今はx-tt
 が組み込まれたX serverがあるみたい。portsに入っていたので、これを使ってインストール。仕事中とはいえ、
 2時間近くかかったのにはびびった。

 とりあえず和田研フォントをgetし、/usr/X11R6/lib/X11/fonts/TrueType/以下にインストール。fonts.dirはそ
 のまんま入ってたので、そのまま使う。/etc/XF86Configにパスを追加してXを再起動。netscapeのフォント選択
 の一覧にちゃんと新しいフォントが入っているので一安心。次に、やっぱもっと美しいフォントでブラウズした
 い、ということで某MSのフォントをいただくことに。まずはmsgothic.ttcとmsmincho.ttcをWindozeからこP。
 /usr/X11R6/lib/X11/fonts/MS/以下に放り込む。次に、mkttfdirコマンドを実行し、fonts.dirを自動育成して
 もらう。いやぁ、楽になったもんだ。最後に、/etc/XF86Configにパスを追加して完了。無事にMSフォントを使
 えるようになった。

 次は日本語関連の設定。Wnn6とVJEをインストール。だが、Wnn6はうまく動かず。で、OmronsoftのWeb PageのFAQ
 を見て、環境変数JSERVERにlocalhostを指定すれば良いことが判明。.tcshrcに

setenv JSERVER localhost

の一行を加えて問題解決。

 あと、バッテリ残量表示ツールとしてrdbattをインストール。

% ./.configure

としたら、xformsがないとのエラー。で、portsからインストール。(x11-toolkit/xform)

00.09.30-00.10.01

 Sambaの設定。まず、Portsからインストール。次に、SWATという「各種設定がWebブラウザからできるように
するためのツール」を使えるようにするために、/etc/servicesに

swat     901/tcp

を追加。次に、inet.confに、

swat    stream     tcp     nowait.400     root     /usr/local/sbin/swat     swat

を追加。(UNIX USERに違うこと書いてあったので勝手に訂正。)で、WindowsのNetscape Navigatorから、

http://192.168.25.179:901/  (IPアドレスは会社環境のもの)

 と入力したらパスワードを求めるダイアログが出る....ハズなのだが、出ない!「なぜ?」と思ってちと考え
 てみたら、何と不覚にもApacheが入ってない!(笑)これじゃあ動くハズはないので、Apache13をこれもPorts
 からインストール。で、とりあえずhttpdを起動して再チャレンジしたらバッチリ動いた。

  swatからの設定を行う。日本語環境で使うには、Coding systemの設定(文字コード)が不可欠なのだが、
 どこを探しても項目がない。実はGLOBALSという項目で「Advanced View」を選ばないと出てこないのでした。

<設定記録>
[GLOBAL]
coding system         EUC
client code page      932 (シフトJISのこと)
workcroup             その環境のもの
encrypt passwords     YES
security              USER

[SHARES]
 [homes]
   writable           YES
   browseable         NO 

 で、会社のマシンのユーザ名である「crest]という名前のユーザを作成し、rootで

# smbpasswd -a crest

としてパスワード設定。すると、ちゃんとcrestのホームディレクトリが見えるようになった!


00.10.30

 sansu.orgで運用の前に実験、ってワケでOpenSSHをPortsからインストール。(Versionは2.1.1)
 
 MacからNiftyTelnet 1.1 SSH r3 でログインしてみたところ、バッチリOKでした。以上。
 

00.11.14

 uudeviewをportsからインストール。

% uudeview メイルの収まったファイル名

 でuuencode、Base64、BinHex、xxencodeの4種類のエンコード方式でエンコードされたファイルをデコードでき
 るらしい。(まだ使ってない...) ちなみにxxencodeって私知らないんですが。;-)


00.11.16

 FreeBSD4.2へのアップグレードを決意。あ、いや、3.5Rに不満があった訳じゃないんですが、なんとなくやりた
くなって。

まずは、CVSでソース取得。

*default host=cvsup4.jp.FreeBSD.org
*default base=/usr/local/etc/cvsup
*default prefix=/usr/src4
*default release=cvs
*default delete use-rel-suffix
*default tag=RELENG_4

src-all

というsupfileを/usr/local/etc/supfileに作って、

# cvsup /usr/local/etc/supfile

を実行。1晩では終りませんでした。;-)

  ソースを取得したら、まずは/usr/objの中のゴミを全消去。と思ったけど何もなかった。あとはmakeするだけ。
# make world
 一発でも良かったんですが、思うところもあって、今回はmake buildworldを実行。
# script /usr/src4/src/log
 として、画面出力を保存。で、
# date;make buildworld;date
 として開始時刻と終了時刻も記録することに。といっても、Enlightenment起動したままで、しかもmuleでこんな
 文章書きながらだと、ちと遅くなってしまうのだろうけど...とか思っていたらエラーでストップ。(涙)ログを
 見る気にもならず、寝る。;-)

00.11.17

 エラーの起った箇所は、

/usr/obj/usr/src4/src/gnu/usr.bin/perl/miniperl/../libperl/libperl.a(pp_hot.o): I
n function `Perl_pp_aassign':
pp_hot.o(.text+0x16a1): undefined reference to `setresuid'
pp_hot.o(.text+0x16d4): undefined reference to `setresgid'

 ってな感じで、どうやらperl関係っぽい。そこで、/src4/src/etc/defaults/make.confを/etc/make.confにコピ
 ーし、perlをコンパイルしない設定にすることに。(make前にもやろうとして/src4/src/etc/以下を探したんだ
 けど、見つからなかった)

CFLAGS = -O -pipe
NO_SENDMAIL= true
NOPROFILE= true
INSTALL= install -C
NOPERL= true
PRINTERDEVICE= ascii

 と設定して(UNIX USER 2000-03を参考にしました)再度挑戦。
 
 (ここで死亡....)
 

00.11.18
  00.11.17は、アノ後make buildworldは成功。4時間くらいだったかな?ただ、その後にmake installworldした
 ら途中で止まってしまう。(ログ残してないのが痛い...)たしか、/bin/testかなんかのインストールで止まって
 いたと思う。どうやら、src以下に、UPDATESファイルがあるのだが、これに3.*→4.*へのアップグレードの注意点
 が書いてあったのを私が見逃したのが原因らしい...。もう1回正しい方法でやりなおそうとしたけど、時すでに
 遅し。(T_T)

 で、とりあえず再起動してみたのだが、コレもダメ。っていうか、起動すらしない。rcファイルを読み込むとこ
ろで、

 Enter full pathname of shell or RETURN for /bin/sh:

  とか聞かれてとまってしまう。どうやら、/bin/shがダメらしい。4.*では、アーキテクチャが大幅に変わったら
 しく、おそらくは4.*用の/bin/shは3.*のカーネル下では動かないらしい。とりあえず、/bin/shと入力してダメ。
 次に、/usr/local/bin/tcshとしてもダメ。う〜ん、というわけで、/bin/cshとしたらなんとかプロンプトが出た。

  もちろん、Cシェルなので、rcは動かない。シングルユーザモードでのログインってことになる。ってワケで、
 /usrも/varもマウントされてないので空に見える。(最初びびった)落ち着いて、

% mount -a

 としたら、/usrも/varもマウントされて一安心。(特に前者)次に、バックアップをとることを考えなくてはなら
 ない。なにしろ、pwdも、Bad System Callってエラーが出るくらいだから相当危うい状態。

  まず考えたのは、ネットワークの利用。でも、rcファイルも実行されてないのだからダメに決まってる。そこで、
 rcファイルを読み込ませるべく他マシンから/bin/shを持ってくる(フロッピーで)ことを考えた。最初は、
 /usr/local/bin/bashでもあれば、cpしちゃえば何とかなるかも、と思ったのだが、あいにく私はtcsh派なので、
 bashは入ってない。で、どーせフロッピーを使うなら、ってワケで、ホームディレクトリをコンパクトにまとめて
 (ムービーとかは捨てて)フロッピーで保存することに。

# fdformat /dev/rfd0.1440
# disklabel -w -r /dev/rfd0.1440 fd1440
# newfs -c 80 -t 2 -u 18 -m 0 -o space -i 8192 /dev/rfd0.1440
# mount /dev/fd0.1440 /mnt

  としてマウントに成功。あとは、ホームディレクトリをコンパクトにして、tar+gzipで固めて/mnt以下にコピー。
 別マシンでマウントして確認したところ、ちゃんと生きてる!(ほっ)
 
  というわけで、無事データを取りだし、FreeBSD4.1.1Rをインストールすることに決定。
 

 00.11.23
  というわけで、4.1.1Rのインストール。いつものように起動ディスクを作ってネットワークインストール。ここ
 でちょっとトラブル。どーしてもネットワークカードが正常に動作しない。いろいろやってみたが、なんとハブを
 複数通すとうまくいかないことが判明。う〜む、よく分からない....。
 
  とりあえず、NetGenesisに直接つないでインストール開始。初日は途中でテレホタイムが尽きて失敗。翌日は何
 とか成功。(で、今日に至る)
 
  とりあえずの設定後、/usr/portsからtcshをインストールしようと試みる。が、「もう入ってるよ」とのこと。
 なんと、/bin/tcshが最初から入ってるらしい..。ん〜、どうやら/bin/cshも同じモノみたい。ハードリンクか?
 
  次。終了しようとしてzzzってやったら、案の定permission denied。 で、chmod 777ってしてみたんだけど、今
 度はDevice not configured。う〜む。とりあえず今日はそのまま寝る。(^^;;
 

00.11.25
 まずはAPM問題に取り組む。チョイと調べてみたら、カーネルの再構築が必要らしい。考えてみれば当たり前で、
3.*+PAOのときは、PAOカーネルに置き換えていた。今回は、マージされたとはいえ、やっぱデフォルトでは
disableになっているのは自然かな、と。

 とりあえず、

device apm0 at nexus? flag 0x20 #disableを取る
option ATA_ENABLE_ATAPI_DMA #DMA転送をON

 あとはサウンド関係。

controller      snd0
device sb0      at isa? port 0x220 irq 5 drq 1
device opl0     at isa? port 0x388

 で、

# config melon   # (ファイル名、INDENT名はmelon)
# cd ../../compile/melon
# make depend;make
# make install

 で完了。

 再起動後、

% apm

 としたら、とりあえずAPM情報が表示された。で、調子に乗って、

# zzz

 としたら、ed1:detached (改行) pccard: card disabled,slot1 と出て、そのまんま固まってしまう。ん〜。


00.11.26
 続き。bsd-nomadsでも同様のメイルを発見。が、解決策は分からず。そのメイルによると、4.1.1Rはダメだけど、
4.1Rは大丈夫だったらしい。そこで、ちょっと迷ったけど、発表されたばっかの4.2Rのカーネルを使ってみることにし
た。で、cvsup-binをportsからインストール。(netカテゴリにある)ちゃんとmake cleanもして、前に作ったのとお
なじsupfileを作って、cvsupコマンド実行。(ホントはsysだけで良いんだろうけど)まぁ、今夜中には終わらないだ
ろうけど、それなら明日会社で続きをやるってことで。

00.11.27
 会社で...はマシンを忘れてしまったのでダメ。;-)で、テレホタイムを利用して残りをcheckoutする。午前0時過ぎ
に始めたら、朝には終わっていた。で、前と同じ/etc/make.confにして、
# script /usr/home/masaru-y/world.log
# date;make buildworld;date;echo ";make installworld;date;
として会社へ。さあて、どうなっていることやら...。


 00.11.30
 こないだは、make worldは無事完了してたんだけど、結局apm関係がアウトでダメ。4.1Rも試そうかと思ったけど、
なんか釈然としないし、PCカードのサポートはやっぱり(ホットプラグ等の点でも)3.5.1R+PAOのほうが1枚も2枚も
上という感じがしたので、やっぱ3.5.1に戻すことに。

 で、会社でネットワークインストールして、適当に設定して再起動したら、rc.confの19行目がおかしいとのこと
で起動せず。( Enter full pathname of shell or RETURN for /bin/sh:って出る)

ifconfig_ed0="inet 192.168.25.184' netmask 255.255.255.0"

ってなっていた。で、184の後ろの'は何だ?と言うことで取って見たら無事起動。ふぅ〜。今度は(当然だが)apm関係
もバッチリ。あ、そうそう、やっぱりカーネルはGENERICになってました。なぜだろう?

 帰宅後、portsからtcshをインストール。続いてcvsup-binとj-less。あとはcvsupして、portsを最新にしてから他のを
インストール...と思ったら、supfileを取るのに、HTTPを使う必要があるみたい。(他にもありそうだけど)で、wgetを
先にインストールしてからということに。