入口
  URL's
  Documents
Hardware
  Block diagram
  PCI slot
  flash ROM
    切替
    書込
  DIPSW
    Sandpoint X3
    PrMC Card
      SW2
  Serial
    PrMC Card
  Interrupt
    Serial
    Wire OR
    Slot
DINK32
  115200
  help
U-boot
NetBSD
  libsa/boot
  netboot 虫取中
  dmesg
  build.sh
  20071006
Ref.
  DataSheet

hardware | TeraStation | software

Sandpoint

Last Update: "2007/11/09 18:47:39 makoto"

NetBSD

NetBSD の起動

libsa/boot

/usr/src/sys/arch/sandpoint/stand/netboot/ で nbmake-sandpoint すると、次のようなものが出来ます。
-rwxr-xr-x  1 makoto  wheel  53780 Oct 26 08:47 netboot.bin*
-rwxr-xr-x  1 makoto  wheel  65516 Oct 26 08:47 netboot*
これは DHCP/BOOTP と NFS を使って network boot するしくみです。 Makefile を見ると分りますが、
RELOC=          1000000
ENTRY=          _start
100,0000 番地に置いて DINK32 から go するようなプログラムになっています。 また、現在は、Sandpoint 3X の com 口で 115,200bps の通信をする、という 前提で書かれています。
CPPFLAGS+=      -DCONSNAME=\"com\" -DCONSPORT=0x3f8 -DCONSSPEED=115200
#CPPFLAGS+=     -DCONSNAME=\"eumb\" -DCONSPORT=0x4600 -DCONSSPEED=115200
例えば dhcp サーバの /etc/dhcpd.conf に次のように書いておき、/etc/rc.d/dhcpd restart しておきます。
host sandpoint { # SandPoint
        hardware ethernet 00:00:5b:00:xx:yy;
        fixed-address 192.168.1.228;
        next-server 192.168.1.210;
        filename "netbsd-GENERIC";
        option root-path "/export/src/obj/destdir.sandpoint";
}
ここで hardware ethernet 00:00:5b:00:xx:yy; は予め調べておいた Sandpoint の MAC address, fixed-address 192.168.1.228 は Sandpoint に割当てる IP address, next-server 192.168.1.210 はこの後に NFS mount で カーネルを読むための NFS サーバ のアドレスです。filename の項目は無視されます。

netboot 虫取中

実際には
  • netboot 自体のデバッグ中
  • 100,0000 番地に置く方法として、network を使う方法もあるが、DINK32 の ネットワーク経由の転送は必ずしも 現在安定に動かない
  • 代替手段として、 一度別の機械で hard disk に書き、それを IDE 口に差して hard disk から RAM に写し、 場合によっては更に flash に書く
という事情があるため、 patch を当てて、
  • 一度 flash に書いた、自己複写方式の netboot プログラムを ff00 0000 から起動
  • ff00 0000 から起動すると、自分自身を 110 0000 に写して、制御をそこに移す
  • 110 0000 から起動し、NFS でもう一度新しい (netbsd という名前の) netboot を (RELOC= の指定の) 200 0000 に読む
  • 200 0000 から 新しい netboot が起動し netbsd.1 を読む (新しい netboot はカーネルを netbsd ではなくnetbsd.1 という名前で読むというようにしておく)
  • netbsd.1 に制御を移す
という二段 netboot 方式を使っています。 最新 patch は dmesg 画面から参照出来ます。
Last Update: Sat, 07 Jun 2014 22:16:17 GMT 1.66 2008/03/08