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







