Killing Time 2nd

備忘録、日々の徒然想いを残します。

LinkStationのFreelink化

満を持してLS-GL(HS-DHGL)をFreelinkでDebian化を図り連休最後になってようやく完了した。しかし何回SATA-USB変換ケーブルでHDDを初期化したことか。
FreeLink for the LinkStation PRO/LIVE - NAS-Central Buffalo - The Linkstation Wiki
多くの先達たちが有益な情報を多く残してくれているので、それらを注意深く読んでいけばDebian化は自ずと出来るのだが、現行のファームウエアで若干異なることや、つまずきやすい点が幾つかあるのでそれを書いておく。自分でもまたする可能性*1もあると思うのでメモということ。

  • 環境 まずはFreelink化するインストール環境
    • LS-320GL。既にディスコンになって暫く経つが中身はHS-DHGLと同じ。処分価格の7980円で購入。米モデルはLinkStation PROとLinkStation LIVEの名称で前期モデルと後期モデルがある。前期モデルは電源ケーブルのソケット位置が背面中央、後期モデルでは背面上部にある。前後期ではファームウエアのアップローダー、LSUpdater.exeの対応バージョンが異なる。
    • HDD。内蔵HDDは元々内蔵されていたHDDをそのまま流用。LS-GLからHS-DHGLにファームウエアをアップデートした。途中EMモードに落ちたのか反応しなくなったので*2ので、仕方なく内蔵HDDを取り出してSATA-USB変換ケーブルで外付けに接続しフォーマットし直した。別途購入したりして入手したHDDでも全く問題なく使用できる(TFTPDでファームを転送する必要はある)と思われる。
    • SATA-USB変換ケーブル。やはりこれは無いとやり直しが利かない。出来る限り回数は減らしたかったが何度も後戻りしてやり直しをした。
    • Windows PC。アップローダー、LSUpdater.exeはWindowsで起動する。Linux上でWineでも可能らしい。パーティション削除もGPartedを使うまでもなく、Windowsの管理ツール、コンピュータの管理で記憶領域→「ディスクの管理」からパーティション領域を削除すればよい。始めはいちいちKnoppixUbuntuのLiveCDを立ち上げていたが、パーティション設定を自由に行うのでなければわざわざその必要はなかった。TFTPは他にも色々あると思います。

躓いたポイント1。TFTP(TFTPD.exe)にて失敗したこと。ゼロベースでファームウエア自体からインストールを始める場合、例えば設定を間違えシリアルコンソールを見ないと分からないような状況になってしまったり、新規にHDDを用意した場合はTFTPDを使用する。initrd.buffalo、Uimage.baffaloの入手方法、パスワードは他の方のサイトに任せます。ファームウエアのパスワードはバージョン毎に異なるので注意。接続するPC側のネットワークの設定は下記の通り。

  • IP address:192.168.11.1

自分は有線でLinkstationを繋いでいたので、ネットの情報を参照するのは無線LAN経由で同一のPCで作業をしていた。しかしこの作業をしている間に特にこの際には関係ないnetmaskが255.255.0.0になっていてこのため無線LANの範囲にホームネットワークの無線LANが入ってしまいいくら待ってもTFTPの転送が始まらず延々とBEEP音が鳴り続けてしまうことがあった。面倒でもnetmaskは255.255.255.0としておくかこの際は無線LANは一時的に止めておこう。当然ながらこの一連の作業中は一時的にファイアーウォールも止めておく。何が悪さをしているか分からないので。
躓いたポイント2。ファームウエアのバージョン。本家日本のバッファローでのファームウエアは既に暫く音沙汰無く、セキュリティ脆弱性問題が指摘されつつも改修するといいつつ放置されたままで、Ver.1.2となっている。しかし、米では下記にて、まだ更新がされている。少なくとも今年始めに更新されている。
まずBuffalotechに新しいファームウエアを発見した。
http://www.buffalotech.com/support/downloads/linkstation-live/
ここには2009年1月時点でVer.2.11がアップロードされているだがこれがFreelinkには曲者だった。FreelinkではVer.2.10について記述されている。このバージョン違いが微妙にあった。
Freelinkに記載のあるVer.2.10は下記から入手が可能だ。buffalo-technologyとサイトが微妙に違っているのである。
buffalo-technology
ここでモデル名をHS-DHGLとしてやるとファームウエアをはじめユーティリティが出てくる。不思議なのは上記Buffalotechでは何も記載のないVer.2.11がこちらではBeta版と出ていることだ。
Ver.2.10はこれ、hs-dhgl_2.10_005.zipだろう。但しこちらも005というのはFreelinkとは異なる。Freelinkではファームウエアのバージョンは新しいものを推奨している。これはLinux kernelが新しくなる(とはいえ2.6.16.**のレベル)こと、u-boot bootloaderはちょっとでも新しいものになるからだ。
このためはじめはbetaがついているのがちょっと不安だったがVer.2.11を使用してFreeklinkのインストールを試行錯誤していた。しかし上手くいかない。LinkStationとアクセスが出来なくなること数度。そこでVer.2.10を試しにダウンロードしてみた。するとファイル構成が違うことが分かった。

D:\Archives\HS-DHGL_210_005_us\uImage.buffalo
D:\Archives\HS-DHGL_210_005_us\hddrootfs.img
D:\Archives\HS-DHGL_210_005_us\initrd.img
D:\Archives\HS-DHGL_210_005_us\linkstation_version.txt
D:\Archives\HS-DHGL_210_005_us\LSUpdater.exe
D:\Archives\HS-DHGL_210_005_us\lsupdater.ini
D:\Archives\HS-DHGL_210_005_us\u-boot.buffalo.updated

D:\Archives\hs-dhgl_211_101\uImage.buffalo
D:\Archives\hs-dhgl_211_101\hddrootfs.buffalo.updated
D:\Archives\hs-dhgl_211_101\initrd.buffalo
D:\Archives\hs-dhgl_211_101\linkstation_version.txt
D:\Archives\hs-dhgl_211_101\LSUpdater.exe
D:\Archives\hs-dhgl_211_101\lsupdater.ini
D:\Archives\hs-dhgl_211_101\u-boot.buffalo.updated

これを比べて気がつくのはhddrootfs.imgとhddrootfs.buffalo.updated、initrd.imgとinitrd.buffaloだ。*.imgと*.buffaloの関係は他のサイトにあるようにパスワード付のZIP圧縮されたものか否かということ。ZIP圧縮か否かの差異は附属のLSUpdater.exeが吸収しているものと思われる。Ver.2.11をZIP圧縮してやれば良い筈なのだがパスワードを何にしてやれば良いのか分からないので諦めてFreelink化はファームウエアのVer.2.11では諦めVer.2.10で行うこととした。するとあっという間にFreelink化完了するではないか。いったいこの週末の時間は何だったのか…。またこのせいかLinux kernelのバージョンが2.6.11-16とちょっと上がっているのだった。

*1:現状パーティション容量が不足気味で調整が必要

*2:シリアル接続はしなかった