「BSD小僧の日記」
2005/10版 その2



2005/10/11 (火)

3年と239日目

決断の日。

そして、あとから合流。外で声が聞こえたのでわかった。

二回目だと少し慣れてきているような。


[View Log(0)] [Trackback]
Name: Comment:

2005/10/12 (水)

3年と240日目

少し早めに起きる。やればできる。


[View Log(0)] [Trackback]
Name: Comment:

どーん

どーんと200ほど。


[View Log(0)] [Trackback]
Name: Comment:

なつかしい

なにもかもなつかしい。

なんかすごい時間に。


[View Log(0)] [Trackback]
Name: Comment:

2005/10/13 (木)

3年と241日目

なんとか朝起きる。

かなりゆっくりの時間で出発。

そんな私はぼろぼろの身体。


[View Log(0)] [Trackback]
Name: Comment:

NetBSD/evbarm (Armadillo-9)

Hさんから直接メールで調査の依頼が来ていたのでやってみる。

色々調査して結果をメールした。

すぐに丁寧な解説付きでメールが送られてきた。

EP93xxの二つのクロック入力とその一方が狂ってしまうことがある件。

Armadillo-9にはRTCが二つあって、EP93xx内蔵RTCとバッテリバックアップのある外付RTC。で、前者のドライバは作成済みらしい。すばらしい。後者のドライバについては着手はしているものの、色々トラブルがあって大変みたい。

Armadillo-9の本家へのマージも近いということかな。楽しみ楽しみ。


[View Log(0)] [Trackback]
Name: Comment:

NetBSD/evbppc (OBS266)

ふっと反応がなくなってしまったのでシリアルコンソールにつないでみたらpanicしていた。

0x83b1b9d0: at panic+0x19c
0x83b1ba60: at cpu_switch+0x68
0x83b1ba70: at mi_switch+0x20c
0x83b1bab0: at ltsleep+0x408
0x83b1bae0: at biowait+0x74
0x83b1bb10: at genfs_gop_write+0x4a0
0x83b1bbd0: at genfs_putpages+0x780
0x83b1bcf0: at ffs_putpages+0x3c
0x83b1bd10: at ffs_full_fsync+0x3c8
0x83b1bd90: at ffs_fsync+0x7c
0x83b1be60: at sys_fsync+0x110
0x83b1bed0: at syscall_plain+0xe8
0x83b1bf40: user SC trap #95 by 0x41ae3568: srr1=0xc030
            r1=0xfffe2c70 cr=0x40424082 xer=0x20000000 ctr=0x41ae3560 esr=0 pid=0x65

syncしたが帰ってこないので、電源を入れ直す。すると、ROM MonitorのPCI Ethernetの検出で止まってしまった。

405GPr 1.2 ROM Monitor (5/25/02)
 --------------------- System Info ----------------------
 Processor         = 405GPr (New mode),   PVR: 50910951
 CPU speed         = 266 MHz
 PLB speed         = 133 MHz
 OPB speed         = 66 MHz
 EBC speed         = 66 MHz
 PCI Bus speed     = 33 MHz (Async)
 VCO speed         = 800 MHz
 Feedback Clock    = CPU
 Amount of SDRAM   = 64 MBytes 
 Internal PCI arbiter enabled
 --------------------------------------------------------
 --- Device Configuration ---
 Power-On Test Devices:
   000  Enabled   System Memory [RAM]
   002  Enabled   Ethernet      [ENET]
   003  Enabled   PCI Ethernet  [ <-ここで止まる

うーむ。ついに壊れたか。と思って再度電源を入れ直してみると無事に起動した。やれやれ。最近はUSL-5Pが止まってしまったりOBS50でNetBSDのブートローダが動かなくなってしまったりと困った事態が続いているので嫌な予感がしてしまうなぁ。

OBS266のブート後にsyslogをみてみたがpanicを引き起こす原因のようなものは残っていなかった。あとfsckがかからなかったのでsyncはうまくいっていたのかなぁ。


[View Log(0)] [Trackback]
Name: Comment:

NetBSD/macppc (ts版)

Firefoxが動いた。動かないよという話を聞いていたのだけれど、ダメ元でpkgsrcから作って動かしてみたらあっさりと動いた。

個人的にはMozillaよりFirefoxのほうが使いやすいと思っているのでとても嬉しい。でもなぜかsazanamiフォントを使ってくれないぞ。あれ、何か設定必要だったっけな。


[View Log(0)] [Trackback]
Name: Comment:

2005/10/14 (金)

3年と242日目

金曜日だが明日もあるので油断ならぬ。が、寝るの遅くないか、きみぃ。


[View Log(0)] [Trackback]
Name: Comment:

定期

なくしたか。

ちょっとみつからんぞ。


[View Log(0)] [Trackback]
Name: Comment:

新型OpenBlockS

話を聞いてきた。

OpenBlockSという名前じゃなくてOpenMicroServerという名前らしい。これで、OpenBlockSじゃないという理由で買わずに済むかもとか。

発売は11月末らしい。が、さらに遅くなる可能性もあるようだ。

スペックや大きさなどは既報のとおり。

価格は56,400円 (税込)。

むー、高いな。OBS266 128Mbytesが38,800円ぐらいだったと思うが、それでもかなり高いのに。Giga LANDISKとか軽ーく買えちまうな。

ちなみにOBS266は継続して販売される模様で、生産終了の予定は現在のところないらしい。生産終了が確定したら早急にアナウンスを行うとのこと。

色はつや消しの黒。うーん、BLACKBOXの機械みたいだ。カラフル、透明、白、と色で楽しませるOBSの歴史からすると非常に平凡な色になってしまった。

また2.5inch HDDは搭載できない。これもつらいな。大容量CFやMicroDriveで代用できるという話だが、OBS266に60GbytesのHDDを搭載して23Gbytesほど消費しているのだが。USBで外付けしろといっても邪魔だよね。

温度とか苛酷な環境での動作を保証すべく増強されたところは家庭用サーバとしてみるとマイナスポイントばかり目立つ感じだ。

GbEやPoEなども家庭用サーバとして訴求力に乏しいなぁ。

一方で、仕事で使う他人にとっては嬉しい機能が多い。

いずれにせよ一般ユーザより法人ユーザのほうが数も出るし、やむを得ないのかもしれないな。一般ユーザとしては少々寂しいところ。

OBS400を出してほしいといったら、ファン付になっちゃいますよとのコメント。うーん、じゃぁPCIなし、tlpもなし、フロントのシリアルなし、でもUSB付けたOBS266出して。

さて、NetBSDについての情報も聞いてきた。

PowerPCからMIPSに変わったことでNetBSDを移植する楽しみもある。

USB2.0のチップやIntelのGbE (二個) はPCIにぶらさがっているようだ。PoEのEhterはCPUオンチップのものらしい。

GbEはGD82541PIの無鉛品であるLU82541PIでUSBはNECのuPD720101F1-EA8-Aでどちらもメジャーな石のようである。

ということで、PCIが動けばデバイスの多くが動いてくれそう。

あと、CFスロットはCPUオンチップのPCMCIAコントローラを使っている模様。TrueIDEかPCMCIAで動くかは未定だがNetBSD的には自分でがんばればどうにでもなる世界かもしれない。まぁしかしCFスロットはドライバ必須ということだなぁ。

Alchemy AU1550ってNetBSD的にどうだったっけかな。

あと、ブートローダは「やーもん」らしい。もちろんtftpを使ったブートも可能なのでブートローダで苦労することはなさそうですな。

基板上のJTAGピンは試作品ではピンヘッダが生えてたけど発売するときには生えていないらしい。

OBSとOMSは路線が違うことを認識すれば、まぁ売れるんじゃないだろうか。

個人的にはやっぱり次世代OBSを希望したいです。OBS266の後継の登場を待ちたい気分です (でも出ないでしょう)。


[View Log(0)] [Trackback]
Name: Comment:

2005/10/15 (土)

3年と243日目

朝から瑞江方面の体育館へ。

昨年とは比べられない程にしっかりと活躍。

ビデオを持つ手もおぼつかないほどですよ。

昼ごろに終わってラーメン食べて帰ってきた。塩ラーメンなかなか。


[View Log(0)] [Trackback]
Name: Comment:

契約

してきました。ということで一段落です。


[View Log(0)] [Trackback]
Name: Comment:

寿司

桃太郎寿司にいってきた。

最近は寿司で胸やけするなぁ。良く噛んで食べましょうということかなぁ。


[View Log(0)] [Trackback]
Name: Comment:

2005/10/16 (日)

3年と244日目

雨なので外にもいけず。

近くのホームセンターで眼の保養。まだ一年先なので。

ホームセンターで走りまくり汗かきまくり。


[View Log(0)] [Trackback]
Name: Comment:

NetBSD/evbarm

Armadillo-9のMicroDriveを有効活用すべくpkgsrcから色々入れようと思い、そういえばmeta packageというのがあったのを思い出す。

meta packageを作っておくと何かと便利そうなので作ってみることにした。

meta-pkgs/web-serverを参考に自分の入れたい物を並べて書けば良いみたい。

emacs関係はemacs-nox11を使うように/etc/mk.confにEMACS_TYPE=emacs21nox11と書いておいた。

こんな感じのMakefile。

# $NetBSD$
#
DISTNAME=       tokuda-1.0
PKGREVISION=    1
CATEGORIES=     meta-pkgs
MASTER_SITES=   # empty
DISTFILES=      # empty
MAINTAINER=     tokuda@tokuda.net
COMMENT=        Provides some useful tools for tokuda
# mk.conf
# DEPENDS_TARGET+=package
# EMACS_TYPE=emacs21nox11
# Tools
DEPENDS+=       zsh-4.*:../../shells/zsh/
#DEPENDS+=      lv-4.*:../../misc/lv/
DEPENDS+=       screen-4.*:../../misc/screen/
DEPENDS+=       sudo-1.*:../../security/sudo/
# Mail, IRC, Web
DEPENDS+=       emacs-nox11-21.*:../../editors/emacs-nox11/
DEPENDS+=       anthy-elisp-6700*:../../inputmethod/anthy-elisp/
DEPENDS+=       wl-2.*:../../mail/wl/
DEPENDS+=       riece-1.*:../../chat/riece/
DEPENDS+=       w3m-0.5.*:../../www/w3m/
# Mail Server 
DEPENDS+=       fetchmail-6.*:../../mail/fetchmail/
DEPENDS+=       cyrus-saslauthd-2.*:../../security/cyrus-saslauthd/
DEPENDS+=       cy-crammd5-2.*:../../security/cy2-crammd5/
DEPENDS+=       cy-digestmd5-2.*:../../security/cy2-digestmd5/
DEPENDS+=       cy-login-2.*:../../security/cy2-login/
DEPENDS+=       cy-plain-2.*:../../security/cy2-plain/
DEPENDS+=       cyrus-imapd-2.*:../../mail/cyrus-imapd/
# Web Server
DEPENDS+=       bozohttpd-2005*:../../www/bozohttpd/
DEPENDS+=       thttpd-2.*:../../www/thttpd/
# Diary
DEPENDS+=       nkf-2.*:../../converters/nkf/
DEPENDS+=       qkc-1.*:../../converters/qkc/
DEPENDS+=       sitecopy-0.13.*:../../www/sitecopy/
#DEPENDS+=      -.*:../..///
EXTRACT_ONLY=   # empty
NO_CHECKSUM=    yes
NO_CONFIGURE=   yes
NO_BUILD=       yes
NO_MTREE=       yes
do-install:     # empty
.include "../../mk/bsd.pkg.mk"

何度も途中で止まったけれど、一度作ってしまえば相当便利だと思った。

特に遅いarchだと走らせて寝てしまえば良いので気楽かなぁ。

あとbulk buildみたいに失敗しても次に進むような仕掛けがあるといいんだけど。

しかし、lvがコンパイルできないのには困ったなぁ。

あ、distccも入れといたほうが良さそうだ。

さて、走らせて寝るか。


[View Log(0)] [Trackback]
Name: Comment:

2005/10/17 (月)

3年と245日目

朝から雨がふってうんざり。最近は寒いし、ちょっと厚着で出かける。


[View Log(0)] [Trackback]
Name: Comment:

NetBSD/evbppc

pthreadについて掲示板に書き込みがあった。とても嬉しい。

書き込みによると、

どうもlib/pthread/arch/powerpc/pthread_md.hの中で、MSRの初期値を0xd032に決め打ちしているのが、原因の一端みたいです。
アドホックですが、IBM4XX向けの値0xc030に書き換えてlibpthreadを再コンパイルすると、9/22の日記にあったくらいの簡単なプログラムなら、動きました。

とのこと。なんと動くようになるらしい。すばらしい!

ということでpthread_md.hをのぞいてみる。するとarch/powerpc/include/psl.hから0xd032に決めた、ということが書かれている。

/*
 * Set initial, sane values for registers whose values aren't just
 * "don't care".
 * 0xd032 is PSL_USERSET from arch/powerpc/include/psl.h
 */
#define _INITCONTEXT_U_MD(ucp)                                          \
        (ucp)->uc_mcontext.__gregs[_REG_MSR] = 0xd032;

ということでarch/powerpc/include/psl.hを見てみる。

するとこのようになっている。

#if defined(PPC_OEA)
extern int cpu_psluserset, cpu_pslusermod;
#define PSL_USERSET             cpu_psluserset
#define PSL_USERMOD             cpu_pslusermod
#else /* PPC_IBM4XX */
#define PSL_USERSET             (PSL_EE | PSL_PR | PSL_ME | PSL_IR | PSL_DR)
#define PSL_USERMOD             (0)
#endif /* PPC_OEA */

ということでIBM4XXは(PSL_EE | PSL_PR | PSL_ME | PSL_IR | PSL_DR)らしい。定義は次のようになっている。

#define PSL_VEC         0x02000000      /* AltiVec vector unit available */
#define PSL_POW         0x00040000      /* power management */
#define PSL_TGPR        0x00020000      /* temp. gpr remapping (mpc603e) */
#define PSL_ILE         0x00010000      /* interrupt endian mode (1 == le) */
#define PSL_EE          0x00008000      /* external interrupt enable */
#define PSL_PR          0x00004000      /* privilege mode (1 == user) */
#define PSL_FP          0x00002000      /* floating point enable */
#define PSL_ME          0x00001000      /* machine check enable */
#define PSL_FE0         0x00000800      /* floating point interrupt mode 0 */
#define PSL_SE          0x00000400      /* single-step trace enable */
#define PSL_BE          0x00000200      /* branch trace enable */
#define PSL_FE1         0x00000100      /* floating point interrupt mode 1 */
#define PSL_IP          0x00000040      /* interrupt prefix */
#define PSL_IR          0x00000020      /* instruction address relocation */
#define PSL_DR          0x00000010      /* data address relocation */
#define PSL_PM          0x00000008      /* Performance monitor marked mode */
#define PSL_RI          0x00000002      /* recoverable interrupt */
#define PSL_LE          0x00000001      /* endian mode (1 == le) */

ということで計算してみると、0xd030になる。あれぇ、0xc030じゃなかったかなぁ。

まぁ、後で試してみよう。


[View Log(0)] [Trackback]
Name: Comment:

2005/10/18 (火)

3年と246日目

二日連続で朝から雨がふってうんざり。今日も厚着で出かける。


[View Log(0)] [Trackback]
Name: Comment:

NetBSD/evbppc

lib/pthread/arch/powerpc/pthread_md.hの件を実際に試してみる。

まずは0xc030に書き換えてlibpthreadを再コンパイル。

できあがったlibpthread.*を/usr/libにコピーしていざブート。

そして、digを実行。

bs266# uname -a
NetBSD obs266 3.99.9 NetBSD 3.99.9 (OPENBLOCKS266) #0: Sat Sep 24 17:33:38 UTC 2005  root@mini:/usr/export/o/20050924/evbppc/sys/arch/evbppc/compile/OPENBLOCKS266 evbppc
obs266# ldd /usr/bin/dig
/usr/bin/dig:
        -lpthread.0 => /usr/lib/libpthread.so.0
        -lc.12 => /usr/lib/libc.so.12
obs266# dig www.netbsd.org
; <<>> DiG 9.3.0 <<>> www.netbsd.org
;; global options:  printcmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 25264
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 5, ADDITIONAL: 3
;; QUESTION SECTION:
;www.netbsd.org.                        IN      A
;; ANSWER SECTION:
www.netbsd.org.         86322   IN      A       204.152.190.12
;; AUTHORITY SECTION:
netbsd.org.             31617   IN      NS      ns.netbsd.org.
netbsd.org.             31617   IN      NS      adns1.berkeley.edu.
netbsd.org.             31617   IN      NS      adns2.berkeley.edu.
netbsd.org.             31617   IN      NS      uucp-gw-1.pa.dec.com.
netbsd.org.             31617   IN      NS      uucp-gw-2.pa.dec.com.
;; ADDITIONAL SECTION:
ns.netbsd.org.          31617   IN      A       204.152.190.11
adns1.berkeley.edu.     5302    IN      A       128.32.136.3
uucp-gw-2.pa.dec.com.   9818    IN      A       204.123.2.19
;; Query time: 51 msec
;; SERVER: 192.168.100.1#53(192.168.100.1)
;; WHEN: Tue Oct 18 16:26:04 2005
;; MSG SIZE  rcvd: 223
obs266# 

動いたー!! すばらしー!!

さて、昨日は0xc030じゃなくて0xd030じゃないかと思っていた件についても試してみた。結果はNG。

IRCで顛末について報告しているとsys/arch/evbppc/include/psl.hについて教えてもらう。

たしかにこちらでは次のようになっており0xc030である。

#ifdef PPC_IBM4XX
/* 4xx don't have PSL_RI */
#undef PSL_USERSET
#ifdef PPC_IBM403
#define PSL_USERSET     (PSL_EE | PSL_PR | PSL_ME | PSL_IR | PSL_DR)
#else
/* Apparently we get unexplained machine checks, so disable them. */
#define PSL_USERSET     (PSL_EE | PSL_PR | PSL_IR | PSL_DR)
#endif

ということで次のようにするのがやっぱり正しいらしい。

--- lib/libpthread/arch/powerpc/pthread_md.h.orig     2005-10-18 15:49:38.000000000 +0000
+++ lib/libpthread/arch/powerpc/pthread_md.h    2005-10-18 16:34:10.000000000 +0000
@@ -57,7 +57,7 @@
  * 0xd032 is PSL_USERSET from arch/powerpc/include/psl.h
  */
 #define _INITCONTEXT_U_MD(ucp)                                         \
-       (ucp)->uc_mcontext.__gregs[_REG_MSR] = 0xd032;
+       (ucp)->uc_mcontext.__gregs[_REG_MSR] = 0xc030;
 
 /*
  * Usable stack space below the ucontext_t.

さて、IBM4XXで動いて嬉しいのだけれど、このファイルはpowerpc全体に影響するという件についても考えなくてはならない。

むしろ0xc030でmacppcなどがちゃんと動作してくれれば、動作範囲のより広い0xc030を採用すべきという考え方もあるんじゃないか、という話をIRCでしていた。

やっぱり素のNetBSD/macppcも動かせるようにしたほうがいいのかな。また今度やろう。


[View Log(0)] [Trackback]
Name: Comment:

NetBSD/evbarm (Armadillo-9)

次のようなメッセージで止まっていた。

===< Building for cyrus-imapd-2.2.12nb2
中略
### Building chartables...
rm -f chartable.c
./mkchartable  -m ./charset/unifix.txt   -m ./charset/unidata2.txt  ./charset/*.t  > chartable.c  || (rm -f chartable.c && exit 1)
mkchartable: expanding unicode mappings...
mkchartable: expanding unicode mappings...
mkchartable: expanding unicode mappings...
mkchartable: building expansion table...
mkchartable: mapping unicode...
mkchartable: mapping UTF-8...
mkchartable: mapping UTF-7...
mkchartable: mapping ./charset/big5.t...
mkchartable: mapping ./charset/gb2312.t...
mkchartable: mapping ./charset/iso-2022-jp.t...
mkchartable: mapping ./charset/iso-2022-kr.t...
mkchartable: mapping ./charset/iso-8859-1.t...
mkchartable: mapping ./charset/iso-8859-15.t...
mkchartable: mapping ./charset/iso-8859-2.t...
mkchartable: mapping ./charset/iso-8859-3.t...
mkchartable: mapping ./charset/iso-8859-4.t...
mkchartable: mapping ./charset/iso-8859-5.t...
mkchartable: mapping ./charset/iso-8859-6.t...
mkchartable: mapping ./charset/iso-8859-7.t...
mkchartable: mapping ./charset/iso-8859-8.t...
mkchartable: mapping ./charset/iso-8859-9.t...
mkchartable: mapping ./charset/koi8-r.t...
mkchartable: mapping ./charset/us-ascii.t...
mkchartable: mapping ./charset/windows-1252.t...
mkchartable: mapping ./charset/windows-1256.t...
### Done building chartables.
cc -c -I..  -I/usr/include/krb5 -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/db4 -I/usr/include -I/usr/include  -I/usr/pkg/include -DHAVE_CONFIG_H -O2 -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/db4 -DPIC -fPIC  chartable.c
UVM: pid 346 (sendmail), uid 0 killed: out of swap
UVM: pid 8481 (atrun), uid 0 killed: out of swap

うーむ、swapがたりなくなったのかな。dailyあたりと衝突したんだろうか。

電源斷、再起動して、もう一度動かしてみたけれどchartable.cのコンパイルはすごく時間がかかっているみたい。やはりdistccあたりでやらせるべきだなぁ。

とりあえずcyrus-imapdは飛ばして進めるか。


[View Log(0)] [Trackback]
Name: Comment:

2005/10/19 (水)

3年と247日目

夜はニアミス。

コロッケ半分ほどたべたり。

すばやくロボットを作ってみたらけっこう良くできたのでまた作ろう。


[View Log(0)] [Trackback]
Name: Comment:

アキバ

BSDカーネルの設計と実装-FreeBSD詳解-, ASCII, 6,000円, 書泉ブックタワー

買っときましょう。


[View Log(0)] [Trackback]
Name: Comment:

NetBSD/evbppc

libpthreadの件で掲示板に書き込んでいただいた方とmpc860でお世話になっている方からメールをもらう。

今日はちょっと眠いので寝ます。


[View Log(0)] [Trackback]
Name: Comment:

NetBSD/evbarm (Armadillo-9)

meta packageのmakeが終わっていた。distcc足しておかねば。


[View Log(0)] [Trackback]
Name: Comment:

2005/10/20 (木)

3年と248日目

それなりに寝ているのだけど朝起きられませんね。


[View Log(0)] [Trackback]
Name: Comment:

のみかい

なんか終電がなくなっていた。

歩いてみた。40分以上かかったよ。


[View Log(0)] [Trackback]
Name: Comment:

NetBSD/evbarm (Armadillo-9)

distcc足してmakeしておいた。

make -i packageと-iをつけると失敗したあとも継続してmakeしてくれるとIRCで教えてもらった。

いつもありがとうございます。


[View Log(0)] [Trackback]
Name: Comment:


メールはこちらへ...[BSD小僧 (tokuda @(at) tokuda .(dot) net)]

この日記は、GNSを使用して作成されています。