コンパクトで非常にcoolです。
linuxにはそれほど興味はないので、いきなりinfernoを動かします。
○ビルド
過去の日記参照。
ビルド環境は、アットマークテクノで提供しているATDE3というVMware用のイメージを
つかわせてもらった。とても便利。
○シリアルの用意
windowsでつなぐことにした。
sheevaplugのサポートサイト?からドライバを持ってきてインストール。
kuro sheevaとUSBで接続すると、kurosheevaはUSBシリアルに見える。
なお、USBコントローラーはFTDIで、シリアルのブリッジをしている。
kuro sheevaがおかしくなったとしてもシリアルは無事の可能性が高い。
電源を切るとFTDIも落ちるのでちょっと不便だけど、こういった構成は今後も使われるであろう。
シリアルコンソールはteratermを使用した。
何でもいいんだけど。
○ubootでtftpブートの設定。
あらかじめPCではtftpを立ち上げておく。
poor tftp serverがとても良い感じ。
PCはIPアドレス192.168.12.12を割り当てておく。PCとkuro sheevaはEtherで直結。
ビルドでできたuisheeva.gzを持ってきて、
tftpのルートに置いておく。
kuro sheevaを立ち上げるとlinuxが立ち上がってしまう。
rootでログインし、shutdown -r nowでリブート。
hit any keyと言われるのでキー入力すると、ubootのコンソールに入れる。
そこで、
setenv ipaddr 192.168.12.11
setenv serverip 192.168.12.12
setenv bootfile uisheeva.gz
saveenv
tftpboot
bootm
とすると、一瞬でinfernoのシェルが現れる。
Inferno Fourth Edition (20101127)
Vita Nuova
conf sheeva (1293936724) jit 0
kirkwood 88F6281-A0
mvfeat 0x41410000
l2: on, ecc off, mode writethrough
icache on, 16kb, 4-way associative, 32 byte lines
dcache on, 16kb, 4-way associative, 32 byte lines
Initial Dis: "/osinit.dis"
sheevainit...
shell...
;
かっこ良すぎ。
○ネットワーク設定
はて、ネットワーク設定はどうやるのか?
/netrcというスクリプトを用意してくれていた。
dhcpもいけるようだが、今回は固定IPで試した。
sh /netrc
を実行するとstaticかdynamicか聞かれるので、staticと答える。
残念ながらIPは決め打ちになっていて、192.168.12.11が選ばれる。
このスクリプトをみると、ネットワーク設定の方法の参考になる。
マニュアルをみただけでは難しいのでありがたい。
設定を変えようにも、エディタがないので現時点では無理(不可能ではないけど面倒)。
○Telnetで接続
netrcに驚きの箇所が。
ndb/cs
listen -A net!*!telnet {sh -i >[2=1]} &
の一行でtelnetサーバーを立ち上げている。
listenの仕組みで即telnetができてしまうとは。
認証していないのでセキュリティ的にはアレですが。
○リモートファイルシステムをマウント
・kuro sheeva側
listen net!*!styx {export /&}
・PC側
Infernoを立ち上げる。
ndb/cs
mount -A net!192.168.12.11!styx /n/remote
これで設定をacmeで変えられる。
○今後
wikiサーバーでも立ち上げようかと思ったけど、HTTPdは入っていなかった。
その前に、ストレージはどこまで対応しているのだろうか。
wikifsを使った個人用wikiがほしい。
インターネットにさらすのは恐いが。
あれ?listenに-Aをつけなきゃだめだったかな?
返信削除