Buffalo LS-GLでLinuxbox(1)

オークションに出ていたBuffalo LS-GLの抜け殻を落札したので、あまっているSSDを接続して静音Linuxboxを作ろう! というのが今回の企画。

数年前に玄箱に凝ってサーバを立ててたときもあったけど、サーバを仮想化してからお役御免になって廃棄してしまった。のに、ここでまた似たようなことをしよう、と。いや、サーバは仮想化できたから良かったんだけど、集約しすぎちゃってDNS、DHCP、NTPとかの極々ベーシックな機能もサーバに含めちゃうと、サーバメンテ中はネットワークが全滅することになる。ベーシックなサービスは細々と小ぢんまりとLinuxboxで提供できないかな、と思ったわけで。

さて、LS-GLといってもちょっと古い機種だけどその道ではBuffalo LinkStationシリーズ最高傑作とも言われているとか。玄箱Pro譲りのシンプルな構造、比較的多機能で改造のしやすさのバランスが取れているとか。

  • HS-DHGLとハードウェアが同じ(LS-GLをHS-DHGL化できる)
  • 新型はシリアルコンソールの取り付けが簡単(LS-GLおよびHS-DHGLには新型と旧型がある)
  • 温度センサによるファンコントロール

あたりがポイントかな。

まあ、いろいろと弄り倒す前に、ガワだけのLS-GLがちゃんと使えるようになるのか。。。 情報によるとBuffaloでダウンロードできるファームウェアを、ある決まったパーティションを切ったHDDに入れれば何とかなる、と。そしてLinuxboxとして弄るのが目的なのでHDDではなく、不要になったSATA SSD(トランセンドの32GB TS32GSSD25S-M)を使ってみる。ということで、とりあえずの目標はガワとSSDでLinkStationとして機能できるところを目指そう。

LS-GLをまっさらのHDD/SSDから立ち上げるには主に二つの方法があるらしい。

  1. TFTPサーバを用いる方法
    まっさらのHDD/SSDをそのままLS-GLに装着して、TFTPサーバにブートに必要なファイルを置いておき、ネットワーク経由でブートさせる。そのあとにBuffaloのファームウェアアップデータを使ってファームウェアをインストールする。
  2. HDD/SSDにファームウェアを展開しておく方法
    HDD/SSDに決まったパーティションをきり、フォーマットを行い、ファームウェアのファイルを入れた後にブートする。あとは初回ブート時に勝手にLS-GLがセットアップを実行し、普通にLinkStationとして使えるようになる。

多くのサイトでは上の方法をレポートしているのだけど、なんとなく下の方法のほうが簡単そうなので下の方法を採用。ちなみに、LS-GLもHS-DHGLもハードウェアは同じらしいので、ダウンロードしてくるファームウェアによってどちらにするか選べるとのこと。そりゃ、HS-DHGLにしますわな。

まずはファームウェアをBuffaloのサイトからダウンロードする。面倒なのでここで一気にHS-DHGL化してしまうことにして、HS-DHGLの最新ファームウェア(Ver. 1.20)を選択する。とりあえずファイルの中身を取り出す。hddrootfs.img
initrd.img
linkstation_version.txt
LSUpdater.exe
LSUpdater.ini
u-boot.buffalo.updated
uImage.buffalo
を含むフォルダがいきなりデスクトップに現れる。この中のimgファイルは実はzip圧縮されていて、この2つのファイルの中身が必要となる。

まずはhddrootfs.img→hddrootfs.zipとinitrd.img→initrd.zipとリネームする。ここからが最初の難関で、zipファイルの解凍を行うときにパスワードの入力を要求される。このパスワードは海外のサイトに掲載されている。buffalo.nas-central.orgのFAQにある、ほぼランダムな英数字の羅列(40文字程度)が4パターンあるので、この4つのうちのどれかがきっとうまくいく。

hddrootfs.imgからhddrootfs.buffalo.updated、initrd.imgからinitrd.buffaloが無事取り出せたら、今度はSSD側の準備に取り掛かる。といってもこちらも簡単で、他のHDD/SSDドライブを外してLinkStationに使うSSDのみを接続したマシンをUbuntu 9.04のLive CDで起動させて、そこでSSDに必要なパーティション/フォーマットを行い、必要なファイルを転送しておくだけ。LinkStationが起動するときにシステムをイメージから展開して自動的にセットアップするらしい。必要なファイルはinitrd.buffalo、uImage.buffalo、hddrootfs.buffalo.updatedで、これらはUSBメモリに入れておく。

Knoppixでもいいんだけど、普段からUbuntuを使い慣れているし、パーティションエディタで視覚的にパーティションを確認できるからいい。さて、Live CDが立ち上がったら対象SSDをパーティションエディタで確認する。ここでパーティションエディタでさくさくとパーティションを作ってフォーマットしてもいいんだけど、なぜかここは万全を尽くしてコンソールのfdiskを使ったりする。

コンソールのfdiskで、SSDに Device Boot Start End Blocks Id System
/dev/sda1 1 25 200781 83 Linux
/dev/sda2 26 87 498015 83 Linux
/dev/sda4 88 3895 30587760 5 Extended
/dev/sda5 88 104 136521 82 Linux swap
/dev/sda6 105 3895 30451176 83 Linux
こんな感じでパーティションを切る。

ポイントは、1,2は基本領域で作って、拡張領域を4に作る。パーティションの容量はシリンダで1が1~25、2が26~87、拡張領域の4に残りすべて。拡張領域の最初の論理領域はswapで88~104で、領域6に残りのすべてを割り当てる。ここまではfdiskでやったほうがわかり易く、その後はGpartedでフォーマット、swaponを行う。上記リストの83はext3で82はswapでフォーマットする。sda1はbootパーティションで200MBくらい。sda2が /(ルート) で500MBくらいを割り当ててある。このとおりである必要はないけど、これでうまくいっているからとりあえず困らない限りこれでいこう。Gpartedで領域1(sda1)のbootフラグを立てることも忘れずに。

その後に、必要なファイルを入れたUSBメモリをさして、sda1にinitrd.buffalo、uImage.buffalo、hddrootfs.buffalo.updatedをコピーする。

ここでSSDをLinuxマシンから取り外してLinkStationに取り付ける。DHCPを有効にしたネットワークに有線でつなぎ、スイッチ、オン。にぎやかにLEDがいろいろと点滅して、「あ~、なんかミスっちゃったかな~」と冷や汗がでつつも、しばらくそのままにしていたら(5~10分後かな)LEDが静かになった。試しにLSUpdaterを起動するとなんとHS-DHGLを探した、と! でも、ファームウェアアップデートに失敗しました、と。そういえば最新のファームウェアを転送済みだから当たり前か、と思ってDHCPで割り当てられたであろうIPにブラウザでアクセスしたらLinkStationのトップページが見事に表示された!! やたっ! これでガワ+SSDから全く新規にLinkStationを立ち上げ、同時にHS-DHGL化もできた。たぶん、元のLS-GLに戻すのも簡単だろう。

adminでログインしてすぐさまパスワード変更+諸々の初期設定。このWebインターフェースは使いやすいね。さて、普通に使えるようになったLinkStation、これからどうやって料理していこうかな。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です