LS-HGLメモ  今更だが、Buffalo の LS-H500GL の格安品を入手したので、Linux-Box として遊ぶことにする。 特に最終目的は決めてないが、Debian化してファイルサーバくらいにはしようかと思ってます。 ……買ったままのNASで使わない理由? ノーマルなんて面白くないじゃないか。:D  いじょ。 2009/07/18 : 到着  現品到着。Buffshopの「B級品」だけあって、「保証はありません」とか「B」の文字多数。 初期不良だけはOKらしいのでどーでもいい。 …開封と同時に分解してる時点で初期不良もどーでもいいらしい。 S/Nラベルを剥がしてたり、本体背面やHDDに「B」スタンプ。中古で売るつもりの人は往生するかも。 ・中のHDDはSAMSUNG。…まぁ格安ドライブっつーとSAMSUNGだよなぁ、って事で想定の範囲内。 ・基板とHDDの生産日が1年ほど違うので、2個イチか基板を不良で修理したものと思われる。 ・S-ATAは電源も一体化されたタイプ。 ・基板上に、いかにもな4ピン穴あり。シリアルコンソール用っぽい。 ・基板上にUSBっぽいコネクタの穴あり。つなぐと認識しないかしらw 2009/07/20 : シリアルコンソール 本体の電源を入れる前にシリアルコンソール用の穴にコネクタ取り付け。 ……コネクタの方向間違えたり悪戦苦闘。_no そんなこんなでコンソールログ。HDD未接続状態なので HDD is not found とか。 2009/07/23 : tftpdでbootしてみよう  とりあえずHDDが死んでる状態だと、tftpdでカーネルをダウンロードして起動するらしい。 一応、Seagateの10GB IDE-HDDにS-ATA変換基板を噛ませて起動させる。 ただしフォーマットはしていない。NTFSのまま。  これで動けばHS-H10GLです。大容量。誰か10TBと勘違いする人がいるかも。(ぇ  とりあえず、起動時にHDDが読めなくてもHD-HGLANのようにEMモードのLinuxが 起動するようなシステムではない模様。ふむ。  u-bootメニューからtftpd起動。色々なサイトをみて方法を確認。 ファームウェアにある uImage.buffalo、initrd.buffaloをtftpdで見える場所に置いておけば いいらしい。initrdの方はpassword付zipで圧縮されているので、事前に展開しておく。 展開passはどっかで神様のお告げを聞いてください。 って感じでごにょごにょ。ゴソゴソ。  カーネル起動。しかし、メインシステム用のファイルが見つからないのでエラーで停止。 tftpが動作したことが普通に楽しい。(^-^  u-bootの設定やログによると u-boot: tftpサーバから kernelとinitrdを読み込んでRAM上に展開。initrdはRAMdiskイメージ。 kernel: /dev/sda2 を / 、ttyS0をコンソールとして起動するオプションで起動。 /dev/sda2 が見えない(パーティション切ってないし)のでエラー。中断。 こんな感じで動いているらしい。  つまり、動作させるためには/dev/sda2にファイルシステムを展開しておかなければいけない。 /dev/sda2 はHDDです。…卵が先か鶏が先か、ってな感じですなぁ。  一応、Linkstation用のアップデータを動かしてみたがLS-HGLは発見されず。 dhcpで起動してくれてもよさそうなもんだが、見つからないって事は他のデフォルトっぽい IPアドレスになってんのかなぁ。  多分IPアドレスを合わせてからアップデータを走らせたら動くんじゃないかな?かな? ……fdiskで先にパーティション切っとかんと駄目かもしれんけど。|ω・)ノ 2009/07/24 : LS-H10GL(笑 起動  ブート途中で転ける原因を列挙。FTA解析って奴ですな。(それほどのものか ・HDD関係 パーティションの問題 古いIDEをS-ATA変換してるので一部コマンドが対応してない そもそもS-ATAケーブルを無理矢理挿してる。LS-HGL側で接触不良はないか ・ネットワーク関係 LANケーブルの挿入状態 IPアドレスの問題 まぁ色々考えてやってみる。むー。  DHCPサーバはIPの払い出しはしてない。 buffalloの192.168.11.xxでも応答ないところを見るとネットワークがらみの設定まで進んでない模様。  そうなると、もっと前にエラーが出て止まってるって事で。 他のサイトにboot時のlogがあったので見比べる。…本来ならここでHDD認識してないと 駄目なんだよなぁ。  Seagate Medalist10231( ST310231A, 10,005Mbytes) だと古すぎますかね?(汗  まぁ確かにHDDに記載されてる InstllationSummary なる説明書きによると 5.Boot your computer from a bootable Windows95 or DOS diskette. とかあるんで古いのは確かだが。(^-^;  …S-ATA変換アダプタの差込がまずいのか?と見てみる。…基板がもろに露出してるので 差込すぎるとショートします。これはまずい(笑  とか思いながら改善案を考えてると…ふとジャンパの状態が気になる。 slaveになっとるやん。  USB-SATA -- SATA-IDE と噛ませてメインPCにつないでみる。USBでも認識しない。 masterにジャンパ変更。動き出す。 お前か。  んで、再度LS-HGLに接続。起動。……動くやん。  とりあえず/dev/sda2が見つからない、ところまで進んで止まってるようなので LSupdaterを起動。……見つけてくれたーーーー!  ファーム更新。しばらく放置してたら自動で領域確保して無事LS-H10GL起動まで。わーい。 FATとかで領域確保してると「消すよ?」とは出てくるので一応安心していけそうな感じ。 起動後は勝手にDHCPでアドレス取得してくれるし、普通に使えそうな状態。  とりあえずシリアルコンソールはあるんでrootログインさえ出来ればどーにでもなる。 けど、一応telnetが使えるようにするか。最終的にはsshにするけども。  ってことでHDDをHD-HGLANのほうへ接続。mount /dev/sdb1 /mnt とかやるけど動かない。はて。 xfsに対応してないとかなんとか。-t オプションでxfs指定すれば動きそうな気がするが、 眠いせいか謎方向へ走る。  母艦(メインPC)でLinux走らせてファイルを弄ることにする。……ここまではいい。  Ubuntu 9.04を起動しようとする。……DVD-RAMドライブ不調のため起動せず。 Virtualbox(仮想PCソフト)とDebian5.0のISOイメージをDownloadしてきてインストール。 だって仮想PCとLinux使いたかったんだもん。  ……大回りしすぎですかそーですか。 とりあえず接続して、virtualboxのUSB周りをごそごそ弄ってたら、debiaの方で自動認識& マウントするように。便利っちゃ便利かな。  んで、こんどこそtelnetを起動させるように。 /etc/init.d あたりにシェルスクリプトの塊があったので下記記事を参考に telnetd.shを作成するよーっ。 http://rltm9940.blogspot.com/2009/03/linkstation-ls-l500glls-lgltelnet.html  母艦でSeagate10GBが勝手に/media/disk-2に/dev/sda? がマウントされた模様。 んではtelnetdシェルスクリプトを。 $ su password: hogehoge # cd /media/disk-2/etc/init.d # cp cron.sh telnetd.sh エディタでtelnetd.shを開いて cron となってるところをtelnetdに置換。  どーも/etc/rc.d/init.d は/etc/init.dにシンボリックリンクを貼っているようなので、 どっちを弄っても結果は一緒。 # cd /media/disk-2/etc/rc.d/sysinit.d S32あたりでsmbdのあとcronとかが動いてるので、S32telnetd.shとしてリンクを張る。 # ln -s ../init.d/telnetd.sh S32telnetd.sh  あとはrootのパスワード消去。 # cd /media/disk-2/etc # vi shadow rootのパスワード記録フィールドを消去。具体的にはroot:hoge:〜をroot::〜に修正。  書き込むときにread onlyだぞゴルァと怒られるが、気にせず上書き。 ここで母艦PC側のdebianの出番は終了。(・_・)ノ  んで起動。 コマンドプロンプトからtelnet 192.168.xx.xxx で接続。 login: root # 入れた。:D 流石に空PWのrootは怖すぎるので、忘れないうちにPassword設定。 # passwd  あとは shutdown -h してみたり。どっちもシャットダウンプロセスが動く筈なんだが、 どーも半端な落ち方をする模様。外部SWの位置とかが問題っぽい可能性がある。 素直に外部SWでシャットダウンスクリプトを走らせた方がいいみたい。 以下更に雑メモ。当日勢いで書いて誤記とかあるんで。(上記は修正済の筈) (雑1)  cron.shをコピーせず、スクラッチで打ち込んだらパーミッションが駄目だってエラーで起動せず。 chmod 755 telnetd.sh もしとかないと当然エラーになる。 (雑2) /etc/rc.d/sysinit.d 以下に SxxAAAAA.sh と入れるとSxxの小さい順、AAAAAのアルファベット順に 起動するようだ。  NetBSDの起動方法と一緒になっとるな。昔はFreeBSDもLinuxも違う方法だったような気がするけども。  他のファイルをみるとみんなinit.dのほうからシンボリックリンクを入れてる ようなので真似をしてリンクで張ることにする。気軽にりんくは消せるし。 ln -s ../init.d/telnetd.sh S32telnetd.sh S32は起動順序。S31くらいまでcronとかシステムっぽいのが動いてたので、ここらに入れておく。 (雑3)  んであとはrootパス消去。 vi /etc/shadow root:xxxxxx:〜 root::〜  これも昔NetBSD/X68kでadduserが入ってなくて自前でpw消去とかユーザ登録とか何度もやったなぁ。 懐かしい。 2009/07/25 : 小ネタ。  シリアルコンソールのコネクタが何回か抜き差しするとちぎれそうな感じがする。 SATAアダプタ側も以下略なんだけどねぇ。  どこにでもありそうなエポキシパテを使ってコネクタ基部を作る。こねこね。  あとはLinkstation Hackの人のサイトで時計がバックアップされてないとか メモ書きがあるので確認。  date で見ると2007年になってるな。昨日時刻を合わせたあとコンセント抜いたのが原因? hwclockも同様に2007年。  hwclockにはシステムクロックの値をハード側のRTCに書き込むオプションがあるので 書き込んでみる。シャットダウン。コンセント抜き。再起動。 …時計保持成功。……シャットダウンプロセスでRTC書き込み処理(同期処理)をサボってるだけやん。  とりあえず半日ほどコンセント抜いて放置してRTCのキープ時間を確認したいところ。 2009/07/26 : やりなおし  7/24,25の作業について整理。備忘録なメモを取るつもりだが、成功時のPuttyのログが取れてない。 ……初期状態は重要だ、って事でログを取り直すためにHDDを飛ばす。(ぉ  インストール中、ログを取ったりvirtualbox上のdebian経由でファイル操作。 本来の目的であるメモをとりつつ、ふにふに書き換え。一通り準備が終わった所でLS-HGLに再接続。  起動中fsckが動いてpanicになる。……あれ? 再起動してみる。……うーん、やっぱり落ちるな。  母艦で弄ろうとしたときにvirtualboxが一回飛んだし、そもそもLS-HGLの再インストール後の 起動確認してないしで、どっちが問題か判らん。_no  とりあえず復旧しないと話にならんので、パーティション飛ばしてtftp+LSupdaterで 再インストール。関連ファイルの書き換えは明日にしよう。(-_-; 2009/07/27 : 穴ってなんだろう  朝、時間があったら起動ファイル弄ろうかと。…まぁそんな時間は無い訳ですが。|ω・)ノ  Linkstationハックの偉い人のサイトへ行くと、ご立腹のご様子。 メルコのファームにセキュリティホールがあるって2年ほど前から連絡してるが全然直してないって話。  今日の記事に「単にtelnetd潰してもだめですよ」って記載があることから、どんな穴だろー。気になる。 通勤中に思いつく。ひょっとして/etc/shadowのパーミッションが駄目駄目だ、って言っていた件かな?  とりあえず昨晩触っていたバージョンのパーミッションは400だったんでまともだった気が…。  どっかにLinkstationに搭載されているbusybox版tarが駄目駄目でパーミッション情報が 壊されるという話があったので、この件かもしれんなぁ。  web管理用で普通にloginできるユーザも別途あるから、何らかの方法でログイン&ファイル操作が 出来れば簡単にrootパスワード潰してrootが取れそうだよねぇ。  そもそも /dev/sda1 あたりの uImage 側のinitを書き換えれば、rootって簡単に奪えない? とか考えてみたり。仮にここのパーミッションが755とかだったりすると再起動した時点で 色々仕込めるようにも出来るやろー、と。かなり機種依存になっちゃうのでリスクは低いかな。 (本題)  んで、本題の方は先日の通りrootのパスワード設定しなおして、telnet有効化。 一応時計はhwclock -wで書き込み。そのうちシャットダウンプロセスも修正しないと駄目やな。  あとは色々足りないコマンドがあってイラつく事があるのでdebian化に挑戦した方がいいかのう。 FDが使えないシェルなんて駄目すぎですからっ!(マテ 次回以降の話 ・正規HDDの中をのぞいてみる。   代替HDDでもインストール出来てしまったのでやらんかも。 ・debianを入れてみる。   debian環境を作ったりカーネルコンパイルしたいね。 ・その他   サーバ&UNIXな端末として動いてもらう。<優先度低い