Buffalo社の TS-TGL/R5 に関するページです。

TS-TGL/R5

Buffalo社が発売してた2世代目TeraStation?。CPUはPowerPC。オリジナルカーネルが 2.4系なので、内蔵HDDを大容量のものに換装しても 2TBの壁が存在する。

スペック

  • 型番: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除く本体のみ)

ブートローダ

TS-TGLブートローダのページへ。

オリジナルファームウェア起動メッセージ

rootアクセス

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

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

U-Boot化

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

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

オリジナルファームウエアのバックアップ

万が一に備えてオリジナルのファームエアをバックアップしておく。

# dd if=/dev/mtd0 of=mtd0.bin bs=1k
# dd if=/dev/mtd1 of=mtd1.bin bs=1k
# dd if=/dev/mtd2 of=mtd2.bin bs=1k
# dd if=/dev/mtd3 of=mtd3.bin bs=1k
# dd if=/dev/mtd4 of=mtd4.bin bs=1k
# 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

ファームウェアイメージファイルの作成

前述したように、TS-TGLオリジナルと KURO-BOX/T4 でFlash ROM のメモリマップが 少し異なるので、KURO-BOX/T4用のファームウェアから TS-TGL 用のファームウェアを作成する。

デバイス名TS-TGLKURO-BOX/T4
characterblockメモリ領域用途メモリ領域用途
mtd0mtdblock00x00000000-0x00300000Linux(kernel + initrd)0x00000000-0x00300000Linux(kernel + initrd + dtb)
mtd1mtdblock10x00300000-0x00370000Boot Loader0x00300000-0x00360000U-Boot
mtd2mtdblock20x00370000-0x00380000Boot Flag0x00360000-0x00370000U-Boot params
mtd3mtdblock30x00380000-0x00400000Unused0x00370000-0x00400000Unused
mtd4mtdblock40x00000000-0x00400000Flash全体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) とする。

# cp kuro-mtd1.bin u-boot.bin
# cat kuro-mtd2.bin >> u-boot.bin

書き込み

/dev/mtdblock0 に kuro-mtd0.bin を、/dev/mtdblok1 に上で作成した u-boot.bin を書き込む。

# dd if=kuro-mtd0.bin of=/dev/mtdblock0
# dd if=u-boot.bin of=/dev/mtdblock1

TS-TGLの initrd には cmp や diff コマンドが含まれていないので、MTDの内容を dd でファイルに書き出し、別マシンに転送して、正しく書き込まれたか確認する。

# dd if=/dev/mtd0 of=mtd0-mod.bin bs=1k
# dd if=/dev/mtd1 of=mtd1-mod.bin bs=1k

他のマシンに転送後

# cmp kuro-mtd0.bin mtd0-mod.bin
# cmp kuro-mtd1.bin u-boot.bin

エラーがなければ、覚悟を決めて再起動する。

JTAG を用いた FlashROM の書き換え

kernel-2.6化


添付ファイル: fileTS-TGL-boot.txt 929件 [詳細]

トップ   編集 凍結解除 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2011-04-09 (土) 07:26:11 (1878d)