ラベル Linkstation の投稿を表示しています。 すべての投稿を表示
ラベル Linkstation の投稿を表示しています。 すべての投稿を表示

2011年4月23日土曜日

Linkstation LS-L500GL(LS-LGL)の完全初期化

改造などで環境をいじりすぎて直らなくなった場合に、ハードディスクの内容をパーティションを含めてすべて初期化する方法がうまくいったので参考にさせていただいたURLを掲載します。

ちなみにこれをやる前に変になったハードディスク全体をフォーマットして消しておいた方が良いです。
ブート領域にデータがあると優先度の関係でそこからブートしてしまってTFTPブートできないので。

BUFFALO LinkStation LS-LGL の初期化

リンクこちらに書かれているやり方でばっちり購入時の状態に戻せました。
これでいくらでもいじることができます。感謝。



2010年2月14日日曜日

Linkstation LS-L500GL(LS-LGL)をプロキシサーバにする

メモリが16MBしかないLS-L500GLにsquidを入れてみたけど案の定使えなかった。
という事で軽いpolipoを試してみました。

一番メモリを占有している共有フォルダ機能(samba)とWeb設定画面(apache httpd)は停止してpolipo専用機にしています。

以下が設定ファイル(/etc/polipo.conf)の内容。
proxyAddress = "0.0.0.0"
allowedClients = "192.168.100.0/24"
cacheIsShared = false
chunkHighMark = 819200
objectHighMark = 128
daemonise = true
diskCacheRoot = "/mnt/disk1/share/polipo"
diskCacheTruncateSize = 2147483647 # 大量にキャッシュを残してみた。
diskCacheTruncateTime = 31d12h
diskCacheUnlinkTime = 64d
logFile = "/mnt/disk1/share/polipo/polipo.log"
localDocumentRoot = ""
disableIndexing = true
disableServersList = true
dnsQueryIPv6 = no
dnsNameServer = "192.168.100.1"
pidFile = /var/run/polipo.pid
pmmFirstSize = 16384
pmmSize = 8192

IPv6は使わず。
キャッシュフォルダは容量がたくさんあるSamba用の領域に作成しました。
インデックス機能とかも無効に。多分メモリとCPUが弱いので有効にすると遅くなるはず。

/etc/polipo.confを置いて、以下の起動スクリプトで起動。
そこそこ使えるのが意外でしたがうれしい。

起動スクリプト。(/etc/init.d/polipo.sh)
#!/bin/sh
# Start/stop the polipo daemon.
#
#

test -f /usr/bin/polipo || exit 0

case "$1" in
start) echo -n "Start services: polipo"
/usr/bin/polipo -c /etc/polipo.conf
;;
stop) echo -n "Stop services: polipo"
killall polipo
;;
restart)
$0 stop
$0 start
;;
*) echo "Usage: $0 start|stop|restart"
exit 1
;;
esac
exit 0
以下は作ったバイナリを含むtarball。
(自分の環境が改造されすぎているので普通のLS-L500GLで動くかどうかは不明。無保証)

polipo1041bin.tar.bz2


以下はpolipoのインストーラがやってること。
makeが動かせない場合はこれを参考にコピーすれば動くかも。
mkdir -p /usr/share/polipo/www
mkdir -p /usr/share/polipo/www/doc
cp -f polipo /usr/bin/
cp -f html/* /usr/share/polipo/www/doc
cp -f localindex.html /usr/share/polipo/www/index.html
cp -f polipo.man /usr/man/man1/polipo.1
cp polipo.info /usr/info/
install-info --info-dir=/usr/info polipo.info

2009年3月17日火曜日

Linkstation LS-L500GL(LS-LGL)をFTPサーバにする

telnetでログインできるようになったので好き勝手にいじれるぞ・・という事で。

LS-L500GLにはFTPサーバ機能(proftpd)は含まれていないので使うことはできない・・・のだが実はLS-GLシリーズのproftpdバイナリが動くのでproftpdを動作させることが可能です。

http://opensource.buffalo.jp/ls-gl-112a.html (proftpd-1.3.0_changed_arm.tgz)

ここのアーカイブを展開してできた proftpd という実行ファイルを/usr/sbinに設置。

/etc/init.d に以下の内容のproftpd.shを作成。
!/bin/sh                                                             
# Start/stop the proftp daemon.
#
#

test -f /usr/sbin/proftpd || exit 0

case "$1" in
start) echo -n "Start services: proftpd"
/usr/sbin/proftpd
;;
stop) echo -n "Stop services: proftpd"
killall proftpd
;;
restart)
$0 stop
$0 start
;;
*) echo "Usage: $0 start|stop|restart"
exit 1
;;
esac
exit 0
さらに必要なディレクトリを作成。

# mkdir /etc/proftpd
# mkdir /var/proftpd

展開したアーカイブ内にあるsample-configurations以下を参考にして/etc/proftpd/proftpd.confを作成。

あとは起動するだけ。

# /etc/init.d/proftpd.sh start

再起動しても自動的に起動したい場合はtelnetdの時と同じようにrcSに追加すること。

(proftpdの動作検証は proftpd -n で行うとメッセージが表示される上、問題が起きたときにすぐにCtrl+Cで終了できるので便利。)

2009年3月16日月曜日

Linkstation LS-L500GL(LS-LGL)のhttpdを無効にする

はっきり言ってメモリの少ないLS-LGLでWeb設定画面を常時立ち上げているのは無駄なので起動しないようにする。

まず以下のコマンドを実行。

# /etc/init.d/httpd.sh stop

/etc/init.d/rcSの以下の行から httpd.shという記述を削除すればいい。

for CMD in EnablingAutoip.sh restore_config.sh mount_share.sh networking.sh setup_time.sh smb.sh httpd.sh clientUtil_servd.sh modules.sh

Web設定画面が必要になったら以下のコマンドで起動する。

# /etc/init.d/httpd.sh start

これで13MB中、2MBものメモリが空きました・・・とかPC-98使ってた頃を思い出すような話だな。

Linkstation LS-L500GL(LS-LGL)をtelnetでアクセスできるようにする

2.0以降のファームウェアにアップデートした上で参考サイトの情報通り分解し、SATAハードディスクをKnoppixなどでブートしたLinuxマシンに接続。

Linuxの設定等は第二パーティションにあるので、/dev/sdb2とかがマウント対象です。
たとえば mount /dev/sdb2 /mnt など。(マシンによってはsdbとは限りませんdmesgを実行してログを確認してください)
下記例は/mnt以下にマウント場合の記載をしています。

まず/mnt/etc/init.dにtelnet.shというシェルスクリプトを作成。(cron.shをコピーしていじると楽)
#!/bin/sh
# Start/stop the telnet daemon.
#
#

test -f /usr/sbin/telnetd || exit 0

case "$1" in
start) echo -n "Start services: telnetd"
/usr/sbin/telnetd
;;
stop) echo -n "Stop services: telnetd"
killall telnetd
;;
restart)
$0 stop
$0 start
;;
*) echo "Usage: $0 start|stop|restart"
exit 1
;;
esac
exit 0
chmod a+x /mnt/etc/init.d/telnet.shした後でrcSというファイルの以下の行にtelnetd.shを追加。
for CMD in EnablingAutoip.sh restore_config.sh mount_share.sh networking.sh setup_time.sh smb.sh httpd.sh clientUtil_servd.sh modules.sh
次のように変更。とりあえずSambaより前に書いてみた。
for CMD in EnablingAutoip.sh restore_config.sh mount_share.sh  networking.sh setup_time.sh telnet.sh smb.sh httpd.sh clientUtil_servd.sh  modules.sh
あとは/etc/shadow内の以下の行に設定してあるrootの暗号化されたパスワードの部分を削除してログインできるようにする。
root:(暗号化されたパスワード):11009:0:99999:7:::
次のように変更。
root::11009:0:99999:7:::
組み立て直して起動し、telnetで接続できることを確認。

まぁ、telnet専用のスクリプトまで書かなくても参考サイトの通り、rcSに/usr/sbin/telnetdという一行を追加するだけでもいいんだけどやっぱりデーモンはstart/stop/restartができないと。

参考にさせていただいたサイトの各ページ
分解(LinkStation/玄箱 をハックしよう)
http://www.yamasita.jp/linkstation/2007/11/071123_post_54.html
telnet可能化(LinkStation/玄箱 をハックしよう)
http://www.yamasita.jp/linkstation/2007/11/071126_telnet_1.html
中の様子を探る(4)root のパスワードをつぶす(LinkStation/玄箱 をハックしよう)
http://www.yamasita.jp/linkstation/2007/12/071228_root_1.html

2009年3月15日日曜日

Linkstation LS-L500GL(LS-LGL)のスペック

こんな感じです。
16MB(実質13MB)しかメモリが無いのにsambaとapacheを動かしているのでディスクアクセスが遅いです。

/proc # cat cpuinfo
Processor : ARM926EJ-Sid(wb) rev 0 (v5l)
BogoMIPS : 219.54
Features : swp half thumb fastmult
CPU implementer : 0x41
CPU architecture: 5TEJ
CPU variant : 0x0
CPU part : 0x926
CPU revision : 0
Cache type : write-back
Cache clean : cp15 c7 ops
Cache lockdown : format C
Cache format : Harvard
I size : 16384
I assoc : 1
I line length : 32
I sets : 512
D size : 16384
D assoc : 1
D line length : 32
D sets : 512

Hardware : Feroceon
Revision : 0000
Serial : 0000000000000000

/proc # cat meminfo
MemTotal: 13632 kB
MemFree: 756 kB
Buffers: 3156 kB
Cached: 3444 kB
SwapCached: 76 kB
Active: 7896 kB
Inactive: 1776 kB
HighTotal: 0 kB
HighFree: 0 kB
LowTotal: 13632 kB
LowFree: 756 kB
SwapTotal: 136512 kB
SwapFree: 136336 kB
Dirty: 8 kB
Writeback: 0 kB
Mapped: 5928 kB
Slab: 1992 kB
CommitLimit: 143328 kB
Committed_AS: 21528 kB
PageTables: 296 kB
VmallocTotal: 491520 kB
VmallocUsed: 488 kB
VmallocChunk: 491032 kB

2009年3月12日木曜日

Linkstation LS-L500GL(LS-LGL)をDebianでマウント

超エントリーモデルのLS-LGLシリーズを購入。機能がものすごく制限されています。

lennyでマウントしたので忘れないようにメモ。
Linkstationをマウントする場合の/etc/fstab。

//(Linkstationの名称)/share /media/linkstation smbfs ip=(LinkstationのIPアドレス),password=,uid=1000,gid=1000,file_mode=0666,dir_mode=0777,rw 0 0
  • uidは作成されるファイルのデフォルトユーザ。(IDでなくユーザ名でも可能)
  • gidは作成されるファイルのデフォルトグループ。(IDでなくグループ名でも可能)
  • file_modeは作成されるファイルのデフォルトパーミッション。
  • dif_modeは作成されるディレクトリのデフォルトパーミッション