ふつーの日曜日って感じ。
ヨドバシでIO Data製品が23%ポイント還元つーことで、液晶ディスプレイでも買いたい気分。
ただ、隣にナナオのディスプレイがあるから見劣りしてしまうだろうなぁ。
でも、17inchで実質4万円しないというのは魅力的だなぁ。
朝は気温が高く、トレーナーだけでよかった。
お兄さまの妨害が激しいらしい。
WalnutベースからOBS266ベース (というか powerpc/ibm4xxベース) にすべく、ちまちまと作業。
Makefile.openblocks200.inc, files.openblocks200, std.openblocks200までは簡単。
obs200/machdep.cが大変だった。といっても、最終形はobs405/machdep.cとほぼおなじになったんだけど。
最終的にはevbppc/obs405にOBS200のファイルを移せばIBM405xxxなOpenBlockSシリーズをまとめる感じかなぁ。
+3c00000, 00045000-03c00000 -> 00300000-03c00000 = 3900000 Loading pages Done Board config data: usr_config_ver = 123 rom_sw_ver = 01234567890123456789012345678 mem_size = 62914560 mac_address_local = 00:80:6d:51:11:b5 mac_address_pci = 00:80:6d:51:11:b6 processor_speed = 200000000 plb_speed = 33000000 pci_speed = 33000000 Board config data:(retrieved) usr_config_ver = @ rom_sw_ver = @ mem_size = 2032148480 mac_address_local = 00:00:57:65:64:6e mac_address_pci = 65:73:64:61:79:00 processor_speed = 200000000 plb_speed = 100000000 pci_speed = 33000000 Loaded initial symtab at 0x23883c, strtab at 0x2536f8, # entries 6827 Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004 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 2.0C (OPENBLOCKS200) #13: Tue Apr 13 03:11:18 JST 2004 tokuda@r1.home.tokuda.net:/usr/export/s/current/src/sys/arch/evbppc/compile/OPENBLOCKS200 Model: OpenBlockS200 IBM PowerPC 405GP Board total memory = 61440 KB avail memory = 57904 KB plb0 (root) cpu0 at plb0: 200MHz 405GP (Revision 1.69) Instruction cache size 8192 line size 32 Data cache size 8192 line size 32 PVR: owner 401 core family 1 cache 0 version 5 asic 5 ecc0 at plb0 irq 16: ECC controller opb0 at plb0 com0 at opb0 addr 0xef600300 irq 0: ns16550a, working fifo com0: console com1 at opb0 addr 0xef600400 irq 1: ns16550a, working fifo emac0 at opb0 addr 0xef600800 irq 9: 405GP EMAC emac0: interrupting at irqs 9 .. 15 emac0: Ethernet address 00:80:6d:51:11:b5 tqphy0 at emac0 phy 0: 78Q2120 10/100 media interface, rev. 11 tqphy0: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto tqphy1 at emac0 phy 1: 78Q2120 10/100 media interface, rev. 11 tqphy1: 10baseT, 10baseT-FDX, 100baseTX, 100baseTX-FDX, auto gpio at opb0 addr 0xef600700 not configured gpiic at opb0 addr 0xef600500 irq 2 not configured wdog0 at opb0: 5 second period pchb0 at plb0 pchb0: IBM PPC 405GP PCI Bridge (rev. 0x01) pci_conf_interrupt(pin = 1, dev= 7 pci0 at pchb0 pci0: i/o space, memory space enabled IBM PPC 405GP PCI Bridge (host bridge, revision 0x01) at pci0 dev 0 function 0 not configured rtk0 at pci0 dev 7 function 0: Realtek 8139 10/100BaseTX pci_intr_map(pin = 1, dev = 7) rtk0: interrupting at irq 28 rtk0: Ethernet address 00:80:6d:51:0e:7e 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 pbus at plb0 not configured biomask 1c00 netmask 1c08 ttymask 1c08 emac0: emac_wol_intr emac0: emac_txde_intr emac0: emac_rxde_intr emac0: emac_wol_intr emac0: emac_txde_intr emac0: emac_rxde_intr Setting PIT to 200000000/100 = 2000000 root device: rtk0 dump device: file system (default generic): nfs root on rtk0 nfs_boot: trying DHCP/BOOTP nfs_boot: BOOTP next-server: 192.168.100.39 nfs_boot: my_name=obs200-rtk0 nfs_boot: my_addr=192.168.100.77 nfs_boot: my_mask=255.255.255.0 root on cube.home.tokuda.net:/usr/obs200 root time: 0x407adca4 inittodr: rtc not present - CHECK AND RESET THE DATE. init path (default /sbin/init): init: copying out path `/sbin/init' 11 /etc/rc.conf is not configured. Multiuser boot aborted. Enter pathname of shell or RETURN for /rescue/sh: Terminal type? [unknown] Terminal type is unknown. We recommend creating a non-root account and using su(1) for root access. # uname -a NetBSD obs200-rtk0 2.0C NetBSD 2.0C (OPENBLOCKS200) #13: Tue Apr 13 03:11:18 JST 2004 tokuda@r1.home.tokuda.net:/usr/export/s/current/src/sys/arch/evbppc/compile/OPENBLOCKS200 evbppc #
今日は気温が低い。これじゃ、風邪ひいてしまうな。
今日はさらに寒くなった。
良くない傾向だ。
OBS200のboard dataをなんとか取得したい。特にemacのMACアドレスなんだけど。
http://park14.wakwak.com/~ozawa/bootloaderlog.htmlによると0x00447174から0x004471B4とログが出力されているらしい。
直接アドレス指定して値を取得できるかもしれないと思い、initppc内で前述のアドレス範囲をprintfで出力してみた。
rtkのMACアドレスが発見されたので、よし、と思って調べてみたところemacのMACアドレスは見つからない。
おまけに、何度も起動しているうちにrtkのMACアドレスも出力されなくなってしまった。
思考錯誤してみたところ、NetBSDを正しく起動して (single user modeのプロンプトがでるところぐらい) 再起動するとrtkのMACアドレスが見つかった。
rtkのMACアドレスの出現位置が毎回違うことから、出力している領域はboard dataとは無関係だということがわかった。なので、電源断からの起動ではゴミデータっぽい物で埋められていたのだな。
ということで、付け焼き刃ではダメのようです。
うーむ。こいのぼりの季節か。
金曜日だよ。今週も無事に過ごせた。
銀行に行く用事があったので、散歩もかねてうろうろとしてきた。
金魚のイベントを駅の近くでやっていた。
掃除とかびっくりドンキーとかダイエーとか。
なぜかアキバに行くことに。
けっきょく探していた物はなかったんだけど、手元にCardBusなUSB2.0カードが。
LaOX PC DIY Shopにて。2,709円。Sybaとかいうメーカの物。
パッケージはいかにもサポートなさそうに見えるんだけど、良く見ると国内サポートのシールが貼ってあり、日本語のマニュアルも含まれていたりして。
型番はSD-PCMU201-A1-2だそうです。
OpenBlockS266で動くかな?
ヨドバシに発注してしまった。
月曜日は機嫌が悪い。
日曜日に購入したCardBusなUSB2.0カードをOpenBlockS266で動かそうとしてひどい目にあいました。
とにもかくにも対応kernelということで20040417-UTCなソースをベースにPCMCIAボックス対応のkernelを作る。
netbsd-obs@freemlなMLでwiが動かないという話だったので、IOデータのカードを挿してNFSブートするとwiが認識できる。あれー? 動きそうだけど思い、新しいkernelをflashに書き込んで、LANケーブルを抜いて起動してみた。
例によって新しいkernelなのでfsckしてねというメッセージがでるものの、そのまま起動した。
で、loginプロンプトからログインしようとするとログインできない。というか、ログイン名とパスワードを入力したら、しばらく考え込んだ据えにログインプロンプトに戻ってしまうというログインプロンプトループにはまってしまう。
ここで、古いkernelに戻せは話は早いのだが、古いkernelが残っていない。まぁ、userlandが古すぎるのかもしれないということでsetsを展開してみる。
ログインプロンプトループは解消せず。
念のため/devを作り直してみてもだめ。
カーネルがおかしいかもと思い、PCMCIAボックス対応が入っていない素直なkernelに更新してもだめ。
うーん。困った、これじゃどうしようもないよ。
なんとなく思いつきで少し前のkernel (20040415-UTC) に戻してみるとログインプロンプトループから脱出できた。
やれやれ。
ということで、NFSブートでPCMCIAボックスを試してみる。
USB2.0なCardBusカードは認識されたけれど、USB関連がkernelに組み込まれていないため、それらを組み込んだ新しいkernelを作る。
これがまた方法がわからず苦労する。
ohci, ehciの記述をconfigに加えて、files.obs405にfiles.usbを追加してコンパイルするとkernelのコンパイルが通らない。
どうやらconfigファイルにはUSB関連の記述はある程度まとまって書いておかないと駄目らしいことに気づき、audio関連を除いてまるごとmacppcからコピーするとkernelが無事に作れた。
で、起動してみるとこんな感じで認識。
cbb0: interrupting at irq 29 cardslot0 at cbb0 slot 0 flags 0 cardbus0 at cardslot0: bus 1 device 0 pcmcia0 at cardslot0 pbus at plb0 not configured biomask 1c06 netmask 1c07 ttymask 1c07 Setting PIT to 266666666/100 = 2666666 ohci0 at cardbus0 dev 0 function 0: NEC USB Host Controller (rev. 0x43) cardbus_mapreg_map called: cardbus0 0 cardbus_mapreg_map: physaddr 80002000 ohci0: interrupting at 29 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: 1 port with 1 removable, self powered ohci1 at cardbus0 dev 0 function 1: NEC USB Host Controller (rev. 0x43) cardbus_mapreg_map called: cardbus0 0 cardbus_mapreg_map: physaddr 80003000 ohci1: interrupting at 29 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: 1 port with 1 removable, self powered ehci0 at cardbus0 dev 0 function 2: NEC USB Host Controller (rev. 0x04) cardbus_mapreg_map called: cardbus0 0 cardbus_mapreg_map: physaddr 80004000 ehci0: interrupting at 29 ehci0: EHCI version 1.0 ehci0: companion controllers, 1 port 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: 2 ports with 2 removable, self powered
メルコの32MBytesUSBメモリを挿してみる。
umass0 at uhub1 port 1 configuration 1 interface 0 umass0: USB Flash Disk, rev 1.10/1.10, addr 2 umass0: using SCSI over Bulk-Only scsibus0 at umass0: 2 targets, 1 lun per target scsibus0 target 0 lun 0:disk removable not configured
認識された。しかし、sd* at scsibus? target ? lun ?が定義されていないので、sdがでてこない。ということで再び新しいカーネルを作って起動したらこんな感じ。
umass0 at uhub1 port 1 configuration 1 interface 0 umass0: USB Flash Disk, rev 1.10/1.10, addr 2 umass0: using SCSI over Bulk-Only scsibus0 at umass0: 2 targets, 1 lun per target sd0 at scsibus0 target 0 lun 0:disk removable sd0: fabricating a geometry sd0: 32000 KB, 31 cyl, 64 head, 32 sec, 512 bytes/sect x 64000 sectors
sdも見えた。mount -t msdos /dev/sd0[a-f] /mntをやってみたけどマウントできない。うーむ。
disklabelを見ると次のような感じ。
# disklabel sd0 sd0: fabricating a geometry sd0: no disk label # /dev/rsd0c: type: SCSI disk: mydisk label: fictitious flags: removable bytes/sector: 512 sectors/track: 32 tracks/cylinder: 64 sectors/cylinder: 2048 cylinders: 31 total sectors: 64000 rpm: 3600 interleave: 1 trackskew: 0 cylinderskew: 0 headswitch: 0 # microseconds track-to-track seek: 0 # microseconds drivedata: 0 3 partitions: # size offset fstype [fsize bsize cpg/sgs] c: 64000 0 unused 0 0 # (Cyl. 0 - 31*) disklabel: boot block size 0 disklabel: super block size 0 #
とりあえず、他のUSBデバイスを試してみようかと思うが寝ることにする。
帰ろうとすると二人がかりの妨害が入るらしい。
shigeさんからコメントのあったOpenBIOSなアドレスをinitppcで叩くコードを追加したkernelでOBS200を起動してみた。
残念ながらconsoleに文字が表示されない感じなので、どうもOBS266と同じアドレスは使用できないようだ。
あまりにも眠いのでそれ以上追求できず。
とりあえず、そのあたりのアドレスをdumpさせてみるかなぁ。
ヨドバシから届いていた。
宅配ボックスって結構大きな荷物も入るんだなとか思った。
でも、開封せずに寝てしまいましたよ。眠くてしかたがないっつー感じ。
メールはこちらへ...[BSD小僧 (tokuda @(at) tokuda .(dot) net)]
この日記は、GNSを使用して作成されています。