LANDSIK HDL-S 改造

 LANDISK HDL-Sを2日前に買って、やっとtelnetログインができました。ネットに沢山情報があったのに、まさかここまで中身が変わっているとはね。。沢山の情報にお世話になったので、私も作成した内容をここにメモっておきますが、あくまでも自己責任でお使いくださいくれぐれもI-O DATAに問い合わせないでください。今回、これだけ改造が困難になったのはそのせいかと思う面もあるので。

■HDL-S変更点ポイント
HDの先頭部分のLinuxがパーティションが無い状態になっていて全く見えない。
busyboxからtelnetdにシンボリックリンクが張られていない
pamが入ったことで、/etc/securetty以外にも設定が必要

,呂なりびっくりです。このため、改造前に効果的なバックアップが出来ません。私はknoppixで母艦を起動後、ddでとりあえずif=/dev/sdaを指定し(ここら辺は環境で変えてね)200Mをバックアップしました。またWindowsからみれる共有フォルダは他の適当なHDにコピー
これで一応、壊れても完全に戻ると想定(間違っていたらごめんなさい→カーネル入れ替えに失敗して、このバックアップから戻してみたが、ダメでした。正しいバックアップ方法は現在不明

△皀轡腑奪大。特にファームのアップデートファイルを展開してinitrdの中身をloopでマウントして見てみると/usr/sbin/telnetdがちゃんとある。それなのに起動時になくなっているとはなぁ・・・

最後のオマケですね。


■改造方法
「phpからのコマンド入力でやる」
具体的には以下の二つのサイトを参考に
http://www.nurs.or.jp/~sho/scripts/php/telnet/
http://www.saigyo.org/hiki/?HDL-GS%20%A5%D7%A5%C1%A1%A6%A5%CF%A5%C3%A5%AF

,telnet.phpを/usr/local/public/system配下にuploadするダミーのファームデータを作成。
たとえばこんな感じ
---------
#!/bin/bash
#
# landisk-update.sh
#
# $Id$
#

PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
ROOTPATH='/mnt/hda5/.update'

mv ${ROOTPATH}/*.php /usr/local/public/system/
-----------
update.tgzの中身はfor_HDLP-G_series,landisk-update.sh,telnet.phpの三つでOK


これでphpからコマンド入力可能になる。
ただしコマンドのエラーを拾うにはコマンド入力後に標準エラーも拾うように2>&1が必要
またroot権限の場合sudoをつける。

この上で以下のコマンドをtelnet.phpから入力
----------------------------------------
mount -o remount,rw /
sudo chmod a+w /etc/securetty
echo "pts/0" >> /etc/securetty

sudo chmod a+w /etc/pam.d/login
sudo cp /etc/pam.d/login /etc/pam.d/login.bak
echo "#" > /etc/pam.d/login

sudo /bin/busybox telnetd
----------------------------------------
実施している内容は他のサイトを調べれば出てくると思います。

telnetでログイン後は/etc/inittabにrespawnでtelnet起動を書く。
以上です。

簡単ですが、改造できるレベルの人(このメモを読んで分かる人)には伝わるように書いたつもりです。今後の改造が進めば追加します。




コメント
ハイブリッドになったので、妙なことになってるのはUSB側で接続してフォーマットなどをしたときに手詰まりにならないように…という気もします。
ただ、よっぽど悪質な問い合わせでもあったんでしょうかね?入れ替えの記事くらいじゃここまでする必要はないと思うのですけど。
  • とおりすがり。
  • 2011/11/09 2:34 AM

>USB側で接続してフォーマットなどをしたときに手詰まりにならないように…という気もします。
おっしゃるとおりだと私も思います。

確かネットで一瞬だけ見つけたのだけど、Linuxの実態は、HDの先頭側じゃなくて後側だったような。。なんかパーティションに関する新しい規格で、パーティション自体を隠す事ができるようになったとか、、
  • 若井寛
  • 2012/04/29 10:26 PM

起動プロセスが少し特殊です。
HPAは新しいものではなくて、ATA-5で容量をクリッピングするコマンドとして実装されています。これは、RHD-250に500GBのHDDが入ってたりしても認識が250GBだったりと、部材の確保を容易にするなどの使い方もされていますが、HDL-Sの場合は起動するときにこれを解除した上で、パーティションテーブルを入れ替えるという荒業でシステムに認識させています。
容量をクリッピングするのでLBAアドレスとしては後半ですから後ろのほうとはいえますね。

パーティションを隠すことが出来る規格はありません。Hiddenフラグはありますが今回のは違います。
HDDそのものの認識容量の変更コマンドと、パーティションテーブルの書き換えが併用されています。
  • とおりすがり。
  • 2012/08/21 5:29 PM

コメントする








   
この記事のトラックバックURL
トラックバック

categories

links

recent comment

profile

search this site.

others

mobile

qrcode

powered

みんなのブログポータル JUGEM