新宿行って服買いました。
それだけなんだけど、やたらと疲れた。
晴れてるのはいいけど暑いっす。
最近は乗る電車がほとんど同じなので新型車両に乗れないのでつまらない。
Mac OS Xを投げうつことにした。
ということで、Mac OS XのインストールCDで区画を作りなおす。
三つの区画を作り、最初のふたつをUNIXファイルシステムにして残りのひとつをMac OS Xにしようと考えた。
で、NetBSDのCDで起動してみて/bin/shを起動し、pdiskで中をのぞくと、なんだか作った記憶の無い区画がたくさんできている。なんだかサイズ調整でできたような小さな128Mbytesくらいの区画なんだけど。
ここでMac OS Xのディスクユーティリティは忘れることにして、pdiskでがしがしと区画を削除して、pdiskで区画を作ることにした。root用の大きい区画とswap用の小さな区画を作り、残りは空き領域にした。swapはメモリが1Gbytesなので1Gちょいの区画を切ったけど、なんかもったいない気分。
disklabelも手動でpdiskで作った区画にあわせて設定する。
で、/bin/shを抜けてsysinstに戻って、通常どおりのインストールをする。
で、OpenFirmwareで次のように入力する。
0> boot cd:,ofwboot.elf hd:2/netbsd
これでうまく起動してくれた。
次はofwboot.elfを格納する小さな区画を作ることになる。この区画は (拡張されていない) 素のHFSである必要があるらしい。インストール直後のNetBSDではHFSをフォーマットできないためMac OS Xのインストールディスクが必要となるらしい (pkgsrcからsysutiles/hfsutilsを入れると色々できるらしい)。
とりあえずMac OS Xのインストールディスクで起動して、ディスクユーティリティを起動してみたところ空き領域が見えない。これでは区画の切りようがない。
しかも、NetBSDをいれている領域を拡張フォーマットのジャーナル付きとみなそうとしているようで、このまま進むとせっかく作った区画の情報を破壊するのではないかと思い、あきらめることにした。
pdiskでHFSな区画を作って、sysutils/hfsutilsを使ってフォーマットして、ofwboot.elfを置けばCDなしでNetBSDを起動できるんじゃないかと思っているけれど、それはまた明日以降にしよう。
いろいろあってWindowsの区画を大きくした構成になっているんだけど、NetBSDの区画が手狭になってきた。やれやれ。
使いにくくてしかたがないので、再インストールをどこかで決断しないといけないなぁ。
メーリングリストでかなり進んだよというメールが流れていたので、さっそく試す。
さて、どうなりますか。
Hermit v1.3-armadillo9-1 compiled at 06:45:05, Dec 18 2004 hermit> b Uncompressing kernel...........................................done. Uncompressing ramdisk...............................................................................................................................................................................................................done. Doing console=ttyAM0,115200 Doing mtdparts=armadillo9-nor:0x10000(bootloader)ro,0x170000(kernel),0x670000(userland),-(config) copy from c0018000 to c0200000 size 00151f98 NetBSD/armadillo9 booting ... initarm: Configuring system ... physmemory: 8192 pages at 0xc0000000 -> 0xc1ffffff Allocating page tables freestart = 0xc0018000, free_pages = 488 (0x000001e8) IRQ stack: p0xc01ea000 v0xc01ea000 ABT stack: p0xc01e2000 v0xc01e2000 UND stack: p0xc01da000 v0xc01da000 SVC stack: p0xc01d8000 v0xc01d8000 Creating L1 page table at 0xc01fc000 Mapping kernel pmap_map_chunk: pa=0xc0200000 va=0xc0200000 size=0xde000 resid=0xde000 prot=0x3 cache=1 LLLLLLLLLLLLLPPPPPPPPPPPPPP pmap_map_chunk: pa=0xc02de000 va=0xc02de000 size=0x82000 resid=0x82000 prot=0x3 cache=1 PPLLLLLLLL Constructing L2 page tables pmap_map_chunk: pa=0xc01ea000 va=0xc01ea000 size=0x8000 resid=0x8000 prot=0x3 cache=1 PPPPPPPP pmap_map_chunk: pa=0xc01e2000 va=0xc01e2000 size=0x8000 resid=0x8000 prot=0x3 cache=1 PPPPPPPP pmap_map_chunk: pa=0xc01da000 va=0xc01da000 size=0x8000 resid=0x8000 prot=0x3 cache=1 PPPPPPPP pmap_map_chunk: pa=0xc01d8000 va=0xc01d8000 size=0x2000 resid=0x2000 prot=0x3 cache=1 PP pmap_map_chunk: pa=0xc01fc000 va=0xc01fc000 size=0x4000 resid=0x4000 prot=0x3 cache=2 PPPP pmap_map_chunk: pa=0xc01fb000 va=0xc01fb000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0xc01fa000 va=0xc01fa000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0xc01f9000 va=0xc01f9000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0xc01f8000 va=0xc01f8000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0xc01f7000 va=0xc01f7000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0xc01f6000 va=0xc01f6000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0xc01f5000 va=0xc01f5000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0xc01f4000 va=0xc01f4000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P pmap_map_chunk: pa=0xc01f3000 va=0xc01f3000 size=0x1000 resid=0x1000 prot=0x3 cache=2 P devmap: 80000000 -> 800fffff @ f0000000 pmap_map_chunk: pa=0x80000000 va=0xf0000000 size=0x100000 resid=0x100000 prot=0x3 cache=0 S devmap: 80800000 -> 809fffff @ f0100000 pmap_map_chunk: pa=0x80800000 va=0xf0100000 size=0x200000 resid=0x200000 prot=0x3 cache=0 SS devmap: 10000000 -> 13ffffff @ f0300000 pmap_map_chunk: pa=0x10000000 va=0xf0300000 size=0x4000000 resid=0x4000000 prot=0x3 cache=0 SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS devmap: 20000000 -> 23ffffff @ f4300000 pmap_map_chunk: pa=0x20000000 va=0xf4300000 size=0x4000000 resid=0x4000000 prot=0x3 cache=0 SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS freestart = 0xc0360000, free_pages = 7328 (0x1ca0) switching to new L1 page table @0xc01fc000...done! bootstrap done. init subsystems: stacks vectors undefined page pmap irq done. 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 (ARMADILLO9) #0: Tue Jul 12 12:55:55 JST 2005 tokuda@r1.home.tokuda.net:/export/o/20050711/evbarm/sys/arch/evbarm/compile/ARMADILLO9 total memory = 65536 KB avail memory = 62020 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 epcom0 at epsoc0 addr 0x808c0000-0x808c0fff intr 52 epcom0: console epcom1 at epsoc0 addr 0x808d0000-0x808d0fff intr 54 rn_init: radix functions require max_keylen be set cpu_lwp_fork: 0xc0359bd4 0xc24ca000 0xc0359bd4 0xc0359bd4 l1->procaddr=0xc01d8000 l1->procaddr->u_pcb=0xc01d8000 pid=1 pmap=0xc035d9c0 l2->procaddr=0xc244e000 l2->procaddr->u_pcb=0xc244e000 pid=1 pmap=0xc24c9000 boot device:root device:
おぉ〜。すげぇ〜。進んだ〜。
すばらしすぎますよ。hじまさん。
そういえばアキバに行っていたので記す。
DVD+RWってどうやって使うか知らんけど買った。しかし、DVD+RWって種類があまりないのだなぁ。
雨が降りそうだけど、まだ降っていない。
なのでひさしぶりに晴れていて涼しい。
configをすこし変更して新しいkernelを作った。
USBを有効にするためにohciを加えた。これはarch/arm/ep93xx/epohci.cというのが実体のようだ。
USB関係はohciだけを加えるとkernelのcompileが通らず、あれぇ、と思っていて、以前もこういうことがあったなと思い出し、USB関連のusb* at ohci?やuhubなどなどを加えていったらcompileが通った。
あと、内蔵 ether の epe0 がデバイスとして見えずにおかしいなぁ、と思っていたところ、アットマークテクノ本家のMLでLinuxのdmesg (http://lists.atmark-techno.com/pipermail/armadillo/2005-July/000405.html) が出ていてepe0が0xe0010000に存在するように見えた。
それならばと config に
# On-chip 10/100 Ethernet #epe0 at epsoc? addr 0x80010000 size 0x10000 intr 39 epe0 at epsoc? addr 0xe0010000 size 0x10000 intr 39
てな感じで書いてみた。
で、USBにUSBメモリをさして、Etherの口にケーブルをさして、いざ起動。
おぉ、USB見えてるぞ。しかも、epe0もアタッチされてる。
あれ? epe0のPHYがないぞ。
おっと、PHY全部コメントアウトしていたや。
まぁ、とりあえずukphyいれとけばいいや。
ってことでまた起動。おぉ、epe0動きそう。
おっと、NFS関連のconfigも全部消してるから、NFS bootできないや、ってことでNFS関連とIP関連を追加。で、Let's Noteにbootpd動かして、いざboot。
あれ、起動しないぞ。kernelが太りすぎたんだろか。とりあえず、USBはumassだけにするか。そして、いざboot。
あれぇ、NFS timeoutしてる。パケット出てるのかな。うーん、Etherの口の赤いLEDが (たまに) 点滅してるみたいだけど。
あれ、HUBみたらLinkupしてないぞ、うーん、ケーブル変えてみよ。やっぱだめだ。
とりあえずepe0はあきらめ。0xe001000にしたのが関係してるんだろ。ってことで。
よーし、次はUSBのHDDつけて動かしてみるか。
そのまえにUSB HDDの中身を整理しないと。
とりあえず、NetBSD/i386でdisklabe適当に書いてnewfsして、/mntにマウントして、releng.netbsd.orgからevbarmのbinary/setsもらってきて、paxで展開して、cd /mnt/devして、./MAKEDEV allして、cd /mnt/etcして、touch fstabして、やっとboot。
おぉー、rootにUSB HDDが使えるじゃないですか。
epe0ってどうなってるんだろ、と思いifconfigするとちゃんと見えている、手動でIPアドレスを設定してdefaultroute指定して、自分にping。
正しく動作してる。よーし、defaultrouteにping。
んー、変えってこないな。
やっぱりepe0動いてないや。まあ、もうひといきっぽいけど。
まてよ、USB Etherつかえばネットワーク使えるんじゃないかな。と思い、USB Etherを追加。kernelが溢れるかと思ったが大丈夫だ。
おぉ、ちゃんとbootデバイスとしてUSB Etherも使えるぞ (IOERRORはいっぱいでるけど)。
すばらしーい。MLに報告じゃ。epe0も聞いておこう。
まてよ、マルチユーザモードも動くのか?
あっさり動いた。
とりあえず、記念のbootログをhttp://www.tokuda.net/NetBSD/Armadillo9/20050713/boot_sd0a.txtに置いておこう。
睡眠不足にもかかわらずフラフラとアキバヘ。
USB接続の外付けHDDを探していたら、安いNASを見付けた。IO DATAのNASはNetBSDが移植されているので買うことに。まぁ、最初からはNetBSD化せずに普通のNASで使おう。
ビデオカードはATI RADEON X300 SEというChipが搭載されている。PCI Expressって初めて買った。B級品というのは修理あがりのものらしい。
Low ProfileでDVI-DSub15変換が付いているのが気に入った。いずれにせよ、安さが重要と。
朝は少し涼しかったのでよかったなぁ。
YLUGのカーネル読書会に参加してきた。
Novellさんのおかげでピザや飲物がふるまわれたので夜遅い会にもかかわらず空腹に悩まされることがなかった。
しかも、SuSEのエンブレムとカメレオン (ギーコっていうらしい) のぬいぐるみをおみやげに貰ってしまった。
内容については、さすがにLinuxなこともあって単語のわからないところがたくさんあったけれど、本物のdeveloperが話す内容は大変すばらしかった。
60人ぐらいは参加していたんじゃないかと思われる大盛況。
あとから聞くと、普段はもう少し人が少ないってことと、もう少しハッカー寄りの話題が中心なんだとか。たしかにビジネスっぽい話題が多く、さすがLinuxはビジネスの香りがするなぁ、などと思っていたのだけれど、気のせいらしい。
そのまま勢いで宴会も参加する。
Linux関連っていうかLUGの宴会は初めて。知らない人ばかりで新鮮。ドキドキもの。
そして、となりの席に座った人は、実は同級生だったのです。なんという偶然でしょう。
読書会が21:30ごろ終わったので宴会も早々にお開きの時間。
初参加で初対面だったのですが、結構盛り上がって楽しかったかも。
また参加したいものです。
購入した外付けHDDはTCP/IPを話さないNASで独自のプロトコルを使って高速化するものらしい。
ということで、WindowsXPですらNAS用のドライバをインストールしないといけないという代物なんだとか。
そういえば、ツクモの店員さんが「ドライバをインストールするタイプです」とか言っていたのを思い出す。ドライバなんて不要でしょう、何を言っているんだろう。と思っていたのだけれど、いま考えてみれば、ちゃんと質問しておけばよかったと後悔しきり。
唯一の救いはUSBで直結できること。とりあえずは、単なるUSBの外付けHDDとして使うことにしよう。
で、最近のUSB HDD箱はPCの電源と連動して、自分の電源をON/OFFするようになっていたりするわけです。
この外付けHDDにも当然その機能が実現されています。ということで、試してみました。
PCの電源ONして連動します。よしよし。
PCをシャットダウンして... あれ? 連動しないな。
やれやれ。安物買いの銭失いとはこのことでしたね。隣に置いてあったLANTANKでも買えばよかったなぁ。高いけど。
YLUGのカーネル読書会で実はArmadillo-9のLinux kernel2.6の移植をしているKさんと遭遇していたらしい。
で、深夜からArmadillo-9ネタで盛り上がる (IRCで)。
CFを使えるようにしたいなぁ、と話をしたところ、EP9315に含まれるPCMCIA I/Fをサポートするには、evbarm/lubbockあたりのpcicのソースやarm/sa11x0に含まれるpcicのソースを元にすれば良いのでは? ということを教えてもらう。
あと、0x80080000-0x8008ffffにあるPCMCIACNTレジスタ (0x80002040) に 0x11 を書き込んでPCMCIAモードで動作するようにする必要があるそうです。
そのうち挑戦してみたいなぁ、と思いつつ就寝。
朝からテレビ見ててびっくりしました。
複雑な心境。
夏祭り。
じんべい、でお出かけ。
輪投げとか寒天とかダンスとか。
新幹線の予約をしてみたり、万博のチケットを買ってみたり。
日帰りで愛・地球博へ。
朝の6:15に起床。
都営新宿線 - 総武快速線 - 新幹線 - エキスポライナー - リニモと乗り継いで会場へ。
すでに昼食タイムですよ。
で、リニアモーターカーの中を (立ち止まるなと言われながら) 歩いて、IMTSに乗って、ドイツ館で3時間待ちかつ門前払いを食らいながら、歩いて歩いてマンモス館に到着すると、整理件待ちの長蛇の列にスゴスゴと引き下がり、またまた歩いて歩いてオーストラリア館。
ここは良かった。待ち行列では霧が吹いていて、館内は涼しくて椅子があってゆっくりできた。
その後ニュージーランド館を歩き抜けて、すでにぐったり。
で、TRAM - キッコロゴンドラ - シャトルバス - エキスポライナー - 新幹線 - 総武快速線 - 都営新宿線で帰宅。
乗物に乗りすぎ。疲れすぎ。
帰宅したのは0:15頃だったかな。
しかしまぁ、始まってからずいぶん経過したけれど、
って感じで日帰りで気軽に立ち寄る人は驚きの連続かもしれませんな。
まったく情報収集していかないほうも悪いけどさ (それでも公式情報は見ているつもりだよ)。
FreeBSDへの移植を目標にSさんが御購入。
楽しみかも〜。
あと、ML情報としてepe0のMACアドレスの件で進展ありらしい。EEPROM (24C01) からMACアドレスが取得できた模様。
なお、Linuxを起動したあとにNetBSDを起動するとMACアドレスを設定しておいてくれるらしい。というのは、NetBSDのepeドライバは自分の持っているIndAdレジスタを読んで表示しているからのようである。
昼ごろまで寝ていて、昼すぎからふとんを干したり、掃除をしたりしているうちに夜になってしまった。
びっくりドンキーで夕食の後、新しくできたっぽいダイエーを視察。21時をすぎていたので全貌は次の機会に。
朝も夜もお願いしましたよと。
なんか鼻の調子が悪くなってきたみたいな気がする。エアコンが良くないのはわかってるんだけど、エアコン無しだと暑くてダメだしなぁ。
PCMCIAまわりのソースを見てみたけれど、ちょっとさっぱり理解できないかも。
うぅむ。
まぁ、疲れも見せずに元気ですよ。
メールはこちらへ...[BSD小僧 (tokuda @(at) tokuda .(dot) net)]
この日記は、GNSを使用して作成されています。