Top > MyMachine&Tips

Ultra30にFreeBSD/sparc64をインストールしたときのメモ

1.準備

20020406のsnapshotからisoを持ってきて使う。
焼きにはWindowsでNero5を使った。

2.そのCDからのインストール

okプロンプトからboot cdrom(cdはID6)
起動すると、ふつうにログインプロンプトが出る。
インストール用のスクリプトでもなく、CDを/として、ふつうにFreeBSDが動いているようだ。
ここはrootでパスワードなしでログイン
# disklabel -w -r da0 auto # disklabel -e da0

・sectors/unit:の値が全領域
・sectors/cylinder:の値がサイズ指定の単位
この数値単位にサイズ指定しないと、パーティション開始位置がおかしいってエラーが出てdisklabelが完了しません。
・cylinders:の値×sectors/cylinder:の値≒sectors/unit:の値
うちでは
sectors/cylinder: 16065
cylinders: 521
sectors/unit: 8385121
だったので、
a: 514080 0 4.2BSD 2048 16384 94 # (Cyl. 0 - 31) b: 1028160 514080 swap # (Cyl. 32 - 95) c: 8385121 0 unused 0 0 # (Cyl. 0 - 521*) d: 514080 1542240 4.2BSD 2048 16384 94 # (Cyl. 96 - 127) e: 6328801 2056320 4.2BSD 2048 16384 89 # (Cyl. 128 - 521*)

というように/と/varに約250MB、swapに約500MB、のこりを/usrにあてた。
このときのサイズをバイトで知るためには、byte/sector:の値を使う。
8385121セクタ*512バイト≒4094MB
なので、/にあてた514080セクタ*512バイト≒251MBという感じ。

# disklabel -B da0
disklabelはそれぞれ/devから書くと書き込みエラーになる

disklabelが終わったらnewfs
# newfs -U da0a
などとする。-Uオプションはsoftupdate
/と/bootを別パーティションにした場合は、/bootはsoftupdateしないほうがいいのかもしれない。
できたら、それぞれを/mntにマウント
/を/mntにのせてから/mnt/varと/mnt/usrを作っとかないとマウントできないので注意
マウントしたら/mntに/root/distrib-20020406.tarを展開
# cd /mnt ; tar xvpf /root/distrib-20020406.tar

展開が終わったら/mnt/etc/fstabと/mnt/etc/rc.confを書いておく。
fstabは
/dev/da0b none swap 0 0 /dev/da0a / ufs rw 1 1 /dev/da0e /usr ufs rw 2 2 /dev/da0d /var ufs rw 2 2 proc /proc procfs rw 0 0

としておいた。
rc.confは
ifconfig_hme0="inet 192.168.3.30 netmask 255.255.255.0" defaultrouter="192.168.3.1" inetd_enable="NO" sshd_enable="YES" sendmail_enable="NONE"

とした。

以上、インストール完了

3.cvsでcurrentのソースをゲット

2002/4月のsnapshotではSSLとかに問題があるので、currentのソース持ってきてカーネルと修正済みユーザーランドに作り直しにチャレンジ

# cvs login cvs login: failed to open /root/.cvspass for reading: No such file or directory

ってさ。touch /root/.cvspassでいいんかい?
ついでに~/.cvsrcも作成
cvs -q update -d -P checkout -P diff -u


ISDNとかの回線だったらcvs -q -z5とかにしといて圧縮かけてみる。
今回はanoncvsサーバはぷらっとホームを使うことにした。
# setenv CVSROOT :pserver:anoncvs@cvs.plathome.co.jp:/cvs/freebsd # cd /usr # cvs co src

以上ゲット完了

…なんだけど、通らない…

4.currentのmake

2002/4月のsnapshotは現在のcurrentとそもそもツリーの構造が違うようで、/usr/archなどがない。
なるほど、通らないはずだ。
そこで、6月のsnapshotをインストールし、そこからcvsでソースをゲット、make buildworldに挑戦する。

滞りなくmakeが進んでるようなので、あとは、ちょっとした修正か、ソースの時期を合わせれば通るだろう。