« ちょっと悲しい最近のMacOSX | Main | ElScreen-GF 1.5.2 »

2006年10月30日

Armadillo-210でNetBSD

[ カテゴリ: NetBSD ]

久々かもしれない、NetBSDねた。 といっても、たいしたことはなくて、 Arimadillo-210というARMな超小型計算機でNetBSDを動かしました、 という話です。

この手の小型計算機でNetBSDというネタは、 とくださんのところがとても参考になるわけで、 Armadillo-210に関してもやっぱりいろいろ書いていただいているわけです。 なのでぶっちゃけ、 Armadillo-210でNetBSDしたいひとはそこを見ていただければいいわけですが…

で、ブートするとこんな感じ。

Hermit-At v1.0.7 (Armadillo-210C/ttyAM1) compiled at 19:04:02, Oct 12 2006
Uncompressing  kernel...........................................................
................................................................................
...........................done.
Doing console=ttyAM1,115200
Doing mtdparts=armadillo210-nor:0x10000(bootloader)ro,0x3e0000(kernel),-(config)

NetBSD/Armadillo-210 booting ...
Copyright (c) 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
    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 4.0_BETA (ARMADILLO210) #1: Sat Oct 14 16:34:52 JST 2006
	naoto@takayama.xxxxx:/usr/home/naoto/tmp/armadillo/src/sys/arch/evbarm/c
ompile/obj/ARMADILLO210
total memory = 32768 KB
avail memory = 26360 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 E1
epsoc0: fclk 199.99 MHz hclk 99.99 MHz pclk 49.100 MHz
epclk0 at epsoc0 addr 0x80810000-0x8081008f intr 4
epgpio0 at epsoc0 addr 0x80840000-0x808400cb intr 59
gpio0 at epgpio0: port A: 8 pins
gpio1 at epgpio0: port B: 8 pins
gpio2 at epgpio0: port C: 8 pins
gpio3 at epgpio0: port D: 8 pins
gpio4 at epgpio0: port E: 8 pins
gpio5 at epgpio0: port F: 8 pins
gpio6 at epgpio0: port G: 8 pins
gpio7 at epgpio0: port H: 8 pins
epled0 at epgpio0: port E bit1 1 bit2 0
armadillo9iic0 at epgpio0: port B bit1 4 bit2 5
iic0 at armadillo9iic0: I2C bus
seeprom0 at iic0 addr 0x50: AT24Cxx EEPROM
epe0 at epsoc0 addr 0x80010000-0x8001ffff intr 39
epe0: MAC address 00:11:0c:03:03:e3
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
epcom1 at epsoc0 addr 0x808d0000-0x808d0fff intr 54
epcom1: console
epwdog0 at epsoc0 addr 0x80940000-0x80940007 intr 36
eprtc0 at epsoc0 addr 0x80920000-0x8092010b intr 37
md0: internal 4096 KB image area
boot device: 
root on md0a dumps on md0b
root file system type: ffs
WARNING: clock lost 13444 days
WARNING: CHECK AND RESET THE DATE!
Thu Jan  1 00:00:06 GMT 1970
Setting tty flags.
Starting network.
Hostname: armadillo210
IPv6 mode: autoconfigured host
Configuring network interfaces: epe0.
Adding interface aliases:
Building databases...
Mounting all filesystems...
Setting securelevel: kern.securelevel: 0 -> 1
Starting local daemons:.
Setting date via ntp.
Starting ntpd.
Starting rtsold.
Starting sshd.
Mon Oct 23 13:43:20 GMT 2006

NetBSD/evbarm (armadillo210) (console)

login: 

注意するべきがいくつかあります。

まず、上記のページにあるブートローダはHermit-At 1.0.2なので、ちょっと古い。 最近Armadillo-210を手にした人は基盤がRev.Cになっているので、これでは動きません。 というわけで、自分で作らないといけません…が、それもなんですので、 このあたりに転がしておきます。 もちろん無保証。基本的には濱嶋さんのパッチを1.0.7ベースに取り込んだだけです。 書き込みは以下の通り。

$ hermit download -i loader-armadillo210.bin -r bootloader --force-locked

次に、nfs_rootするならいいんですが、in-kernel mdでブートしようとすると、 initでこけます。 どうも、コンソールにメッセージを吐くためのopenlogでブロックしているらしい。 めんどくさいのでまじめに追ってませんが、 log関係を全部捨てれば普通にあがります。

あとはあれですね、いかに4Mに押さえ込むかという勝負でしょうか。 戦略としては、昔の1FD BSDのように全部crunchするか、 あるいは必要な分だけをcrunchして、残りをvnode diskにつっこみ、 vndcompressして容量を稼ぐか、でしょう。 私の場合は後者の戦略で、dhclient/ntpd/ntpupdate/sshdまで入れて、 残りが200kbってところです。

Comments

Post a comment




Remember Me?