2011年6月アーカイブ



工具箱を固定するフレームは鉄アングル材から作ることにしました。以前設置
しようとしていた旋盤の後とはまた大きさが異なるので、なんにしろ作り直し。
久々の溶接となると腰が重くて(勘がにぶって最初は絶対失敗するんだ。それが
怖い)、作業進まず。暑過ぎるし。



V7FSはなんとかうまくマージできたかな。後はmakefsの対応だけだ。実は makefsコマンドは今迄知らなかったのだけど、これはいいかも。フラッシュ ROMの後にくっつけたいなんて時に便利そう。vndでもできることはできるのだ けど、ディスクラベルを設定するためにddで下駄を履かせるのが結構手間だし、 時間がかかる。結局、専用のスクリプトがいるし。 今迄こんな感じでやってた。 Makefile
new:
	rm -f ohayo ohayo.img
	newfs_v7fs -vP -Bp -s 90655 -F ohayo
	dd if=ohayo of=ohayo.img bs=512 seek=2 conv=notrunc
	vnconfig vnd0 ohayo.img
	./v7fsdisklabel.pl
	disklabel -R vnd0 new
	disklabel vnd0
	vnconfig -u vnd0
	rm -f foo new ohayo

mount:
	vnconfig vnd0 ohayo.img
	mount_v7fs -Bp -o nodev,nosuid /dev/vnd0a /mnt
	mount_v7fs -o getargs /dev/vnd0a /mnt

umount:
	umount -f /mnt
	vnconfig -u vnd0
	dd if=ohayo.img of=ohayo bs=512 skip=2 conv=notrunc
	fsck_v7fs -o free,data -d -y -P -Bp -F ohayo
v7fsdisklabel.pl
#!/usr/pkg/bin/perl
$drive = 'vnd0';

print "disklabel $drive > foo\n";
print "disklabel -r -R $drive foo\n";

system "disklabel $drive > foo";
open(IN, "<foo");
open(OUT, ">new");
while (<IN>) {
    if (/total sectors: (\d+)/) {
	($whole_size) = ($1);
    }

    last if /^\d+ partitions:/;
	print OUT;
}
close(IN);

$a_start = 2;
$a_size = $whole_size - 2;

print OUT "4 partitions:\n";
print OUT "  a: $a_size $a_start Version 7 0 0 0\n";
print OUT "  d: $whole_size 0 unused 0 0\n";
close(OUT);
print "disklabel -R $drive new\n";
exit;


以前、撮影したトマト、順調に大きくはなっているものの、染みが。この段階だと
ちょっと気になる。病気になるとほぼ全滅だからね...。



ニンジンはというと、雨で倒されたのかなと思っていたのが、いつまで経って もおかしいので、じっくり様子を見てみたら、アブラムシにやられていた。みっ ちり。

一株づつ入念にエアブローして除去。復活できるだろうか。まだ育って欲しい ところなのだ。




旋盤周りの整理棚のはずだったのだけど、現物ガレージにもっていって、いろ
いろ考えると、これはむしろ工具棚にして、旋盤の周りはもっとふさわしい形
があるような気がしてきたので、上下ひっくり返して工具棚にすることに。

うちかけの金具が邪魔して水平まで開かないので、トリマで、相手側を削りこ みました。

V7FS、ついにコミットしました。嫌な汗かいて手が震えました...。3ヶ月かか りましたね。



旋盤の周りにつけてあったネットや棚を撤去。それらを取り付けていた柱は製
材して再利用。これはもともと障子の枠で、椹で扱い易いのだ。



このあたりかな。

塗装まで。



ピアノ丁番で連結して、うちかけをつけて本体は完成。一箱、ちょっと矩が甘
かった。展開時。



収納時。




NSF250Rいいね...久々に穴が開く程雑誌をみつめてしまった。おニューのマシ
ンを、サービスマニュアル首っぴきでバラして..、そんなレースを最後一度だ
けやりたい。でも残念ながら4ストはおもしろくないんだ。音、エンジンフィー
ル、香り。なにもかも合わない。4ストならモーターでもいいよってくらいだ。
でも欲しいな〜。いつまでも2ストに乗れるわけじゃないと思うと、今、2スト
に乗らないんでいつ乗るんだよという気もするし。


わき芽をかいていたら、実になりはじめているのを発見。やっぱりホーム桃太郎、 うちと相性いいな。

旋盤周りの整理棚、塗装。ここは汚れやすく耐油性が必要なのでロックエース のマルチトップクリア-Q10:1型で。この面に主剤100g、裏に200g。仕上り感か らするともう一吹きしたいところだけど、ここまでで。
杉は強烈な節目が、そのままだと嫌らしいけれど、ステイン着色が入るならちょ うどよく木目が出ていいかも。この写真の裏板は死節のひどい黒芯を5枚張り合 わせた、当初の予定では見えない場所にしようと思っていた部分なのだけど、 これが一番いいような気がしてきた。

V7FS続き。うは、まだそんなにあったか...。
	- return (error); instead of return error;
これは納得いかぬ。 /usr/share/misc/styleでは
	/* No parentheses are needed around the return value. */
	return eight;
あともうちょっとだ。



旋盤周りの整理棚、ステインの塗りが汚なくなってしまった場所は削り落とし
てもう一度。なんとか許せるところまで。このステイン色合いはとても気に入っ
ているのだけど...。どうも使い辛い。



#600で削って塗装準備まで。

V7FS続き。メールを書いた。これが一番大変な作業なんだよね...。こんな誰得 なコードはコミットできるのか?


旋盤周りの整理棚、飛び出たホゾを鉋で削って、仕上げ削り。うむ。この時の
満足感のためにホゾを刻んでるといってもいい。使いはじめるとどうでもいい
し。この後#320でサンディング。



せっかくの梅雨の晴れ間なので、トマト用に麻紐をベランダから張りました。 今年は緑のカーテンに上まで伸ばしていこうという目論見。

成長はというと、早いのはやっと花が咲いたくらいで、例によって一般にくら べて成長が遅いです。

外側もステインで着色。内側は思いっきり薄くしてみたのに対し、外側は普通 に濃くしてみた。

こうなってしまうとリカバリは削り直しになってしまう。このステインに粘着 分があるのが難しい。妙に乾燥早いし。定着は悪くとも、ただ顔料を溶いただ けくらいの方がいいのだけど...。

V7FS続き。仕上げにかかってます。(体裁を。fsckをきっちりは辛いです。)
- there are some lines > 80 columns.
納得いかない....emacsでは
(global-set-key "\C-x3" '(lambda ()
                           (interactive)
                           (split-window-horizontally 83)))
として80越えると改行するようにしてるから80越えないのにと思っていたのだ けど、wc -Lしてみたらわかった。改行が入って81になってた...。
- you have minor whitespace issues '=value' instead of '= value' for
  example.
これもまた嫌らしい...。
#!/bin/sh
for i in *.[ch]
do
wc -L $i
awk '{ if (/.=[^ =]./) {print} }' $i
done
これできっちりチェックしました。gccにNetBSD拡張で-Wknfとかで、Warning出 してくれたら楽なんだけどな。KNFは;;; $Id: netbsd.el,v 1.3 1997/09/19 23:13:48 enami Exp $を使っています。
あと
(defadvice font-lock-mode (before my-font-lock-mode ())
  (font-lock-add-keywords
   major-mode
   '(("[ \t]+$" 0 my-face-u-1 append)
     ("#define " 0 my-face-u-1 append)
     )))
(ad-enable-advice 'font-lock-mode 'before 'my-font-lock-mode)
(ad-activate 'font-lock-mode)
こんなのを入れておくと、見えなくていいものが見えてモヤモヤするかも。結 構変な空白が入っていたりするもの。NetBSDのKNF的には#defineの後は空白で もTABでもどっちでもよくて周りに合わせましょうということなので、そのファ イルの場の雰囲気を見極めるのにいいかも。
プログレスバーは/sbin/fsckのを使用。ちょこっと使うにはfsckの方がftpのよ り楽そうだったので。


旋盤周りの整理棚、組み立てました。展開時にはこんな感じで、



収納時はこんな感じなのだけど、右側はピアノヒンジでは強度的に不安な気 も...。ある程度垂れ下がるので底部にガイドはいるね。
今回、木取りをきっちりしたので節がなくてさっぱり風味。正直、鉋がけはと ても楽です。これから先の暴れも少ないし。いいこと尽くめなのだけど、ちょっ と物足りないような気も。



旋盤周りの整理棚、鉋を砥ぎ直して、裏板と棚板、内側を仕上げ削りして#320
でサンディング、水性ステインで色をつけました。



V7FS続き、またfsckに。ここでちょっとふんばっておくか...。fsck書くのはは じめてだしね。


旋盤周りの整理棚、裏板をはめる溝を留めで。ここはリフトユニットが活躍する
場所なので楽しい。



棚板のアリ溝掘リはルーターユニットで。ルーターのビットはt16.0にセッティ ングしてそのままなので、調整なし。安いルーターならではの富豪的戦略。

棚板は横ルーターテーブルで。この加工はマスキングテープを貼っておかない と角が割れてしまう。ここの寸法はアリ加工してから詰めればいいのだけど、 また忘れてた。EWT-400がまた調子悪くなってきて回転数が上がらずちょっと失 敗。
ここの作業のテンプレートが欲しいな。

裏板はテーブルトップバイスで所定のサイズに。93mmのガイドを使ってケガキ 線に合わせてレールをセットすればOKという算段だ。

切削終了。ここからが悩みどころだ。



旋盤周りの整理棚、ホゾの間の部分を今迄は糸鋸で慎重に切断していたのを、
今回は糸鋸で大雑把に切断してルーターテーブルで仕上げてみた。いいかも。




鑿を砥ぎ直して残りの部分を仕上げ。やっぱり真中にもう一つピンがあった方 がよかったな。

裏板となる杉板は相じゃくりして、接着しました。

V7FS、結構ダメ出しくらった。fsck_v7fsの修正に時間がかかりそうだ。プログ レスバーは、横着して必要最低限のスペックで作ったのだけど、やっぱりftpか らもってくるべきか。このfsckのアルゴリズム自体も、あまりに力づくでお恥 ずかしいのだけど...。


旋盤周りの整理棚、ダブテールスレッドでホゾ切り中。ピンを2個にするならも
うちょっと大きくしておけばよかったかも...。



V7FSは久々にteck-kernにメール。正直自分でもこれでいいと思ってない。まだ おかしいし。VFSのうんざりなロック操作をvnposに押しこめてファイルシステ ムの操作だけを実装すればいいテンプレートになればいいなと思っています。


旋盤周りの整理棚、ホゾをCADで書いてスプレー糊で貼りつけたとこまで。



V7FS、5.99.53でなんとかhpcshでmountrootでブート。でもユーザランドは 5.99.24。5.99.53はローダがおかしいかも。
でもまだ、v7fs_syncに疑問が残る。vgetの中でvwaitしようとするとデバッガ にも落ちれず落ちる。LK_NOWAITなら問題ないけど、それはそれでvnodeがとれ ない時ができてしまう。
Loaded initial symtab at 0x8c2618dc, strtab at 0x8c28fed8, # entries 11136
symbol size = 368249 byte
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
    2006, 2007, 2008, 2009, 2010, 2011
    The NetBSD Foundation, Inc.  All rights reserved.
Copyright (c) 1982, 1986, 1989, 1991, 1993
    The Regents of the University of California.  All rights reserved.

NetBSD 5.99.53 (GENERIC) #5: Thu Jun 16 19:21:23 JST 2011
        uch@angel:/usr/src/sys/arch/hpcsh/compile/GENERIC
HP Jornada 690 (Japanese)
general exception handler:      324 byte
TLB miss exception handler:     352 byte
interrupt exception handler:    284 byte
total memory = 32768 KB
avail memory = 29388 KB
timecounter: Timecounters tick every 15.625 msec
mainbus0 (root)
cpu0 at mainbus0: SH3 132.706 MHz PCLOCK 22.117 MHz
cpu0: 16KB/16B 4-way set-associative I/D-unified cache.
cpu0: U0, P0, P3 write-back; P1 write-back
cpu0: 4-way set-associative 128 TLB entries
cpu0: VPN mode, multiple virtual storage mode
btnmgr has not been converted to device_t
btnmgr0 at mainbus0
wskbd2 at btnmgr0 mux 1
shb0 at mainbus0
rtc0 at shb0
scif0 at shb0
adc0 at shb0
j6x0pwr0 at adc0
j6x0tp0 at adc0
wsmouse0 at j6x0tp0 mux 0
wskbd1 at j6x0tp0 mux 1
j6x0lcd0 at shb0: brightness 28, contrast 11
hd64461if0 at shb0
hd64461video0 at hd64461if0: frame buffer = 512 KB , console
hpcfb0 at hd64461video0: 640x240 pixels, 65536 colors, 80x24 chars
wsdisplay0 at hpcfb0 kbdmux 1: console (std, vt100 emulation)
wsmux1: connecting to wsdisplay0
wskbd2: connecting to wsdisplay0
wskbd1: connecting to wsdisplay0
hpcfb: 640x240 pixels, 65536 colors, 80x24 chars
hpcfb: 640x240 pixels, 65536 colors, 80x24 chars
hpcfb: 640x240 pixels, 65536 colors, 80x24 chars
wsdisplay0: screen 1-3 added (std, vt100 emulation)
hd64461pcmcia0 at hd64461if0
com0 at hd64461if0: device problem. don't attach.
pfckbd0 at mainbus0
hpckbd0 at pfckbd0
wskbd0 at hpckbd0: console keyboard, using wsdisplay0
hpcapm has not been converted to device_t
hpcapm0 at mainbus0: pseudo power management module
apmdev0 at hpcapm0: Power Management spec V1.2
timecounter: Timecounter "clockinterrupt" frequency 64 Hz quality 0
timecounter: Timecounter "tmu_pclock_4" frequency 5529457 Hz quality 0
pcmcia0 at hd64461pcmcia0
pcmcia0: CIS checksum failed
ne0 at pcmcia0 function 0: <Low Power Ethernet CF, Socket Communications, Inc, Revision C 5V/3.3V, 08/27/98>
ne0: Ethernet address 00:c0:1b:00:b0:6b
pcmcia1 at hd64461pcmcia0
wdc0 at pcmcia1 function 0: <SanDisk, SDP, 5/3 0.6>
wdc0: memory mapped mode
atabus0 at wdc0 channel 0
wd0 at atabus0 drive 0
wd0: <SanDisk SDCFX3-2048>
wd0: drive supports 4-sector PIO transfers, LBA addressing
wd0: 1953 MB, 3970 cyl, 16 head, 63 sec, 512 bytes/sect x 4001760 sectors
wd0: drive supports PIO mode 4
boot device: wd0
root on wd0a dumps on wd0b
mountroot: trying v7fs...
root file system type: v7fs
init: copying out flags `-s' 3
init: copying out path `/sbin/init' 11
amphitrite$ df -G
         / (/dev/wd0a   ):     512 block size          512 frag size
   3960797 total blocks    2499046 free blocks     2499046 available
     58906 total files        6621 free files          100 filesys id
      v7fs fstype           0x5000 flag                 30 filename length
         0 owner                 0 syncwrites            0 asyncwrites

amphitrite$ 


旋盤周りの整理棚、所定サイズまで裁断。0.5mmホゾがつきだすように、1mmオー
バーサイズで。一気にケガいたり、ストッパで調整するとぶれがちなので、ひ
とつひとつケガいて(ケガキはカッターの刃)、目視でケガキ線を刃にあててま
す。



V7FS続き。ほとんどバグはとれたかな。ちょときつかったのがだんまりバグ。 v7fs_vgetでvnodeを取得する時に、今現在有効なそのinodeに対するvnodeがあ ればそれを返すところで、vgetのロックオプションにLK_NOWAITを入れていた。 そうするとタイミングが悪いとretryでスピンしてしまっていたのだ。
retry:
	mutex_enter(&mntvnode_lock);
	for (v7fs_node = LIST_FIRST(&v7fsmount->v7fs_node_head);
	    v7fs_node != NULL;
	    v7fs_node = LIST_NEXT(v7fs_node, link)) {
		if (v7fs_node->inode.inode_number == ino) {
			vp = v7fs_node->vnode;
			mutex_enter(vp->v_interlock);
			mutex_exit(&mntvnode_lock);
			if (vget(vp, LK_EXCLUSIVE) == 0) {
				*vpp = vp;
				return 0;
			} else {
				DPRINTF("retry!\n");
				goto retry;
			}
		}
	}
	mutex_exit(&mntvnode_lock);
そしてあと、ファイルサイズが大きくなる分にはv7fs_writeでinodeの拡張の際 に一緒にvnodeも更新するのだけど、小さくなる時にはv7fs_setattrで縮小する。ここでvnodeの更新(uvm_vnp_setsize)を呼び忘れていた...。



荒木取りしておいた旋盤周りの整理棚、シーズニングも終わったので製材しま
した。パインと杉です。





V7FSのテスト用に5.99.52テスト中。コンパイルするとなるとGeodeLX800が本気
で遅い。pkgsrcまで作り直したら丸三日かかりました。普通に使う分にはまだ
我慢できる範囲なのだけど。なかなかテストが終わらぬ。

家の裏を掃除していたら、30年程前に切り倒された桐がでてきた。

大きいバンドソーはないので、鑿でおおまかに面作って、手押しに乗せて二面 作ってテーブルソーで残りの二面で製材。

小さな木箱が作れる程度かな。



BS走行会でした。震災以来3ヶ月ぶりの筑波。いつも使っていた水海道有料道路
近くのガススタが廃業してた。あらー。次はハタヤにするか。いつも通り1ヘア
裏に陣取ると、とても落ち着きます。



絶好の日和で気合い入れて一本目コースインしたのですが、キャブを洗った時 にスロットルバルブのワイヤー受けの締めがゆるかったらしく、ワイヤーが抜 けて2周で終了...。ダンロップ進入で見学していました。
やっと二本目で全開走行。しかしタイムが出ない。10秒きるのがやっと。そん なタイムなのにフロントが逃げてしまってうまくいかない。困った。さっさと 倒立入れよう。
そして、待望の!久々のもつ定! うまい。。。やっぱり筑波はいいな。

D'sでオイル買って、ホームジョイ本田でいろいろ資材を買って帰宅。

7:45 D.alt.457m 23.3℃ 76.9% 1006.2hPa 晴れ

11:00 D.alt.557m 26.6℃ 49.0% 1005.4hPa 晴れ
3.5l
2枚64℃

PWK33 MJ168 SJ40 JN R1175J 1/5

5速13500rpm 100m



V7FS続き。5.99.24から5.99.52に対応。結構ファイルシステム周りも変更があっ
た。コンポーネント名あたりの、おまじない処理が一掃されたのはいいね。
VFS層の更新処理も変わったみたいで、vfsopsの呼ばれるタイミングも違い、潜
在していたバグを発見。ローカルinodeのファイルサイズとvnodeのファイルサ
イズをどこで同期するかがちょっともやもやしている。今のところ、inodeの変
更があれば、その場でuvm_vnp_setsizeで変更。ファイルシステム自体と、
NetBSDのVFSglueをきっちり分けたいんだよね。


あさってはBS走行会だからマシン組みあげておかないと。まだバラして洗ったままだ。


MCFAJ一戦富士。予選1位、決勝2位でした。タイム的には成長もなく13秒程度。
一人で走ってると15秒程度でもごもごしてしまう。前に人がいると無心にがん
ばれるのだけど...。



決勝からはどんよりと曇ったけれど、ドライでレースできてよかった。やっぱ りレースいいね。一周目の夢中の必死さがいい。

8:05 D.alt. 1042m 21.1℃ 69.2% 941.7hPa うす曇 2.5枚64℃ 2.5l残1l 2'13.766
11:15 1128m 23.0℃ 66.0% 940.7hPa 曇 2枚64℃ 3.5l残1l(7周) 2'13.336

PWK33 MJ168 SJ42 JN R1175J
やっとNetBSDのCVSコミット権が復活しました。最初、membership-exec@にメー ルをしたものの、なにも返事がなく困っていたのですが、admin@に送ってみた ら即復活しました^^。さて、-currentに対応しようか。


富士にレース前日練習に行きました。渋滞を嫌って6時過ぎに出発。しかしもう
横浜から厚木まで時折ノロノロ。8時に到着。10時まで寝てました。それでもま
だ走行まで3時間。今日は、かき揚げそばにチャレンジ。悪くはないけれど750
円じゃないな。



ようやく13:00の走行。んー、この前の走行で1コーナーのブレーキングがいい 感じになってきたと思ったのに、また元に戻っている。ゼブラ寸前まで待たな いと...。コントロールラインで5速13500、6速は12000くらい(Final 17:34)。.96の6速があれば...。
ロガーはまだファイルまわりのバグがとりきれてなかったみたい。おまけに 液晶は両面テープがはがれて落ちてしまい途中から確認できず...。
受け付けと車検済ませると14:15。微妙な時間なので、サーキットでリング交換 しました。サーキットで作業するとガレージの2倍から3倍作業が早いんだ。(休 憩しないため)。15:15には富士を出発。

やはり土曜となると138が渋滞。東名にのると用賀まで60分。おしっと思いきや 事故発生。厚木から渋滞...大和トンネルで事故だった。渋滞は疲れる...。

12:50 D.alt. 1254m 27.5℃ 52.1% 942.5hPa 晴れ
2枚 64℃
4l ちょうど。



ロガーはロギング時にはSysVBFSにデータを書き出し(ファイルシステムとして
連続セクターなので一切のオーバーヘッドがない)、ログ終了でV7FSにコピーす
るように(こっちはinodeの数の制限がないのでいくらでも保存できる)しようと
思っていたのだけど、間に合いませんでした。
今迄MBR、disklabelのあたりが
やっつけだったので構成を変更してたらデバッグで終わってしまった。ちょっ
とはまったのが、arm-elf-gcc-4.6.0で(このロガーはLPC2388)

struct p1
{
  uint32_t p0;
  uint32_t p1;
  union {
    uint32_t p2_0;
    uint32_t p2_1;
  } p2;

  uint8_t p3;
  uint8_t p4;
  union {
    uint16_t p5_0;
    uint16_t p5_1;
  } __attribute__((packed)) p5;
} __attribute__((packed));
(これはstruct partitionを模したもの)の、p5のunionにpackedがないとこれを ワードサイズにしてしまって、ずれてしまう。僕はいまだに時折りunion使うの で要注意だ...。



腰上整備、チェーン、キャリパー洗浄してレース準備OK。筑波一戦に準備して
たそのままので、このくらいで。土曜一本走って、リング新品にして車検済ま
せて帰ってくるかな。午後の走行なのが辛い。土曜中途半端な時間に出ると
渋滞だし、早めに出ても昼まで暇だし。

今年はツーリングに行こうと思う。はっと気付けばもう二年も公道走ってない。 そもそもツーリングらしいツーリングもほとんどしたことがない。あると言え ば、大学に入った時札幌に向かうのに87のNSRをナラシがてらに下道で行ったく らいか...。



菜園状況。そろそろナスとトマトの苗を全部定植したいのでジャガイモを収穫
しました。やはり去年の春の収穫し忘れからのはだめね。



トウモロコシの収穫が終わったらこれをもう一度蒔き直してみようか。

食べれそうな大きさのはこのくらい。もうちょっと待ちたいとこだった。 (去年は6/19に収穫。おととしは6/8くらいから)

ナスに堆肥を与えたいけれど、堆肥はなし。筑波いかないと...。

トマト部隊は、菜園のまわりに、場所を探してなんとか。