//#nofollow
//#norelated

* Buffalo社の TS-TGL/R5 に関するページです。 [#m3eeb14c]
#contents

* TS-TGL/R5 [#yc5dd3d4]
Buffalo社が発売してた2世代目TeraStation。CPUはPowerPC。オリジナルカーネルが 2.4系なので、内蔵HDDを大容量のものに換装しても 2TBの壁が存在する。
- [[TeraStation larger disks - NAS-Central Buffalo - The Linkstation Wiki>http://buffalo.nas-central.org/wiki/TeraStation_larger_disks]]
- [[TeraStation Larger Disks and RAID5 - NAS-Central Buffalo - The Linkstation Wiki>http://buffalo.nas-central.org/wiki/TeraStation_Larger_Disks_and_RAID5]]

* スペック [#q8ebb716]
- 型番:TS-TGL/R5
- CPU:FREESCALE MPC8241 266[MHz]
- メモリ:SDRAM 128MB(64 ビット接続)
- フラッシュメモリ:FlashROM(NOR) 4MB
-インターフェース外部
-- RJ-45(1000BASE-T/100BASE-TX/10BASE-T) x1
-- USB TypeA x2
-- Serial(D-SUB MALE 9PIN) x1
- インターフェース内部
-- SerialATA x4 (ドライブベイ用)
- 消費電力:約20W(HDD除く)
- 外形寸法:170(W)×235(H)×310(D)mm (本体のみ、突起部除く)
- 重量:約5kg(HDD除く本体のみ)

* ブートローダ [#ab8e70dd]
[[TS-TGLブートローダ>LinkStation/TeraStation/玄箱/PPC/TS-TGL/BootLoader]]のページへ。

* オリジナルファームウェア起動メッセージ [#c6a97ff7]
#ref(TS-TGL-boot.txt)

* rootアクセス [#ae82c06c]
標準ファームウェアではユーザアカウント admin でログインできるが、rootのアクセス権限がないので、たいしたことはできない。システムを改変したりするために、何らかの方法で rootアクセスを取得する。いくつかやり方があるようだが、[[Buffalo Telnet Enabled Firmware>http://homepage.ntlworld.com/itimpi/telnet.htm]]で公開されているハック済みのファームウェアをインストールするのが簡単である。

Windowsマシンで [[Buffalo Telnet Enabled Firmware>http://homepage.ntlworld.com/itimpi/telnet.htm]] からダウンロードした terapro_112c.zip を解凍し、NASUpdater_Japanese.exe を実行する。ファームウェアの更新を選択すると、2・3回再起動した後、telnetが有効になった状態で起動してくる。このハック済みファームウェアでは無用なトラブルを避けるため、root のパスワード行はそのままにしておいて、パスワードなしで root権限を持ってログインできる「myroot」というユーザアカウントを作成している。

* U-Boot化 [#kdb05db0]
最近発売された [[KURO-BOX/T4>http://www.kuroutoshikou.com/modules/display/?iid=1384]] が同じボードを使用しており、ブートローダに U-Boot が採用されている。これを使えば簡単に U-Boot 化できる。ただし、Flash ROM のメモリマップが TS-TGLオリジナルブートローダと KURO-BOX/T4 の U-Boot で少し異なるので、若干の工夫が必要である。

なお当たり前であるが、この記事を元に U-Boot化に失敗して TS-TGL を Brick にしても筆者は責任をとれないので、あくまでも自己責任で行ってほしい。

** オリジナルファームウエアのバックアップ [#l2c50e15]
万が一に備えてオリジナルのファームエアをバックアップしておく。
<pre>
# &color(blue){dd if=/dev/mtd0 of=mtd0.bin bs=1k};
# &color(blue){dd if=/dev/mtd1 of=mtd1.bin bs=1k};
# &color(blue){dd if=/dev/mtd2 of=mtd2.bin bs=1k};
# &color(blue){dd if=/dev/mtd3 of=mtd3.bin bs=1k};
# &color(blue){dd if=/dev/mtd4 of=mtd4.bin bs=1k};
# &color(blue){ls -al};
合計 8200
drwxr-xr-x 2 hoge hoge     168 2009-10-31 18:33 .
drwxr-xr-x 3 hoge hoge      72 2009-10-31 18:35 ..
-rw-r--r-- 1 hoge hoge 3145728 2009-10-31 18:33 mtd0.bin
-rw-r--r-- 1 hoge hoge  458752 2009-10-31 18:33 mtd1.bin
-rw-r--r-- 1 hoge hoge   65536 2009-10-31 18:33 mtd2.bin
-rw-r--r-- 1 hoge hoge  524288 2009-10-31 18:33 mtd3.bin
-rw-r--r-- 1 hoge hoge 4194304 2009-10-31 18:33 mtd4.bin
</pre>

** ファームウェアイメージファイルの作成 [#nc457faf]
前述したように、TS-TGLオリジナルと KURO-BOX/T4 でFlash ROM のメモリマップが 少し異なるので、KURO-BOX/T4用のファームウェアから TS-TGL 用のファームウェアを作成する。
|>|CENTER:デバイス名|>|CENTER:TS-TGL|>|CENTER:KURO-BOX/T4|
|character|block|CENTER:メモリ領域|CENTER:用途|CENTER:メモリ領域|CENTER:用途|
|mtd0|mtdblock0|0x00000000-0x00300000|Linux(kernel + initrd)|0x00000000-0x00300000|Linux(kernel + initrd + dtb)|
|mtd1|mtdblock1|0x00300000-0x00370000|Boot Loader|0x00300000-0x00360000|U-Boot|
|mtd2|mtdblock2|0x00370000-0x00380000|Boot Flag|0x00360000-0x00370000|U-Boot params|
|mtd3|mtdblock3|0x00380000-0x00400000|Unused|0x00370000-0x00400000|Unused|
|mtd4|mtdblock4|0x00000000-0x00400000|Flash全体||None|

上の表を見て分かるように、KURO-BOX/T4 から取り出した U-Boot と U-Boot 用パラメータを結合して、TS-TGLの /dev/mtdblock1 に書き込めばよい。KURO-BOX/T4 から取り出したイメージファイルを kuro-mtd0.bin(Linux), kuro-mtd1.bin(U-Boot), kuro-mtd2.bin(U-Boot param) とする。
<pre>
# &color(blue){cp kuro-mtd1.bin u-boot.bin};
# &color(blue){cat kuro-mtd2.bin >> u-boot.bin};
</pre>

** 書き込み [#zecfb2ac]
/dev/mtdblock0 に kuro-mtd0.bin を、/dev/mtdblok1 に上で作成した u-boot.bin を書き込む。
<pre>
# &color(blue){dd if=kuro-mtd0.bin of=/dev/mtdblock0};
# &color(blue){dd if=u-boot.bin of=/dev/mtdblock1};
</pre>
TS-TGLの initrd には cmp や diff コマンドが含まれていないので、MTDの内容を dd でファイルに書き出し、別マシンに転送して、正しく書き込まれたか確認する。
<pre>
# &color(blue){dd if=/dev/mtd0 of=mtd0-mod.bin bs=1k};
# &color(blue){dd if=/dev/mtd1 of=mtd1-mod.bin bs=1k};
</pre>
他のマシンに転送後
<pre>
# &color(blue){cmp kuro-mtd0.bin mtd0-mod.bin};
# &color(blue){cmp kuro-mtd1.bin u-boot.bin};
</pre>
エラーがなければ、覚悟を決めて再起動する。

* JTAG を用いた FlashROM の書き換え [#v3be8b5b]
- [[2010/02/02:TerastationPROのLinuxBox化(上)>http://trashbox.homeip.net/nownow/20100202/]]


* kernel-2.6化 [#q9f7635c]
- [[Terastation Boot - MvOWiki>http://www.von-oppen.com/wiki/Terastation_Boot]]
- [[linkstationwiki developerzone | Get linkstationwiki developerzone at SourceForge.net>http://sourceforge.net/projects/linkstationwiki/]]

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS