2004-11-06
_ 朝
0600 起床。
新丸子までを往復。
鳥が「 く 」の形の群れになって飛んでた。「 < 」こーいうのが 10 個くらい。
すげー。200 羽くらい居たんじゃないだろうかと思われるくらいの大群。
こんなにたくさん飛んでるのを見たのは初めてだ。
_ NetBSD
ふむ。
やはり X がポイントか。
root@kahori[/usr]# du -m | sort -n > biggest.log root@kahori[/usr]# tail biggest.log 341 ./src/gnu/dist 358 ./src/gnu 402 ./pkgsrc/audio 461 ./obj 577 ./pkgsrc/distfiles 674 ./pkgsrc/lang 780 ./src 912 ./pkgsrc/x11 4127 ./pkgsrc 6018 . root@kahori[/usr]# rm -rf pkgsrc/ root@kahori[/usr]# cvs -d :pserver:anoncvs@anoncvs.netbsd.org:/cvsroot login root@kahori[/usr]# cvs -d :pserver:anoncvs@anoncvs.netbsd.org:/cvsroot checkout pkgsrc root@kahori[/usr]# df -m Filesystem 1M-blocks Used Avail Capacity Mounted on /dev/wd0a 144 38 99 27% / /dev/wd0e 7181 2060 4762 30% /usr
_ デッドロブスター
はるか昔。
あれはもう 20 年くらい前になるだろうか。
TV で レッドロブスター の CM を見た。
CM では「 レッドロブスター 」という歌? ジングル? が流れる。
当時の私はそれを聞いてレッドロブスターをデッドロブスターだと思っていたのだ。
英語の「 Red 」なんて読めなかったし。
ロマンシングサガ 3 にもロブスターが居るし。
( via ロマサガ 3 のキャラクターに関するページ )
まあすぐに兄上から「 ぃゃそれレッドだから。デッドじゃないから 」とツッコまれたが。
などということを勤務先で デッドレターキュー なんぞを読んでて思ったのだった。
_ NetBSD
先日 i386 port でのシングルユーザでの起動方法が見つからんと書いたけど、あった。
何か問題があったら:
シングルユーザーモードで 'netbsd.old' カーネルをブートしましょう。 変更する手順はブート手順に依存していますが、i386 ではこうでしょう:
1. 最初の NetBSD のメッセージが表示されたら SPACE を押す{{'<br>'}} 2. "boot netbsd.old -s"{{'<br>'}}
_ NetBSD カーネル構築
手もとの df(1) で何故か -h が使えないのでその辺をアップデートしてみた。
こーいうやつを使えるようになる。
root@kahori[/usr/src]# df -h Filesystem Size Used Avail Capacity Mounted on /dev/wd0a 144M 36M 101M 26% / /dev/wd0e 7.0G 2.4G 4.3G 35% /usr
せっかくだからカーネルやらやらを構築したのでメモ。
カーネル取得
最初はこう。
root@kahori[/usr/src]# cvs -d :pserver:anoncvs@anoncvs.netbsd.org:/cvsroot checkout src
2 回目以降はこう。
root@kahori[/usr/src]# cvs update -dP
tools ビルド
tools ってなに。カーネルをコンパイルするときに必要な道具たちだそうな。toolchain とかいう記述も見掛けた。
何も考えずに build.sh tools したら /etc/mk.conf がほげほげと大量にエラーが出た。/etc/mk.conf を置いたのは pkgsrc を使うときだったので最初に build.sh tools したときは /etc/mk.conf は存在してなかった。とりあえずこんなふうにして逃げる。
/etc/mk.conf の意味を調べんと。
root@kahori[/usr/src]# mv /etc/mk.conf /etc/mk.conf.src
root@kahori[/usr/src]# ./build.sh tools : ===> Tools built to /usr/src/obj/tooldir.NetBSD-2.99.10-i386 ===> build.sh started: Sat Nov 6 19:04:15 JST 2004 ===> build.sh ended: Sat Nov 6 19:26:26 JST 2004 ===> Summary of results: build.sh command: ./build.sh tools build.sh started: Sat Nov 6 19:04:15 JST 2004 No nonexistent/bin/nbmake, needs building. Bootstrapping nbmake MACHINE: i386 MACHINE_ARCH: i386 TOOLDIR path: /usr/src/obj/tooldir.NetBSD-2.99.10-i386 DESTDIR path: /usr/src/obj/destdir.i386 RELEASEDIR path: /usr/src/obj/releasedir Created /usr/src/obj/tooldir.NetBSD-2.99.10-i386/bin/nbmake makewrapper: /usr/src/obj/tooldir.NetBSD-2.99.10-i386/bin/nbmake-i386 Updated /usr/src/obj/tooldir.NetBSD-2.99.10-i386/bin/nbmake-i386 Tools built to /usr/src/obj/tooldir.NetBSD-2.99.10-i386 build.sh started: Sat Nov 6 19:04:15 JST 2004 build.sh ended: Sat Nov 6 19:26:26 JST 2004 ===> .
カーネルコンパイル
あいからずいまだに GENERIC なんだが。
root@kahori[/usr/src]# ./build.sh kernel=GENERIC |& tee kernel.log : text data bss dec hex filename 6696898 155236 492948 7345082 7013ba netbsd ===> Kernels built from GENERIC: /usr/src/sys/arch/i386/compile/obj/GENERIC/netbsd ===> build.sh started: Sat Nov 6 22:11:25 JST 2004 ===> build.sh ended: Sat Nov 6 22:53:23 JST 2004 ===> Summary of results: build.sh command: ./build.sh kernel=GENERIC build.sh started: Sat Nov 6 22:11:25 JST 2004 No nonexistent/bin/nbmake, needs building. Bootstrapping nbmake MACHINE: i386 MACHINE_ARCH: i386 TOOLDIR path: /usr/src/obj/tooldir.NetBSD-2.99.10-i386 DESTDIR path: /usr/src/obj/destdir.i386 RELEASEDIR path: /usr/src/obj/releasedir Created /usr/src/obj/tooldir.NetBSD-2.99.10-i386/bin/nbmake makewrapper: /usr/src/obj/tooldir.NetBSD-2.99.10-i386/bin/nbmake-i386 Updated /usr/src/obj/tooldir.NetBSD-2.99.10-i386/bin/nbmake-i386 Building kernel without building new tools Building kernel: GENERIC Build directory: /usr/src/sys/arch/i386/compile/obj/GENERIC Kernels built from GENERIC: /usr/src/sys/arch/i386/compile/obj/GENERIC/netbsd build.sh started: Sat Nov 6 22:11:25 JST 2004 build.sh ended: Sat Nov 6 22:53:23 JST 2004 ===> .
カーネルインストール
root@kahori[/usr/src/sys/arch/i386/compile/obj/GENERIC]# make install rm -f /onetbsd ln /netbsd /onetbsd cp netbsd /nnetbsd mv /nnetbsd /netbsd
ユーザーランドの構築
root@kahori[/usr/src]# ./build.sh build |& tee build.log : Build started at: Sat Nov 6 23:59:28 JST 2004 Build finished at: Sun Nov 7 05:41:41 JST 2004 ===> Successful make build ===> build.sh started: Sat Nov 6 23:59:04 JST 2004 ===> build.sh ended: Sun Nov 7 05:41:41 JST 2004 ===> Summary of results: build.sh command: ./build.sh build build.sh started: Sat Nov 6 23:59:04 JST 2004 No nonexistent/bin/nbmake, needs building. Bootstrapping nbmake MACHINE: i386 MACHINE_ARCH: i386 TOOLDIR path: /usr/src/obj/tooldir.NetBSD-2.99.10-i386 DESTDIR path: /usr/src/obj/destdir.i386 RELEASEDIR path: /usr/src/obj/releasedir Created /usr/src/obj/tooldir.NetBSD-2.99.10-i386/bin/nbmake makewrapper: /usr/src/obj/tooldir.NetBSD-2.99.10-i386/bin/nbmake-i386 Updated /usr/src/obj/tooldir.NetBSD-2.99.10-i386/bin/nbmake-i386 Successful make build build.sh started: Sat Nov 6 23:59:04 JST 2004 build.sh ended: Sun Nov 7 05:41:41 JST 2004 ===> .
ユーザーランドのインストール
root@kahori[/usr/src]# ./build.sh install=/ |& tee install.log : postinstall checks passed: etc_release wscons postinstall checks failed: postinstall defaults mtree gid uid periodic rc ssh x11 makedev postfix obsolete sendmail hosts To fix, run: /usr/src/etc/postinstall -s /usr/src -d // fix postinstall defaults mtree gid uid periodic rc ssh x11 makedev postfix obsolete sendmail hosts ================================ make installworld started at: Sun Nov 7 07:23:50 JST 2004 make installworld finished at: Sun Nov 7 07:38:15 JST 2004 ===> Successful installworld to / ===> build.sh started: Sun Nov 7 07:23:28 JST 2004 ===> build.sh ended: Sun Nov 7 07:38:15 JST 2004 ===> Summary of results: build.sh command: ./build.sh install=/ build.sh started: Sun Nov 7 07:23:28 JST 2004 No nonexistent/bin/nbmake, needs building. Bootstrapping nbmake MACHINE: i386 MACHINE_ARCH: i386 TOOLDIR path: /usr/src/obj/tooldir.NetBSD-2.99.10-i386 DESTDIR path: /usr/src/obj/destdir.i386 RELEASEDIR path: /usr/src/obj/releasedir Created /usr/src/obj/tooldir.NetBSD-2.99.10-i386/bin/nbmake makewrapper: /usr/src/obj/tooldir.NetBSD-2.99.10-i386/bin/nbmake-i386 Updated /usr/src/obj/tooldir.NetBSD-2.99.10-i386/bin/nbmake-i386 Successful installworld to / build.sh started: Sun Nov 7 07:23:28 JST 2004 build.sh ended: Sun Nov 7 07:38:15 JST 2004 ===> .
/etc 以下のファイルの更新
etcupdate -al してファイルの差分を見ようとしたら「 invalid charset name 」と怒られた。
環境変数 PAGER を less に設定してた。jless に設定して回避。
rin@kahori[~]% echo $PAGER less -X
rin@kahori[~]% echo $PAGER jless -X
ついでに環境変数 LESSCHARSET を設定してなかったので明示的に設定した。JLESSCHARSET と合わせるとこのような設定。
root@kahori[/usr/src]# echo $LESSCHARSET ascii
root@kahori[/usr/src]# echo $JLESSCHARSET japanese
ようやっと etcupdate 。
root@kahori[/usr/src]# etcupdate -al : postinstall checks passed: postinstall etc_release defaults mtree periodic ssh wscons makedev postfix postinstall checks failed: gid uid rc x11 obsolete sendmail hosts To fix, run: /etc/postinstall -s /usr/src -d / fix gid uid rc x11 obsolete sendmail hosts *** All done
ひとまず言われたとおりに実行。
root@kahori[/usr/src]# /etc/postinstall -s /usr/src -d / fix gid uid rc x11 obsolete sendmail hosts : postinstall fixes passed: rc obsolete hosts postinstall fixes failed: gid uid x11 sendmail
まだ fail してる。
etcupdate したときにチェック、修正した対象の確認。
root@kahori[/usr/src]# /etc/postinstall list Source directory: /usr/src Target directory: / Supported items: Item Description ---- ----------- postinstall /etc/postinstall being up to date etc_release /etc/release being up to date defaults /etc/defaults/ being up to date mtree /etc/mtree/ being up to date gid required GIDs uid required UIDs periodic /etc/{daily,weekly,monthly,security} being up to date rc /etc/rc* and /etc/rc.d/ being up to date ssh ssh configuration update x11 x11 configuration update wscons wscons configuration file update makedev /dev/MAKEDEV being up to date postfix /etc/postfix/ being up to date obsolete obsolete file sets and minor libraries sendmail sendmail configuration being up to date hosts /etc/hosts being up to date
x11 と sendmail は /etc/postinstall したときに fail と出たが、list を見ると update したという知らせしか書いてない。これはこれでいいのか?
あとは gid と uid かな。