LinkStationにhackkitでdebian(etch)をインストールしていますが、これにMovable Typeのオープンソース版をインストールしてみました。
玄箱の最近のブログ記事
LinkStation LS-H250GLにセットアップしたdebianの環境設定開始です。
時刻設定までハックキットの説明書通りに完了し、以下のアプリケーションを追加インストールしました。
- nkf
- apache
- MySQL
- samba
- sudo
- ftp
あと、nanoはばっさり削除。vimで十分。
MTもいれてみようかな。あとPHPも。
また、SETI@homeにも参加してみるかな。
LS-H250GLから外したHDDを実験用PCに接続し、山下さんのLS-HGL ハックキットに従ってdebian化を行いました。
手順通り進めれば全く問題ありませんでした。
私の場合は、実験用PCに接続してアカウントの調整を行う際に、標準ファームのバックアップもついでに行っておきました。
以下、作業中のスナップ写真。
- 山下さんに送っていただいたハックキットをLS-HGLのHDDにコピー中。ここはMacで作業しました。
- 今回作業用に購入したHDDです。Seagate ST3250410AS(250GB)で、標準ファームのHDDと同じメーカー、同じ外寸のものにしました。でもキャッシュは16MBと倍になっています。
- LS-HGLにUSB接続した作業用HDD
- 作業用HDDがsdbで認識しました。
- ハックキットのインストール開始!
- インストール中の様子
- インストール完了しました。おきまりのsync3回。
- 標準ファームのHDDと作業用HDDを交換します。
- 作業用HDDに換装が完了したLS-HGL。標準ファームのHDDは箱にしまって保管しておきましょう。
- 無事ログイン完了です。おつかれさまでした。
LS-H250GLから外したHDDを実験用PCに接続します。
以降の作業は、山下さんの LinkStation/玄箱 をハックしようを参考にさせていただいております。
もちろん、作業は自己責任でお願いします。
実はS-ATAなるHDDを触るのはこれが初めてだったりします。これまではずっとIDEだけでした・・・。
とりあえず、PCのブートディスクをDebian 4.0がインストールされているものにします。うちのデスクトップPCは実験用なのでブートディスクを簡単に交換できるようにしているのです。
- うちのAthlon64デスクトップPCです。
- 材料はこれだけ。HDDはLinkStationから取り外したもの。ケーブル類はマザーボードの付属品です。
- こんな感じでS-ATA HDDを接続しました。
この状態で、PCのブートディスクからDebianを起動します。果たしてS-ATA HDDを無事認識してくれるのか?
キター!!
BUFFALO LinkStation LS-H250GLを分解してみました。
あくまでも参考です。分解は自己責任でお願いします。
- LinkStation本体をひっくり返すとネジがあります。これを外します。

- 写真ぐらいの角度までフロントパネルをゆっくり起こし、そのままの角度で水平に引っぱるとフロントパネルが外れます。

- フロントパネルの本体側の爪がひっかかる部分です。下向き斜めになっているのがミソです。

- 本体の爪の部分です。爪を折らないように慎重に作業しましょう。

- サイドパネルをスライドして外します。

- 反対側も同様に外します。

- 3本のネジでハードディスクを固定していますので、それを外します。

- 慎重にハードディスクを外します。

- これでハードディスクが外れました。

- 外したハードディスクを手持ちのPCに接続しDebian化に入ります。
さらに何かおもしろいことはないかと思っていたところで、「Yahoo!デベロッパーネットワーク」なるものを見つけました。
Yahoo!JAPANの公開APIが使えるらしいとのことで、手持ちのYahoo!IDを使ってアプリケーションIDを取得すれば準備完了です。早速サンプルプログラムを玄箱の上で動かしてみました。
この時点で玄箱にはApache1.3とPHP4がインストール済みです。
サンプルプログラムがあったので、それを/var/wwwに展開しました。
とりあえずわかりやすそうなsearchから実験です。
$ cd
$ ls
yjws-1.7.tgz
$ zcat *.tgz | tar xvf -
$ cd yjws-1.7
$ ls -l
total 16
drwxr-xr-x 3 ocha users 4096 Sep 5 2006 auctions
drwxr-xr-x 4 ocha users 4096 Dec 15 15:06 category
drwxr-xr-x 5 ocha users 4096 Sep 5 2006 search
drwxr-xr-x 4 ocha users 4096 Sep 5 2006 webunit
$ cd search
$ ls
README.txt javascript perl php
$ cd php
$ ls
1.0
$ cd 1.0
$ ls -l
total 20
drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example1
drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example2
drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example3
drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example4
drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example5
$ cd example1
$ ls
YJSearchExample.php common.php
$ cd ..
$ sudo mv example* /var/www/. ←面倒なので全部移動!
$ cd /var/www
$ ls -l
total 36
drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example1
drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example2
drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example3
drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example4
drwxr-xr-x 2 ocha users 4096 Sep 5 2006 example5
-rw-r--r-- 1 www-data www-data 5258 Apr 3 23:38 index.html
-rw-r--r-- 1 root root 20 Apr 8 13:50 info.php
$
この状態で、http://玄箱のIP/example1/YJSearchExample.php と叩いてみたところ何やらエラーが。
どうもxmldomが必要のようです。早速、検索。
$ apt-cache search domxml
php4-domxml - XMLv2 module for php4
ありました。早速インストール
$ sudo apt-get install php4-domxml
あと、
common.phpの"$appid ="部分に取得したアプリケーションIDを設定してください。
ということなので、ここに取得したアプリケーションIDを設定。
再度、http://玄箱のIP/example1/YJSearchExample.phpをブラウザで開くと、検索キーワードを入力できる画面が表示されました。
適当な言葉を入れて、検索すると、結果がちゃんと表示されます。
思ったより簡単ですね。こんな開発サーバにも玄箱は使えそうです。
玄箱でのBOINCの準備ができたところで、手持ちのPCにもBOINCをインストールする。
一度PC上でBOINCを動かしてからのほうが作業が楽だと思う。
でも最終的な目的は玄箱のBOINC clientをPCのBOINC managerで制御するため。
もし、seti@homeのアカウントを持っていない場合は、PCのBOINC managerからアカウントを取ってしまおう。うまくいくと、メールでアカウントキーが送られてくる。
玄箱にログインして次のようにコマンドを入れる。
$ boinc_cmd --host localhost --project_attach http://setiathome.berkeley.edu xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx ←アカウントキー(英文字の羅列)
状態をみるのは以下のコマンド
$ boinc_cmd --get_state
$ boinc_cmd --get_message 0
PCのBOINC Managerからでも制御ができる。「高度な操作」→「コンピュータの選択」→玄箱のIPを入力すればよい。私はパスワードはつけなかったのでそこは空欄。
PCだとこれでアプリケーションをseti@homeのサーバからダウンロードして、勝手に計算を始めるはずなのだが、どうも動かない。
メッセージをみると以下のような怪しいものがでていた。
SETI@home 1 1174713403 Message from server: platform 'powerpc-unknown-linux-gnu' not found
これってもしかして、玄箱のBOINCで動くseti@homeのアプリケーションが無いってこと?
そういえば、こんなパッケージがあったことを思いだした。
boinc-app-seti - SETI@home application for the BOINC client
とりあえず、これをインストールして再度チャレンジしたらあっさり動いてしまった。
でも、そういうことなら玄箱の上ではseti@homeのアプリケーションしか動かないってことかな。
アプリケーションのソースがあれば自分でコンパイルすればいいんだろうけど。
ちなみに、玄箱で1つのWORKUNITにかかる時間は、こんな感じ。
Created 24 Mar 2007 2:13:48 UTC
Sent 24 Mar 2007 15:54:13 UTC
Received 29 Mar 2007 8:14:29 UTC
CPU time 394143.22
5日間かけてやり遂げるだけでも偉いなということで。はい。
もし玄箱でseti@homeをやっている人がいたらチームを組みたいな。
動き出した玄箱ですが、せっかく常時稼働しているのでBOINCを動かしてseti@homeに参加してみることにしました。
BOINCとかseti@homeとは何ぞやというのはそちらのページを読んでいただくこととして早速インストールです。
Debianのドキュメントをさがしてみたところこんなページがありました。
これによると、boinc-clientとboinc-managerとboinc-devというパッケージがあるようです。boinc-managerはboinc-clientを管理するGUIなので、KURO-BOXでは不要でしょう。
boinc-devはboincのアプリケーションを作成するためのパッケージなのでこれもあとでいれることとします。
boinc-clientで検索したところ、testingとunstableのパッケージしかないようです。そこで/etc/apt/sources.listを以下のように書き換えます。今回はCDNを使ってみました。
$ sudo vi /etc/apt/sources.list
# sources.list
deb http://security.debian.org/ stable/updates main contrib non-free
deb http://cdn.debian.or.jp/debian/ testing main contrib non-free
deb-src http://cdn.debian.or.jp/debian/ testing main contrib non-free
書き換えが終わったらupdateです。
$ sudo apt-get update
Get:1 http://cdn.debian.or.jp testing/main Packages [5555kB]
Hit http://security.debian.org stable/updates/main Packages
Hit http://security.debian.org stable/updates/main Release
Hit http://security.debian.org stable/updates/contrib Packages
Hit http://security.debian.org stable/updates/contrib Release
Hit http://security.debian.org stable/updates/non-free Packages
Hit http://security.debian.org stable/updates/non-free Release
Get:2 http://cdn.debian.or.jp testing/main Release [84B]
Get:3 http://cdn.debian.or.jp testing/contrib Packages [56.4kB]
Get:4 http://cdn.debian.or.jp testing/contrib Release [87B]
Get:5 http://cdn.debian.or.jp testing/non-free Packages [74.7kB]
Get:6 http://cdn.debian.or.jp testing/non-free Release [88B]
Get:7 http://cdn.debian.or.jp testing/main Sources [1653kB]
Get:8 http://cdn.debian.or.jp testing/main Release [83B]
Get:9 http://cdn.debian.or.jp testing/contrib Sources [21.1kB]
Get:10 http://cdn.debian.or.jp testing/contrib Release [86B]
Get:11 http://cdn.debian.or.jp testing/non-free Sources [33.2kB]
Get:12 http://cdn.debian.or.jp testing/non-free Release [87B]
Fetched 7394kB in 20s (361kB/s)
Reading Package Lists... Done
BOINC関係のパッケージがあるか確認します。
$ sudo apt-cache search boinc
boinc-app-seti - SETI@home application for the BOINC client
boinc-client - core client for the BOINC distributed computing infrastructure
boinc-dev - development files to build applications for BOINC projects
boinc-manager - GUI to control and monitor the BOINC core client
kboincspy - monitoring utility for the BOINC client
kboincspy-dev - development files for KBoincSpy plugins
まずは、boinc-clientをインストールします。
$ sudo apt-get install boinc-client
これでBOINCクライアントのインストールは完了しました。
さて、いよいよBOINCを動かします。続きはまた。
玄箱(KURO-BOX)にDebian Linuxをインストールしてみましたが、このDebianはWoody(Debian 3.0)という少し古いバージョンでした。
現行はSarge(Debian 3.1)というバージョンになっていますので、それにアップグレードしてみました。
参考としたホームページは以下の通りです。
本当にこの手順通りで事足りてしまいます。ありがたいですね。
作業が終わるとこんな感じになります。
Debian GNU/Linux 3.1 KURO-BOX
KURO-BOX login:
すばらしく簡単です。
玄箱(KURO-BOX)にDebian Linuxをインストールしてみました。
参考としたホームページは以下の通りです。
覚え書きとして手順を書いておきます。
1.「玄箱うぉううぉう♪」さんから、debian_2006_06_10_dist.tgzをダウンロード
2.「オモイノホカ日々徒然」さんにある手順の通りにセットアップ
3. パスワードの設定
Debian GNU/Linux 3.0 KURO-BOX
KURO-BOX login: tmp-kun
Password: xxxxxxx
Last login: Sun May 2 15:10:53 2004 from 192.168.0.32 on pts/0
Linux KURO-BOX 2.4.17_kuro-box #4 2004年 4月 16日 金曜日 11:45:05 JST ppc unknown
: 省略
tmp-kun@KURO-BOX:~$ su -
Password: xxxxxxxx
KURO-BOX:~# passwd root
Enter new UNIX password: newpassword
Retype new UNIX password: newpassword
passwd: password updated successfully
KURO-BOX:~# passwd tmp-kun
Enter new UNIX password: newpassword
Retype new UNIX password: newpassword
passwd: password updated successfully
4. IPアドレスの変更
KURO-BOX:/etc# vi /etc/hosts
127.0.0.1 localhost
#192.168.0.100 KURO-BOX ←コメントにする
192.168.3.121 KURO-BOX ←新しいIPを設定
KURO-BOX:/etc# vi /etc/hosts.allow
:省略
#ALL : 192.168.0.0/255.255.255.0 ←コメントにする
ALL : 192.168.3.0/255.255.255.0 ←新しいIPを設定
ALL : 127.0.0.1
KURO-BOX:/etc# vi /etc/resolv.conf
search
#nameserver 192.168.0.1 ←コメントにする
nameserver 192.168.3.1 ←我が家のDNSサーバ(ルータ)に変更
KURO-BOX:/etc # vi /etc/network/interfaces
:省略
iface eth0 inet static
#address 192.168.0.100 ←コメントにする
#network 192.168.0.0 ←コメントにする
#netmask 255.255.255.0 ←コメントにする
#broadcast 192.168.0.255 ←コメントにする
#gateway 192.168.0.1 ←コメントにする
address 192.168.3.121 ←我が家のネットワークに合わせて書き換え
network 192.168.3.0 ←我が家のネットワークに合わせて書き換え
netmask 255.255.255.0 ←我が家のネットワークに合わせて書き換え
broadcast 192.168.3.255 ←我が家のネットワークに合わせて書き換え
gateway 192.168.3.1 ←我が家のネットワークに合わせて書き換え
iface lo inet loopback
auto eth0 lo
5. 作業用ユーザアカウントの登録
KURO-BOX:~# df -k
Filesystem 1k-blocks Used Available Use% Mounted on
/dev/hda1 2063504 154080 1804604 8% /
/dev/hda3 55375288 398944 54976344 1% /mnt
KURO-BOX:~# mkdir /mnt/home/username
KURO-BOX:~# useradd -u 1001 -g users -d /mnt/home/newuser -s /bin/bash newuser
KURO-BOX:~# passwd newuser
Enter new UNIX password: xxxxxxxx
Retype new UNIX password: xxxxxxxx
passwd: password updated successfully
KURO-BOX:~# chown newuser:users /mnt/home/newuser
6. 再起動
KURO-BOX:/mnt/home# sync
KURO-BOX:/mnt/home# sync
KURO-BOX:/mnt/home# sync
KURO-BOX:/mnt/home# reboot
これでネットワークとアカウントの設定までできました。簡単です。
















