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 かな。


