ちょっと早く起きた。
pwrsw0, btn0を有効にしたUSL-5P用のkernelを作った。あとは先日作ったdreamcastのuserlandでなんとかなるのだけれど、せっかくだから俺はこっちのbuild.sh releaseできるようにdistribの下を整備するぜ、と思い立つ。
try & errorを何度も繰り返してなんとか完走できたみたい。
変更追加したファイルは次のとおり (Uが変更, Nが新規追加)。
新しい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に入れ替えることにした。
うーむ、今日はとりあえずここまでかな。
MLにhさんがCFスロットのドライバを書いたので試して欲しいというメールが。
おぉ、ついにPCMCIAが動くのか。
ということで、さっそくkernelを作る。CFだけではつまらないのでAir-EDGE (CFE-02) や無線LAN (WLI2-CF-S11) をテストしよう。CompactFlashは三枚ほど試すことにした。
5戦中2勝3敗でした。SanDiskのCF強し、といったところでしょうか。残念ながらストレージ以外のデバイスは動いてくれませんでした。
各カードの詳細は次のとおりです。
結果をまとめて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に報告して寝よう。
APMが動かない問題。
GENERIC_LAPTOPを使っていたのでACPIが有効になっていた。
IRCで教えてくれたfさんに感謝。
自分にがっくり。
遅くまで起きているが、いいのか?
ACPIを外したkernelに入れ替える。
APMが使えるようになって幸せになった。
もつ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が起動したよー。一発だ。
第3のビールを飲む。
やっぱり全然ちがうなあ。
何種類か試してみるか。
篠崎方面に出かける。
オレンジジュースをこぼしたり、風船ダブルでもらったり。
帰りに高熱を出す。
pkgsrcから色々入れるべくcvsyncをpackagesで入れたりする。
なんかうまく入らない。
玄箱でNetBSDがいい感じで動作しているみたいだ。
価格もかなり下がっているし、KURO-BOX/HGならばメモリが128Mbytesあるので他の製品よりも有利ではあるのだけれど。
いずれにせよ、玄箱は素材がプラスチックなので共振による騒音と放熱ぶそくによる発熱が大きいと聞いたことがあるので、それを言い訳として買うのはやめておく。
それを言っちゃうと、GigaLANDISKも発熱は大きいらしいのでどうなんだろうかとか。
使っていない (アクセスがしばらくない) HDDを止めるやつって何かあったような気がするんだけどなんだったかな。
熱が少し下がったんで、ホームセンターに行ってきた。
帰ってきたら発熱して再び大変なことになってしまった。
やっぱりおとなしくしておけばよかった。
先日作成した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ディレクトリでパッチを当てます。
たぶん世界で唯一の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」でした。
うーむ、かなりCFを選ぶな...
いただいた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。
明日には終わるかなぁ。
傘を持っていって忘れて帰ってきて大後悔してみたり。
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をみるとメールもちらほらと。
行きは電車で帰りは自転車。
自転車って気持ちよいけれど、まだちょっと蒸し暑いなぁ。
前と後ろが新型車両であることに降りてから気づいた。
それでも気分が良いのですね。
新宿でもつとホッピー。
二人で二時間以上ねばって5,000円ちょいだった。安いなぁ。
とりあえず、新宿は中身多すぎ。よっぱらっちまったよ。
それでもってギターとかドラムとか。やはりギターです。
多くのデバイスがサポートされて単体で動作できるようになったことだし、北海道出身の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は動くのかなぁ。
北海道に届いてからすぐに使えるように、インストール後の設定も少し入れておいた。
これで、シリアルコンソールを使うことなく、電源を入れてDHCPで払いだされたIPアドレスさえわかればsshを使ってloginできるはず。
金曜日は夜遅い。
メールはこちらへ...[BSD小僧 (tokuda @(at) tokuda .(dot) net)]
この日記は、GNSを使用して作成されています。