|
|
hardware |
kuro-box |
NetBSD/kuro-box |
software
TeraStation
|
Last Update: "2009/12/30 21:42:11 makoto"
実際の設置作業
PowerPC 版の黒い新寺の新品を使って、作業をした記録です。
実は新品であっても disk は空といいますか Linux 環境は入っていません。
要点:
- 卓(シリアルコンソール)を接続して作業したが、改造は無
- 細工をした nasupdate.exe を使った
- 最低限の Linux 環境は、一つでも disk が残っていれば動く
- そこで NetBSD の RAM disk 環境から fdisk を使って disk の構成
を次々と変えてしまう
というような方法を使いました。
作業全体の流れ
- 電源を入れ、IP address を確認し、卓を有効にし、
卓に別の計算機を接続
- 予め少し
細工をしてある firmimg.bin
を含んだ形で nasupdate を窓機側から実行
(この結果、ほとんど通常の、
Buffalo さんの方で期待している NAS の動作が可能になります)
- 安全上の穴を利用し /etc/sudoers を作成
(卓作業と HTTP 閲覧の組合せ)
- HTTP 閲覧から操作して RAID 配列を解除
- 窓機画面上から (samba file server 機能で) /boot に必要なものを転送
- insmod nbloader を使い /boot に用意した netbsd-KUROBOX_MD.bin を起動
- (NetBSD RAM disk カーネル環境で) fdisk を使い区画を変更
- 再起動し mkfs.xfs -f を使って linux 区画を初期化、もう一度再起動
実はこの後に sysinst が続きます。
詳細
- 卓を接続します
- まず物理的(電気的)に卓に別の計算機をつないでおきます
つまり、TeraStation の後側の、
9 pin の(オスの)コネクタに (RS-232Cの)クロス線
をつなぎ、別の計算機の方を57.6k bps に設定します。
- 前面の扉を開け、下から上を覗くと、赤い小さなボタンが
見えますが、これを押しながら電源を入れると、「運命」の音がして、後の
DB-9 が UPS 制御から卓に切替ります。
(最初の起動の表示)
閲覧系を使って、 次のようにする方法もあります
(これの場合には再起動操作では初期化されず、この設定が残ります)。
http://ip-address/cgi-bin/task.cgi?task=console¶m=on
を読みます。task:console - param:on と表示されるのを確認します。
(この時に必要な user id と password は A2 版の大きな紙の項目 5. に書いてあります)
-
液晶に表示される IP address を確認します
また卓にはいろいろ表示されますが、最後に次のようになります
BUFFALO INC. TeraStation series TS-TGL(IENARI)
TS-TGL2B8 login:
この時も、上で使ったのと同じく
説明書に書いてある userid と password を使って login します。
- この段階ですと、次のように RAM disk で動いています。
admin@TS-TGL2B8:~$ df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/shm 15360 148 15212 1% /mnt/ram
/dev/ram1 14521 164 13607 2% /tmp
/dev/md1 232282560 1584 232280976 1% /mnt/array1
admin@TS-TGL2B8:~$
- nasupdate.exe を Windows 側から実行して NAS としての動作をする
ようにします。nasupdate.exe を起動すると、この機械が見つかるはずです。
firmware update を実行します
(この時に、実は ts.cgi に穴を開けてある版を使います。もし入手あるいは作成
方法が分らない時には、直接御質問下さい .. この Web の作者にです)
この作業により二回くらい再起動します。
この場合に、
「アップデートが必要な TeraStation はみつかりません」(OK)
と言われる場合もあります。この時には、
- nasupdate.exe の隣に並んでいる linkstation_version.txt
の中身を一つ進めておきます。後から /etc 以下を戻せばいいと思います
- 中身を消してしまう
(空の disk を使う、あるいは disk を一旦切離し、他の機械に接続して消す)
などの方法を採ります
-
-
再び卓から login して
http://www.terastation.org/wiki/Become_root_(1.04)
http://buffalo.nas-central.org/index.php/Terastation_Become_root
を見ながら
/www/cgi-bin/ts.cgi を編集します。次の部分です。
(例えば vi で 開け、下の page の文字列を探して、その直前に
+ の行を加えて、+ の文字は削除しておきます)
--- ts.cgi Mon Apr 4 14:24:03 2005
+++ ts.cgi Fri Apr 29 10:06:49 2005
@@ -35,6 +35,13 @@
#### QUERY_STRINGを指定するページを表示する ###
### TOP ###
+if ($query{'page'} eq "hack") {
+ open F, ">/etc/sudoers";
+ print F "admin ALL = (ALL) ALL\n";
+ close F;
+ chmod 0440, "/etc/sudoers";
+ $query{'page'} = "top";
+}
if ($query{'page'} eq "top") {
require "./html/$lang/head.pl";
require "./html/$lang/body.pl";
-
編集が終ったら (/sbin/ifconfig -a で IP ADDRESS を確認しておき)、
閲覧系から
http://ip-address/cgi-bin/ts.cgi?page=hack
を読みます。この時に userid と password を聞かれるかも知れませんが、
それは (A2 版の説明書にある) 例のやつです。
その後、
再び卓から前回と同じ userid/passwd で login した後 sudo -s して見ます。
admin@TS-TGL2B8:~$ sudo -s
We trust you have received the usual lecture from the local System
Administrator. It usually boils down to these two things:
#1) Respect the privacy of others.
#2) Think before you type.
Password:
root@TS-TGL2B8:~#
ここで入力するのは何回も入力している、いつものやつです。
これで上のように root になれます。
- 電源を入直しても卓が有効になるように、次のような細工をします
. /etc/default/rcS
/usr/sbin/miconapl -a serialmode_console
というような内容を
/etc/rc.d/rcS.d/S11console
(等) に書いて
chmod +x /etc/rc.d/rcS.d/S11console
しておきます
-
http://ip-address/
を閲覧し、
ディスク管理 → RAID 設定 → RAID1 → RAID アレイの削除
を選びます。
RAID アレイの削除を行ないます。
削除対象の RAID アレイに保存されているデータは全て消去されます。
この作業を取消すことはできません。
設定を行ないますか
[ OK ] [ キャンセル ]
OK を選ぶと、
確認番号が表示されるので、その通りの数字を入力します。
少し時間がかかって「設定完了」に始まる画面が表示されます。卓の側から
df -k を使うと、次のように表示されます。
root@TS-TGL2B8:/# df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/shm 15360 112 15248 1% /mnt/ram
/dev/ram1 14521 176 13595 2% /tmp
/dev/ts_disk1_3 77427604 320 77427284 1% /mnt/disk1
/dev/ts_disk2_3 77427604 320 77427284 1% /mnt/disk2
/dev/ts_disk3_3 77427604 320 77427284 1% /mnt/disk3
/dev/ts_disk4_3 77427604 320 77427284 1% /mnt/disk4
root@TS-TGL2B8:/#
/ は df -k だけでは表示されません (何故 ?)
root@TS-TGL2B8:/# df /
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/md0 379712 203228 176484 54% /
-
この後、/boot 以下に次のものを転送します。
(この付近は別の方法もあります、boot selector を
先に入れてしまうことです .. その場合、以下の /boot に入れているものは /mnt/usbdisk1
に入れることになります )
- netbsd-KUROBOX.bin
- netbsd-KUROBOX_MD.bin
- nbloader
ftp://ftp.ki.nu/pub/NetBSD/kurobsd/boot/loader
nbloader_v3.20061014.tar.gz
(以下の操作の前に IP address の変更が必要かも知れません。ここまでは
例えば 192.168.1.125 で操作して来ましたが、これは自分のネットワークア
ドレスとは違っていて、以下の通信は出来ないからです
/sbin/ifconfig eth0 192.168.100.1 等とすれば変更可能です)
)。
さて転送には、
samba 機能を使うか
Linux 側から wget を使います。後者の方がずうっと簡単です。
その場合には次のようにします。
mkdir /boot
cd /boot
root@TS-TGL1C4:/boot# \
wget ftp://ftp.ki.nu/pub/NetBSD/kurobsd/boot/loader/nbloader_v3.20061014.tar.gz
root@TS-TGL1C4:/boot# \
wget http://www.ki.nu/~makoto/kuro-box/netbsd-KUROBOX_MD.bin
samba 機能を使う場合(以下緑文字部分)
などと入力して「設定」を選びます。
これで /mnt/disk1 の下に、上で設定した名前のものが出来ます。
root@TS-TGL2B8:/# ls -l /mnt/disk1/
total 0
drwxrwxrwx 2 root root 6 Jun 20 20:29 mnt
Windows 機のネットワーク機能から、今設定した mnt が見えますので、
その中に /boot に使うものを移しておきます。
(例えば、閲覧系から「リンクターゲットに名前を付けて保存」等で直接 mnt に書くこと
も可能です)、それらは次のようなものです
まず mnt 側に見えます。
root@TS-TGL2B8:/boot# ls -l /mnt/disk1/mnt/
total 7848
-rwxrw-rw- 1 nobody nogroup 30629 Jun 20 20:49 nbloader_v3.20061014.tar.gz
-rwxrw-rw- 1 nobody nogroup 2950140 Jun 20 20:41 netbsd-KUROBOX.bin
-rwxrw-rw- 1 nobody nogroup 5049864 Jun 20 20:44 netbsd-KUROBOX_MD.bin
これを /boot に移動します。
root@TS-TGL2B8:/root# mkdir /boot
root@TS-TGL2B8:/root# cd /boot
root@TS-TGL2B8:/boot# mv /mnt/disk1/mnt/* .
nbloader は展開しておきます
root@TS-TGL2B8:/boot# tar zxf nbloader_v3.20061014.tar.gz
(または)
root@TS-TGL2B8:/boot# tar zvxf nbloader_v3.20061014.tar.gz
linux のカーネルに合せた nbloader_v3.o の
版を ln を使って /boot に見えるようにします (USB メモリ内では ln は使えないので cp します)
root@TS-TGL2B8:/boot# \
ln nbloader_v31/binary/2.4.20_mvl31-ppc_terastation/nbloader_v3.o .
- insmod nbloader を使って NetBSD RAM disk カーネルを起動
root@TS-TGL2B8:/boot# /sbin/insmod nbloader_v3.o kernel=netbsd-KUROBOX_MD.bin
NetBSD loader module loaded
kernel=netbsd-KUROBOX_MD.bin
load address=0x00090000
boot device=0x00000000
boot flags=0x00000000
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.99.3 (KUROBOX_MD) #0: Mon Oct 30 19:53:29 JST 2006
root@trapani:/work/20061019/sys/arch/evbppc/compile/obj/KUROBOX_MD
...
...
wd3(satalink1:1:0): using PIO mode 4, Ultra-DMA mode 6 (Ultra/133) (using DMA)
wd0: no disk label
wd1: no disk label
wd2: no disk label
wd3: no disk label
boot device: <unknown>
root on md0a dumps on md0b
root file system type: ffs
WARNING: clock lost 166 days
WARNING: using filesystem time
WARNING: CHECK AND RESET THE DATE!
erase ^H, werase ^W, kill ^U, intr ^C, status ^T
Terminal type? [vt100]
(僕の場合にはここで xterm と入力します)
Terminal type? [vt100] xterm
Erase is backspace.
(I)nstall, (S)hell or (H)alt ?
ここで i を選べば
sysinst
が始まるのですが、その前に s を選んで
少し作業をします。
-
fdisk を使って区画を変更します
# fdisk /dev/rwd0
wd0: no disk label
Disk: /dev/rwd0d
NetBSD disklabel disk geometry:
cylinders: 155061, heads: 16, sectors/track: 63 (1008 sectors/cylinder)
total sectors: 156301488
BIOS disk geometry:
cylinders: 1024, heads: 255, sectors/track: 63 (16065 sectors/cylinder)
total sectors: 156301488
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 154930862 (75650 MB, Cyls 65-9709/0/3)
3: Linux native (sysid 131)
start 155975087, size 321298 (157 MB, Cyls 9709/0/3-9729)
#
1044225 + 321298 = 1365523
この先は長いので、別の画面に分けます ...
続く
|
|
|