TeraStation
    自分の日記など
    その他の URL
設置
  作業方針など
    Linux 設定
      新品の場合
      disk を入替えた場合
    Root で login
    区画
    sysinst
    multi user で起動
      fdisk
    課題
  実際の設置作業
    作業全体の流れ
    詳細
  fdisk
    再起動
    mkfs.xfs
      RAID5 解除前
  sysinst
    fdisk
    disklabel
    fetch
  raid
    disklabel を写す
OS設置後
  RAID
      raid.conf
    区画
  raid 5
    raid0.conf
  raidctl
    用語
    操作
  swap34
    34 入替
  disk 入替
  mfdisk -c
  危険
作業例
  20080302
    追加 patch
    NetBSD 設置後
    boot selector
  20120302
    NetBSD 以前
      卓をつなぐ
      nasupdate
      admin で login
      ts.cgi を変更
      ts.cgi を実行
      sudo -s を確認
      RAID の解除
      一時ネットワーク
    USB メモリを用意
    RAID5 設定
      fdisk
      raid 設定
    sysinst
    pkgsrc
    raid
    problem
RAID HowTO
  20080428
    sysinst(fdisk)
    sysinst(disklabel)
    raid5
    sysinst (raid)
    multi-user
    raidctl -iv
  disk 障害
  boot selector

hardware | kuro-box | NetBSD/kuro-box | software

TeraStation

Last Update: "2012/03/05 08:18:55 makoto"

ここではこの機種を扱います

設置

作業方針など

buffaloから発売された
  1. 寺駅 TeraStation(PowerPC) 銀
  2. 新寺駅 TeraStation(PowerPC) 黒
  3. 新々寺駅 TeraStation(ARM) 黒
のうち 2. 新寺駅の TS-TGL/R5 で NetBSD を動かすための作業例です。ここでは、disk に真更の何も入っていない新品 を勝手に接続した場合の話です。

Linux 設定

新品の場合
TS-TGL を新品で入手した場合の実際の作業は こちらにもまとめています。
disk を入替えた場合
disk を真更のものと交換した場合には次のようにします
  • 四つ disk をつながないと先に行かないので、(大きさは違ってもいいそうですが) とにかく四台接続します。
  • Firmware Updater を 入手 し Windows 側から初期化します。
  • RAID は解除しておきます

Root で login

この先は、 卓から Root で作業 したいのですが、そのためには
  1. 卓が利用出来ること
  2. root のパスワードが分るか sudo が使えること
が必要です。1. の卓を利用するには、二つの方法があります。以下のどちらかです
  • http://terastation-ip/cgi-bin/task.cgi?task=console&param=on
    
    を閲覧することにより有効化されます。
  • 前の扉を開けて下から上を覗くと、赤いボタンが見えます。 電源投入時に、 これを押しながら起動します。 (その時に「運命」の冒頭の音がすれば有効になっています)。 これによって後の直列通信用の口は UPS 制御から卓に切替ります
卓が使えるようになると login: が表示されます。ここで login する時に、 user id と password を聞かますが、それは大きな (A2 版の) 紙の説明書の 「5. 以降は ... 」の部分に書いてあります。

2. のパスワードについては次のどれかの方法などを使います。

  • 1.09 よりも前の版なら、自分で穴を見つけてそこから入る
  • OpenLink FreeLink といった firmimg.bin の入替版を使う
  • 例えば firmware updater に細工をして入れるようにする
  • 参考: http://www.wizard-limit.net/mt/pc/archives/001866.html
一度 root で作業が出来るようになれば、例えば、次のようにして S11console を用意しておきます。
# cat > /etc/rc.d/rcS.d/S11console . /etc/default/rcS /usr/sbin/miconapl -a serialmode_console ^D # chmod +x /etc/rc.d/rcS.d/S11console
これで、電源を入れた直後の、本当の最初の部分は欠けますが、途中から卓が 使えるようになります。また再起動 (/bin/reboot) した時には、最初から見えます。

区画

disk の区画は次のようになっています (mfdisk を使う時には 注意 が必要です、引数無で起動してはいけません)。
root@TS-TGL1C4:~# /sbin/mfdisk -c /dev/sda Command (m for help): p Disk /dev/sda: 255 heads, 63 sectors, 30401 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/sda1 1 48 385528+ 83 Linux /dev/sda2 49 65 136552+ 82 Linux swap /dev/sda3 66 30378 243481141 83 Linux /dev/sda4 30378 30401 192779 83 Linux Command (m for help): q
あるいは区画を見るには、 次のように -l を使う方が簡単です。(これは上とは違う機械の例です)
root@TS-TGL1C4:~# /sbin/mfdisk -l /dev/sda Disk /dev/sda: 255 heads, 63 sectors, 60801 cylinders Units = cylinders of 16065 * 512 bytes Device Boot Start End Blocks Id System /dev/sda1 1 48 385528+ 83 Linux /dev/sda2 49 65 136552+ 82 Linux swap /dev/sda3 66 60772 487620946 83 Linux /dev/sda4 60772 60801 240974 83 Linux root@TS-TGL1C4:~#
最初の方の例を 表の形に書直すと次のようになっています。
番号 開始 終了 kB形式 意味 大きさ
1 1 48 385528+ 83 Linux / 380M
2 49 65 136552+ 82 Linux swap swap 136M
3 66 30378 243481141 83 Linux /mnt 領域 240G
4 30378 30401 192779 83 Linux 未使用 192M
さて、
  1. Linux 側を何事もなかったかのように動かす
  2. NetBSD 領域を確保する
ための、一つの方法として、かわうち方式、つまり 上の 3 と 4 を入替え て、192M を /mnt 領域とする方法があります。 そうするための作業としては、次のような選択肢があります。
  1. 4 番目の区画を xfs で初期化して使えるようにする (mkfs.xfs)
  2. 3/4 入替手続き (MIPS な LinkStation の Linux関連情報 にある) を使って MBR を書替
  3. (Linux 側の RAID 設定を外しておいた上で) NetBSD Memory Disk から起動し、構わず wd1 wd2 wd3 を fdisk を使って3/4 の大きさを交換する。その後で Linux を再起動してから NetBSD Memory Disk を もう一度起動し、wd0 も 同様に交換する
作業を簡単にする方法の一つとして、外付 USB に外部 disk をつないでおき、これに NetBSD を設置 して見ます。 これは、簡単にする、というよりは、現状を変更しないで動作を確認するため、という理由です。 実際には、これはなくても直接 wd0 等に設置可能ですが、一種の危機管理というか、練習の ようなものです。

これと違う方法として、 次の頁の操作例 では NetBSD Memory Disk kernel をいきなり起動します。 そちらも参考にして下さい。

sysinst

Linux 側に /boot を作って その中に nbloader_v3.o と netbsd-KUROBOX_MD.bin などを置きます。 (最初は、これらを TeraStation の samba を動かしておいて、/mnt に写しておいて、更に /boot に移動する、という方法を取りました)
nbloader_v3.o NetBSD カーネルローダ
netbsd-KUROBOX_MD.bin RAM disk カーネル、binary 形式
netbsd-KUROBOX.bin カーネル、binary 形式
これらは、 材料 (1) | (2) も、方法も考え方も、 玄箱の時 と殆んど共通です。違うのは nbloader_v3.o を Linux カーネルと合せておくということだけです。
その上で、次のように入力します。
# /sbin/insmod /boot/nbloader_v3.o kernel=/boot/netbsd-KUROBOX_MD.bin
これで NetBSD の RAM Disk kernel が起動しますので、その中の sysinst で sd0 に設置します。 次の三つのものは
実際には、前項の 3/4 入替で wd0 等に書けるようになっていれば、外付 USB disk は必要 ありません。そのまま sysinst で wd0 に 設置可能です。

multi user で起動

再び Linux 側の /boot に ( /netbsd を binary 形式にした ) netbsd-KUROBOX.bin を置いておきます。 その上で次のように入力して起動します。これは sd0 に NetBSD の / がある場合です。
# /sbin/insmod /boot/nbloader_v3.o \ kernel=/boot/netbsd-KUROBOX.bin \ bootdev=0xa0000004
wd0 に設置した時には、次のようにします (bootdev= の先が違います)
root@TS-TGL1C4:/boot# /sbin/insmod nbloader_v3.o kernel=/boot/netbsd-KUROBOX.bin cmdline=bootdev=wd0a
(実際には一行で入力します。)
/sbin/insmod nbloader_v3.o kernel=/boot/netbsd-KUROBOX.bin cmdline=bootdev=wd0a

蛇足かと思いますが、説明を加えると、 どの場合でも kernel は Linux 側の /boot に置いてあってそれを読む。 その読んだ kernel が起動した後に NetBSD の / (root) 区画を見つけるのを bootdev= で指定するので、それが NetBSD をどこに設置したかで変って来る、という意味です。

fdisk
fdisk で見ると、
tera# fdisk /dev/wd3
wd3: no disk label
Disk: /dev/wd3d
NetBSD disklabel disk geometry:
cylinders: 484521, heads: 16, sectors/track: 63 (1008 sectors/cylinder)
total sectors: 488397168

BIOS disk geometry:
cylinders: 1024, heads: 255, sectors/track: 63 (16065 sectors/cylinder)
total sectors: 488397168

Partition table:
0: Linux native (sysid 131)
    start 63, size 771057 (376 MB, Cyls 0-48)
1: Linux swap or Prime or Solaris (sysid 130)
    start 771120, size 273105 (133 MB, Cyls 48-65)
2: Linux native (sysid 131)
    start 1044225, size 401625 (196 MB, Cyls 65-90)
3: NetBSD (sysid 169)
    start 1445850, size 486946215 (237767 MB, Cyls 90-30401)
tera# 

課題

多分(僕が間違っていなければ)次のような課題があります。
  • 分りやすい boot selector → 外付 USB メモリが有効
  • 前のボタンでの電源断
    かわうちさんの tera-bsd の (2007-06-13) のところに書いてある
    http://kurobsd.ki.nu/download/testing/miconv220070613
                    bunzip -c miconv2d.c.bz2 > miconv2d.c
       115  21:30   cc -o miconv2d -lutil miconv2d.c
       117  21:30   ./miconv2d
    
  • shutdown -p now で電源は切れるが、前の LCD が消えない
  • RAID の設定
  • ext2fs の mount
  • xfs の mount
以上、簡単そうに書いていますが、省略している操作がいくつもあるはずです。 また、これはかわうちさん(や他の先人の方)が、いろいろと調べたり作ったりして用意し、一度通った道を 後から通っているから簡単そうに見えるだけです。 かわうちさん 山下さん TeraStation で遊ぼう の作者の方、 ありがとうございます。
Last Update: Sat, 07 Jun 2014 22:16:17 GMT 1.66 2008/03/08