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



2005/08/11 (木)

3年と178日目

ちょっと早く起きた。


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

NetBSD/landisk (USL-5P)

pwrsw0, btn0を有効にしたUSL-5P用のkernelを作った。あとは先日作ったdreamcastのuserlandでなんとかなるのだけれど、せっかくだから俺はこっちのbuild.sh releaseできるようにdistribの下を整備するぜ、と思い立つ。

try & errorを何度も繰り返してなんとか完走できたみたい。

変更追加したファイルは次のとおり (Uが変更, Nが新規追加)。

  • U : build.sh
  • N : distrib/landisk/Makefile
  • N : distrib/sets/lists/base/md.landisk
  • U : distrib/sets/lists/comp/ad.sh3
  • N : distrib/sets/lists/comp/md.landisk
  • N : etc/etc.landisk/Makefile.inc
  • U : sys/arch/landisk/include/Makefile
  • U : sys/arch/sh3/include/Makefile

新しいkernelで起動。よーし。無事に起動したよ。

buttond試してみよう。

usl5p# /usr/sbin/buttond
usl5p# Aug 12 00:41:24 usl5p buttond[3985]: open /dev/button: No such file or directory

mknod buttond c 84 0でdeviceを作る。

usl5p# /usr/sbin/buttond
Aug 12 00:51:21 usl5p buttond[524]: BUTTON_IOC_GET_TYPE: Inappropriate ioctl for device

あれ? 動かないな。などとIRCでぼやいていたら、buttondのioctl値が変更になっていることを教えてもらう。userlandが古いのでそれが原因かな。

いずれにせよ、buttondは/etc/buttond/scriptの下に配置されたスクリプトを実行するらしい。

ということで、入れ直し。CFは時間がかかるなぁ。

やっとインストールできたので、いざ起動。

SH IPL+g version 0.9, Copyright (C) 2000 Free Software Foundation, Inc.
This software comes with ABSOLUTELY NO WARRANTY; for details type `w'.
This is free software, and you are welcome to redistribute it under
certain conditions; type `l' for details.
2002/09/09 Making.  2004/09/08 I-O DATA NSU Update.
266:133:33 on base clock 22.22MHz and SDRAM 4 burst. CF boot.
PCIC initialization done.
MASTER:48bit LBA mode non support
Disk drive detected: SanDisk SDCFB-512 HDX 3.07     012007E2405S5803 
LBA: 000F45F0
DiskSize: 512483328Byte
PIO MODE1
Set Transfer Mode result: 50 
> b
Set Transfer Mode result: 50 
Initialize Device Parameters result: 50 
IDLE result: 50 
NetBSD MBR boot
NetBSD/landisk ffsv1 Primary Bootstrap
>> NetBSD/landisk Boot, Revision 1.0
>> (root@r1.home.tokuda.net, Fri Aug 12 01:10:44 JST 2005)
Press return to boot now, any other key for boot menu
booting hd0a:netbsd - starting in 0 
3893968+191324 [208336+194772]=0x44804c
Start @ 0x8c001000 [1=0x8c3e662c-0x8c44904c]...
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005
    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 3.99.7 (USL-5P) #0: Thu Aug 11 20:10:37 JST 2005
        root@r1.home.tokuda.net:/export/s/20050809/src/sys/arch/landisk/compile/USL-5P
Model: I-O DATA LANDISK
total memory = 65536 KB
avail memory = 58496 KB
mainbus0 (root)
cpu0 at mainbus0: HITACHI SH4 266.666MHz PCLOCK 33.333 MHz
16KB/32B 2-way set-associative Instruction cache. 
32KB/32B 2-way set-associative Data cache. 
P0, U0, P3 write-back P1 write-back
full-associative 4 ITLB, 64 UTLB entries
multiple virtual storage mode, SQ access: kernel, wired 61
shpcic0 at mainbus0: HITACHI SH7751R
pci0 at shpcic0
pci0: i/o space, memory space enabled
rtk0 at pci0 dev 0 function 0: Realtek 8139 10/100BaseTX
rtk0: interrupting at irq 5
rtk0: Ethernet address 00:a0:b0:65:1e:c7
ukphy0 at rtk0 phy 7: Generic IEEE 802.3u media interface
ukphy0: OUI 0x000000, model 0x0000, rev. 0
ukphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
ohci0 at pci0 dev 2 function 0: NEC USB Host Controller (rev. 0x43)
ohci0: interrupting at irq 7
ohci0: OHCI version 1.0
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
ohci1 at pci0 dev 2 function 1: NEC USB Host Controller (rev. 0x43)
ohci1: interrupting at irq 8
ohci1: OHCI version 1.0
usb1 at ohci1: USB revision 1.0
uhub1 at usb1
uhub1: NEC OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub1: 2 ports with 2 removable, self powered
ehci0 at pci0 dev 2 function 2: NEC USB Host Controller (rev. 0x04)
ehci0: interrupting at irq 5
ehci0: EHCI version 1.0
ehci0: companion controllers, 3 ports each: ohci0 ohci1
usb2 at ehci0: USB revision 2.0
uhub2 at usb2
uhub2: NEC EHCI root hub, class 9/0, rev 2.00/1.00, addr 1
uhub2: 5 ports with 5 removable, self powered
shb0 at mainbus0
scif0 at shb0
scif0: console
obio0 at mainbus0
wdc0 at obio0 port 0x14000000-0x1400000f irq 10
atabus0 at wdc0 channel 0
btn0 at obio0 irq 12: USL-5P Button
pwrsw0 at obio0 irq 11: Power Switch
Kernelized RAIDframe activated
wd0 at atabus0 drive 0: <SanDisk SDCFB-512>
wd0: drive supports 4-sector PIO transfers, LBA addressing
wd0: 488 MB, 993 cyl, 16 head, 63 sec, 512 bytes/sect x 1000944 sectors
wd0: drive supports PIO mode 4, DMA mode 2
boot device: wd0
root on wd0a dumps on wd0b
root file system type: ffs
/etc/rc.conf is not configured.  Multiuser boot aborted.
Enter pathname of shell or RETURN for /bin/sh: 
Terminal type? [unknown] 
Terminal type is unknown.
We recommend creating a non-root account and using su(1) for root access.
#

無事起動。感慨もひとしおだなぁ。

それではbuttondを試してみましょう。

# cd /dev
# mknod button c 84 0
mknod: button: Read-only file system
# mount /
# mknod button c 84 0
# /usr/sbin/buttond

で、Powerボタンの下の選択ボタンを押してみる。

# select: WARNING: state change event 0 lost; queue full
select: WARNING: state change event 0 lost; queue full
select: WARNING: state change event 0 lost; queue full
select: WARNING: state change event 0 lost; queue full
select: WARNING: state change event 0 lost; queue full
select: WARNING: state change event 0 lost; queue full
select: WARNING: state change event 0 lost; queue full
select: WARNING: state change event 0 lost; queue full
select: WARNING: state change event 0 lost; queue full
...

うぉー、止まらない。

そういえばPowerボタンが効くかも。

...
select: WARNING: state change event 0 lost; queue full
select: WARNING: state change event 0 lost; queue full
pwrsw0: power button pressed, shutting down!
syncing disks... 1 1 done
unmounting file systems... done

おぉ、効いたぞ。ついててよかったPowerボタン。

むー、もしかしたら選択ボタンはダメなのかな。じゃぁ、取外しボタンだな。

remove: WARNING: state change event 0 lost; queue full

やっぱりだめですか。Powerボタンと。

あれ、止まらない...

しばらく待っても止まらないので電源を切った。うーむ。

懲りずにコピーボタンを押す。

copy: WARNING: state change event 0 lost; queue full

やっぱりだめだ。いちおうPowerボタン押すか。

お、シリアル切断してしばらくほったらかしにしておけばshutdownしたみたいだ。

さっきはシリアルに出していたから間に合わなかったのか時間がかかりすぎて自分から電源を切ってしまったんだな。思ったよりPowerボタンはしぶとく動いてくれることがわかってうれしい。

いちおうbuttondが悪さしていることも考えて、buttondを動かさずにコピーボタンを押してみる。

copy: btn_event_send can't handle me.

おや、ちょっとだけメッセージが変わったな。

あやまってボタンを押すとこまったことになるので、btnをはずしたkernelに入れ替えることにした。

うーむ、今日はとりあえずここまでかな。


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

NetBSD/evbarm (Armadillo-9)

MLにhさんがCFスロットのドライバを書いたので試して欲しいというメールが。

おぉ、ついにPCMCIAが動くのか。

ということで、さっそくkernelを作る。CFだけではつまらないのでAir-EDGE (CFE-02) や無線LAN (WLI2-CF-S11) をテストしよう。CompactFlashは三枚ほど試すことにした。

  1. OK : CFカード, SanDisk SDCFB 128MB
  2. OK : CFカード, SanDisk SDCFB 512MB
  3. NG : CFカード, GreenHouse GH-CF256MA
  4. NG : Air-EDGE, NEC Infrontia CFE-02
  5. NG : 無線LAN, Buffalo WLI2-CF-S11

5戦中2勝3敗でした。SanDiskのCF強し、といったところでしょうか。残念ながらストレージ以外のデバイスは動いてくれませんでした。

各カードの詳細は次のとおりです。

  1. read のみテストし OK (都合により write はやりませんでした)
  2. read/write ともに OK (短い text ファイルの読み書き)
  3. pcmcia0: card appears to have bogus CIS となり使えず
  4. com0 at pcmcia0 function 0: とデバイス検出後にフリーズ
  5. pcmcia0: card appears to have bogus CIS となり使えず

結果をまとめてMLに報告すると、さっそくhさんから返信が。

"card appears to have bogus CIS"の方はarm/ep93xx/eppcic.cの最後の方に ある

#define EXTRA_DELAY 25
の数字を大きくしてみると改善するかもしれないそう。Linuxのコードでは40になっていたらしい。

またフリーズする (CFE-02) については

options EPPCIC_DEBUG=2

と追加すると、どの関数が呼ばれているのか出力されるのだそう。

さっそくやってみた、と言いたいところだけれど時間切れ。

明日試そう。

いやまてよ、hさんの夏休み中になんとかしないといけないので急がないと。

ということで#define EXTRA_DELAY 25でやってみた。

どちらのカードも改善しなかった。残念。

次にEPPCIC_DEBUG=2をやってみたら何も変わらない。良く考えればcompileしなおされていない気がするので作り直し。

作りなおすとちゃんと出たよ。

NetBSD 3.99.7 (ARMADILLO9_CARD) #0: Fri Aug 12 11:31:58 JST 2005
        root@r1.home.tokuda.net:/export/o/20050809/evbarm/sys/arch/evbarm/compile/ARMADILLO9_CARD
total memory = 65536 KB
avail memory = 60256 KB
mainbus0 (root)
cpu0 at mainbus0: ARM920T rev 0 (ARM9TDMI core)
cpu0: DC enabled IC enabled WB enabled EABT
cpu0: 16KB/32B 64-way Instruction cache
cpu0: 16KB/32B 64-way write-back-locking-A Data cache
epsoc0 at mainbus0: Cirrus Logic EP93xx SoC rev E0
epsoc0: fclk 200.02 Mhz hclk 100.01 Mhz pclk 50.00 Mhz
epclk0 at epsoc0 addr 0x80810000-0x8081008f intr 35
epgpio0 at epsoc0 addr 0x80840000-0x808400cb intr 59
a9iic0 at epsoc0
iic0 at a9iic0: I2C bus
seeprom0 at iic0 addr 0x50: AT24Cxx EEPROM
ohci0 at epsoc0 addr 0x80020000-0x80020fff intr 56
epe0 at epsoc0 addr 0x80010000-0x8001ffff intr 39
epe0: MAC address 00:11:0c:02:00:5b
lxtphy0 at epe0 phy 0: LXT971/2 10/100 media interface, rev. 2
lxtphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto
epcom0 at epsoc0 addr 0x808c0000-0x808c0fff intr 52
epcom0: console
epcom1 at epsoc0 addr 0x808d0000-0x808d0fff intr 54
epcom2 at epsoc0 addr 0x808e0000-0x808e0fff intr 55
epwdt0 at epsoc0 addr 0x80940000-0x80940007 intr 36
eppcic0 at epsoc0 addr 0x80080020-0x80080043 intr 49
eppcic_set_pcreg: width=16, access=22, hold=7, pre-charge=12
eppcic_set_pcreg: width=16, access=56, hold=9, pre-charge=15
eppcic_set_pcreg: width=16, access=56, hold=9, pre-charge=15
pcmcia0 at eppcic0
ohci0: OHCI version 1.0
usb0 at ohci0: USB revision 1.0
uhub0 at usb0
uhub0: Cirrus Logic OHCI root hub, class 9/0, rev 1.00/1.00, addr 1
uhub0: 3 ports with 3 removable, self powered
eppcic_create_event_thread: cd1=0, cd2=0
eppcic_socket_enable
eppcic_set_voltage: vs1=0, vs2=1 (3V)
eppcic_mem_alloc: size=0x400
eppcic_mem_map: kind=1, addr=0, size=0x400
eppcic_set_pcreg: width=16, access=56, hold=9, pre-charge=15
eppcic_mem_unmap: window=0xc244f000
eppcic_mem_free
com3 at pcmcia0 function 0: <NEC Infrontia, CFE-02>
eppcic_io_alloc: start=0x3f8, size=0x8, align=0x20
eppcic_io_map: offset=0, size=0x8, width=1(8)
eppcic_set_pcreg: width=8, access=22, hold=7, pre-charge=12
eppcic_intr_establish

eppcic_intr_establishで止まっているようだ (見たまんま)。

これをMLに報告して寝よう。


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

NetBSD/i386

APMが動かない問題。

GENERIC_LAPTOPを使っていたのでACPIが有効になっていた。

IRCで教えてくれたfさんに感謝。

自分にがっくり。


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

2005/08/12 (金)

3年と179日目

遅くまで起きているが、いいのか?


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

NetBSD/i386

ACPIを外したkernelに入れ替える。

APMが使えるようになって幸せになった。


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

NetBSD/macppc (Mac mini)

もつ19で貰った特製CDでインストール。

で、インストールしたが、HDDからの起動ができない。

以前はpdiskでdiskをいじるとうまくいったのを思い出し、sysinstを進める前に、いったん/bin/shを起動して、pdiskで区画をいじる。

区画を全部作りなおすのは面倒だったので、残っているが使っていないApple_Freeな区画をApple_UNIX_SVR2な区画に変更することにした。

で、sysinstを進めて再起動し、boot cd:,ofwboot.elf hd:2/netbsdと入力すると起動できるようになった。うーむ、不思議なことだ。でも毎回pdiskでHDDに何か変更を入れるのは面倒な気がする。

Xの一式とMac miniのXF86Configもftp://ftp.ki.nu/pub/NetBSD/port-macppc/XFree86/の下からもらってきた。

このX一式は/usr/X11R6ではなく/usr/X11に展開される。mv /usr/X11R6 /usr/X11R6.origしてln -s /usr/X11 /usr/X11R6しておく (あとで困るかもしれないが)。

そしてstartxする。おぉ、Xが起動したよー。一発だ。


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

大豆飲料

第3のビールを飲む。

やっぱり全然ちがうなあ。

何種類か試してみるか。


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

2005/08/13 (土)

3年と180日目

篠崎方面に出かける。

オレンジジュースをこぼしたり、風船ダブルでもらったり。

帰りに高熱を出す。


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

NetBSD/macppc

pkgsrcから色々入れるべくcvsyncをpackagesで入れたりする。

なんかうまく入らない。


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

NetBSD/sandpoint

玄箱でNetBSDがいい感じで動作しているみたいだ。

価格もかなり下がっているし、KURO-BOX/HGならばメモリが128Mbytesあるので他の製品よりも有利ではあるのだけれど。

いずれにせよ、玄箱は素材がプラスチックなので共振による騒音と放熱ぶそくによる発熱が大きいと聞いたことがあるので、それを言い訳として買うのはやめておく。

それを言っちゃうと、GigaLANDISKも発熱は大きいらしいのでどうなんだろうかとか。

使っていない (アクセスがしばらくない) HDDを止めるやつって何かあったような気がするんだけどなんだったかな。


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

2005/08/14 (日)

3年と181日目

熱が少し下がったんで、ホームセンターに行ってきた。

帰ってきたら発熱して再び大変なことになってしまった。

やっぱりおとなしくしておけばよかった。


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

NetBSD/landisk

先日作成したsnapshotを公開しました。

snapshotは20050809-UTCな-currentにnonakapさんの20050809-netbsd-landisk.tar.bz2を適用したものに、build.sh releaseを通るようにするアドホックな修正を加えたものです。

sourceはNetBSDのCVSリポジトリから20050809-UTCを指定してcheckoutしたものです。なので、nonakapさんパッチやrelease用のパッチは含まれていません。

patchはbuild.sh releaseを通るようにするアドホックな修正をあつめたもので、nonakapさんの配布物を適用した後にsrcディレクトリでパッチを当てます。


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

NetBSD/evbarm (Armadillo-9)

たぶん世界で唯一のArmadillo-9でのNetBSDについて書かれたページ(http://www.tokuda.net/NetBSD/Armadillo9/index.html)を更新した。主にCFスロットの話とkernelの更新。

eppcicが落ち着いたら、本家へcommitされるだろうから

かなりのデバイスが動くようになったので、北海道出身のArmadillo-9を返さないといけないな。

そういえば、CFスロットに使えるカードが三枚ほど残っている。

CFが二枚とMicroDrive。

試してみた。

三枚とも「card appears to have bogus CIS」でした。

  • NG : CFカード, HAGIWARA SYS-COM THNCF 128MMA, Produced by TOSHIBA CORPORATION (TOSHIBA OEM)
  • NG : CFカード, IO DATA CFS-64M, RENESASの文字あり (日立OEM?)
  • NG : MicroDrive, IBM DMDM-10340, MC-R700で動作しなかったりする怪しいMicroDrive

うーむ、かなりCFを選ぶな...


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

2005/08/15 (月)

3年と182日目

一日休み。


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

NetBSD/landisk

いただいたpackagesを入れたり。

zsh, lv, emacs, screenあたりを入れて、RieceとWanderlust (apel, flim, semi) は手動でインストール。

これで、なんとなく暮らせそうな気がしてきた。

あとはブラウザと日本語入力。ブラウザはw3mで日本語入力はanthyかな。

w3mは自力compileしようとしたがgc.hを見付けてくれず、pkgsrcを使うことにした。

OBS266はdiskに余裕があるのでpkgsrcを展開して、USL-5PからNFSマウントしてpkgsrcをcompile。

明日には終わるかなぁ。


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

2005/08/16 (火)

3年と183日目

傘を持っていって忘れて帰ってきて大後悔してみたり。


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

NetBSD/landisk

w3mはインストール完了していた。perlを作っていたらしく、良く乗り切ったなという感じ。

anthyも入れて、anthy-elispを入れていたらemacs本体を作り始めているのに気づいて中断。anthyのworkの下を漁って、src-utilのMakefileのEMACS=emacsにしてmake installすればelispは入りましたとさ。

これで、メール, IRC, Webブラウズができるようになってしまいましたね。とりあえずは暮らせそうな環境になってくれましたよ。

gigalandiskのほうも着々とリリースされ、shpcic関連も本家に取り込まれているしNetBSD/{giga}landiskまわりは活発です。

「NetBSD/{giga}landiskのML欲しいよね」と誰かが言ったので、FreeMLにnetbsd-landisk at freeml dot comというのを作ってみました。

FreeMLのユーザインタフェース以外にもmajordomo@freeml.com宛てにsubscribe netbsd-landiskという本文を送れば、参加できます (折り返しcomfirmがあります)。

http://www.freeml.com/ctrl/html/MessageListForm/netbsd-landisk@freeml.comをみるとメールもちらほらと。


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

2005/08/17 (水)

3年と184日目

行きは電車で帰りは自転車。

自転車って気持ちよいけれど、まだちょっと蒸し暑いなぁ。


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

2005/08/18 (木)

3年と185日目

前と後ろが新型車両であることに降りてから気づいた。

それでも気分が良いのですね。


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

のみかい

新宿でもつとホッピー。

二人で二時間以上ねばって5,000円ちょいだった。安いなぁ。

とりあえず、新宿は中身多すぎ。よっぱらっちまったよ。

それでもってギターとかドラムとか。やはりギターです。


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

Armadillo-9

多くのデバイスがサポートされて単体で動作できるようになったことだし、北海道出身のArmadillo-9も家に帰りたそうにしているので色々と準備。

基本は現状復帰ということで、flashに書き込んだNetBSDのkernelをLinuxのkernelに戻した。

最初に付いていたCFはそのまま保管していたので特に問題はない。

ただ、せっかくなのでNetBSDを入れて帰してあげたいところ。

長い間にわたって貸していただいたお礼もこめて、NetBSDをインストールしたSanDiskのCF (128Mbytes) をおみやげとして持ち帰りいただくことにしました。

CFにNetBSDを入れるのは二回目なのですがLinuxの区画を作ったり、sets (base.tgz, etc.tgz) を展開したりして時間がかかってしまった。特にbase.tgzの展開が時間がかかるなぁ。かといって高速なCFだと使えない可能性があるし。

しかし、なんでSanDiskは動くのかなぁ。

北海道に届いてからすぐに使えるように、インストール後の設定も少し入れておいた。

  1. wd0aから起動するkernel
  2. マルチユーザモードで起動
  3. 内蔵Ether (epe) はDHCPでIPアドレスを取得
  4. sshdを起動
  5. ユーザアカウントを作成し、wheelグループに加える
  6. ユーザアカウントのパスワードを設定

これで、シリアルコンソールを使うことなく、電源を入れてDHCPで払いだされたIPアドレスさえわかればsshを使ってloginできるはず。


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

2005/08/19 (金)

3年と186日目

金曜日は夜遅い。


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

2005/08/20 (土)

3年と187日目

大島にテクテク歩いて川のそばの建物を見る。

方向とかいろいろ。


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

あるまじろ

北海道に向けて出発。

たっしゃでな〜。


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


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

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