2015-8-14[金] USL-5P で debian

ちょっと前にamazonで中古 USL-5P 入手。IO-DATAのUSB-HDD別付のNASで、 SH4 でメモリ64MB の linux 機器。2004~2010年くらいまで売られていた模様。

debian 化が流行ってたのは 2004-7年付近なんでしょうかね? 玄箱の流行りの頃でもあり、当時 玄箱HGユーザーだった身としては SH4に惹かれつつUSB経由でしかHDD繋げられないから遅そう(メモリ64MBしかないし)と思って今一歩な気分だったのだけど、今回は NASとして使う気無しなこともあり、HDDない分 玄箱より断然小さくて白い箱は 今なら Raspberry Pi とかに近い気分。比較するとちょう2つ分くらい。なかなか かわいいヤツです。

USL-5Pの debian 化のページはググれば わりと見つかるけれど、 たぶん LANDISKで漕ぎいでな~♪ の方が用意されたモノを使っている人が多いみたいなので、お手軽にそれを使わせていただきます。
さすがに今現在現役でサポートされてる状態ではなさそで、最終は etch なのかな。(まあSH4が debian で正式に対応されてるものじゃなし... と lennyやらsqueezeやらsidやらの対応をされててる方もおられる模様...己には難度高めそうなので そこまでは手を出せず)

基本的に こちら の方の手順でできた。もちろん他の方々の頁も参考。

てことで焼き直しだけれど、以下 自分用の作業メモ(実際に作業したのは数週間前)

家内lanでのみの ssh(telenet)接続しての ちょっとしたSH4お試し環境としての利用なので、(ファイル/web)サーバー立てたりとかはしないです。

debian(etch) インストール

CF(ディスク) の扱いを楽したいので そのへんは linux(mint) 機で作業。(webブラウザや telnet 接続は win機 使用)

  • まずUSL-5Pが普通に動くか確認、IPアドレスを控える。
  • USL-5Pを終了させて、USL-5P のガワを外して中の CFカードを取り出す。
    蓋の開け方は こちらの図解が有りがたかった。
  • linux(pc)機 で CFカードのイメージ作成. USL-5PのCFをCDリーダーに刺して linux でのドライブ名確認(ここでは/dev/sdb)。自動mountしたならumountしてから
     $ sudo dd if=/dev/sdb of=usl-5p-cf-image.img
    でイメージ作成。サイズは64か128MBらしい(うちのCFは128MBだった. 使われてるのは64MB分)
  • 元のCFカードを抜き、新しく用意した CFカードをlinux機につなげる。
    今回用意したCFは32GB。
     $ sudo dd if=usl-5p-cf-image.img of=/dev/sdb
    でイメージ書き込む。
  • 新しい CF を抜き、USL-5Pにセットして起動、ちゃんと動作するか確認する。
    ※作業的には他の作業準備もすませてからのほうが手間は少ないけれど、相性問題とかホントに32GBの使えるかわからなかったので先に確認した
  • USL-5Pを telnet対応版の ファームに更新する。
    このあたり等 から usl5p-telnetd-update.tgzをダウンロードして update.tgz に変名しておいて、管理者のwebページ経由でファーム更新。
  • 再起動したら 管理者で入って ユーザー追加.(user:landisk, pw:landisk)
  • telnetクライアントで USL-5Pに(名前でアクセスできなければ最初に控えたipアドレスで) 作ったばかりのユーザーでlogin してみる。
  • 大丈夫ならマシン終了して、CFカード抜いて、linux側につなげる。(自動mountされたらumountしとく)
  • gparted 等で未使用領域を (ここではCFが /dev/sdb として)
     /sdb2 を swap用(サイズ128MBくらい)
     /sdb3 を ext3 (残り全部)
    くらいにパーティショニング&フォーマット.
    インストールしようとしている環境が sda2:swap, sda3:ext3 前提なので気をつける。考えずに sda2:ext3 sda3:swap なんて逆にしてると後で苦労する(した)
  • sdb1,sdb3 をマウントする. 面倒なので自分のホーム当たりで hd1 hd3 をmkdirしといて
     $ mount /dev/sdb1 ~/hd1
     $ mount /dev/sdb3 ~/hd3
  • linux(pc)機にて このへん より、最新(最終)の base26-sh4-20070709-etch.tgz, landisk-tools-20070612.tgz をダウンロード、ホームに置く。
  • ~/hd3 をカレントにして
     $ sudo tar xvzf ~/base26-sh4-20070709-etch.tgz
    で解凍、debian26/ の全ての中身を ~/hd3直下に移動して、空になった debian26/フォルダを削除.
  • ~/hd3 をカレントで
     $ sudo tar xvzf ~/landisk-tools-20070612.tgz
    で解凍。
  • ネットワーク関係の修正。~/hd3/etc/ にある hostname, hosts, hosts.allow, network/interface, resolv.conf や ~/hd3/boot/ にある bootld.conf で、
     名前が landisk
     アドレスが 192.168.1., 192.168.1.80
    になっているあたりを自分の環境に合わせて修正。(必要に応じてその他も)
  • reiserfsでなくext3にしているなら ~/hd3/etc/fstab 中を ext3 に修正.
  • ※ もし、hdb2 を ext3, hdb3 を swap にしていたのなら、etc/ や boot/ で sda3 やhda3 を grep して修正( ~/hd3/etc/のlilo.conf, fstab, ~/hd3/boot の bootld.conf, kernelsw.conf あたり)
  • /etc/apt/sources.list を修正. debianサイトでは etch はarchiveに移動になっていたり、sh4(landisk)向けサイトも変化してたりなので
    deb http://iohack.osdn.jp/kogiidena/debian26/binary-sh4-etch/ ./
    deb-src http://ftp.riken.jp/Linux/debian/debian-archive/debian etch main non-free contrib
    に変更.(riken.jpとしてるところは 自分家から近いサーバーを選ぶ)
  • ~/hd3/boot の中身を ~/hd1/boot へ上書きコピー.
  • ~/hd3/etc/lilo.conf を ~/hd1/etc/lilo.conf に上書きコピー.
  • /dev/sdb1, /dev/sdb3 を umount して CF カードを linux(pc)機より抜く。用済みの ~/hd1 ~/hd3 ディレクトリは削除.
  • usl-5pにCFカード装着、起動、telnet で 再度ログイン.
    /sbin/lilo を実行、エラーがなければ再起動.
  • 自分で設定した 新しい固定アドレスを使って telnet でログインできれば ok.

あとは諸々install&設定していく。
自分用user作って ユーザー landisk は削除、 sudo やら ssh やら locale やら rsync やら gcc,g++,make,libncurses5-dev 等等 apt-get install して... fdclone とか ne とかコンパイルしたり ... ああ さすがにコンパイルはおそいわな。