玄箱HG

2006年12月21日 (木)

MAC miniでdebian ETCH

実は今年始めにintel macminiが出る寸前、安くなったG4のMACMINIを買っていたんですが、あまりにもおそくて使いものにならんのでずーっと放っておいたんですが、ある記事でPPC-MACでのLINUXは鬼のように早い!!とかいうのを見かけました。
それで一年発起 せっかくならdebian-ETCHをいれてみました。インストールはすごく簡単で問題なかったんですが、初体験のetchということでずいぶんXではまりました。とにかくXで日本語がまともに入力できるようになるまで試行錯誤の繰り返し、、、10回は再インストールしました。
apt-get instool hotplugなんてやってカーネルが削除されて起動しなくなったり、、

まあやっとまともにPOSTFIX とAPACHE2関連が動きだしました。
速度は鬼のように早いとはいかないですが、玄箱とは雲泥の差ですね。なんといってもxが使えるので非常に楽です。ETCHではグラフィックのradion9200も、音もなーんも苦労しなくてそのまま動きました。無線LANのほうもbcm43xxで動いてますが、ただアクセスポイントにするためのmasterモードがまだ動いてません。
あとブラウザのflashplayerがppc対応がまだのようで、youtubeが見れないのがつらいです。
そんなわけでサーバをそっちに移動しました。消費電力も玄箱とあまり大差ないようで、これでしばらく動かしてみます。

cpuinfoは下記です。

processor       : 0
cpu             : 7447A, altivec supported
clock           : 1499.999994MHz
revision        : 0.5 (pvr 8003 0105)
bogomips        : 82.94
timebase        : 41600571
platform        : PowerMac
machine         : PowerMac10,2
motherboard     : PowerMac10,2 MacRISC3 Power Macintosh
detected as     : 287 (Unknown Intrepid-based)
pmac flags      : 00000000
L2 cache        : 512K unified
pmac-generation : NewWorld

| | コメント (0) | トラックバック (0)

2006年11月 8日 (水)

google earth

最近怒涛の更新でそろそろネタがなくなってきました。

Google-Earthってすごいですねぇ。9月にバイクで北海道旅行へいってきたんですが、デジカメとGPS(GARMIN)を持っていきました。google Earth上でなんと写真とGPSのログを表示させて、クリックするとその場所の写真が表示するようにできるんですね。しかも簡単に、、驚きました。Google Maps APIを使っています。

興味のある方はみてください

自宅の玄箱HG+Apahce2で動いてますので、表示が遅いのはちょっと我慢してください。

なお使ったのはPictureMapというソフトです。このソフトはすごいです。簡単にこんなことがすぐできてしまいます。こんなのがフリーで使えるなんてすごい時代になりました。

| | コメント (0) | トラックバック (0)

2006年11月 2日 (木)

USBシリアル変換ケーブル

ということでDell用にシリアル変換ケーブルを買って見た。最近パソコン屋にでかけるのがおっくうでamazonで購入 購入したのはbuffaloのBHC-US01/GPってもの なんでもお前はダメルコ かっていわれそうだけど、単にこれが一番安かったからなんです。2,289円 送料無料

ところがDellの640mにつけるとなんとレジュームがきかなくなる。スタンバイから復帰しても画面表示されない。アチャー失敗かな と思ったんだけど、ドライバを見るとProlific社のPL2303を使っているみたい。物は試しでProlificにいって最新ドライバーを入れるとすんなり解消しました。buffaloさん せめてサイトにドライバーの最新版ぐらい入れておいてくださいね。

まあそれだけでは芸がないんでdebian玄箱のUSBコンソールに使えないか試してみました。しかしながら私の2.6.18のカーネルにはドライバーが入ってない。それで再びカーネルコンパイル 得意のmenuconfigでdevice driver->USB support->USB Serial Converter support-USB Prolific 2303 Single Port Serial Driver> を追加してコンパイル

それからいつものgoogleさんのお世話でLANDISKのwikiのココを参考 スクリプトは /etc/hotplug/usb/pl2303

#!/bin/sh
/sbin/getty -L ttyUSB0 57600 vt100 &
exit 0

に変更した。hotplugって便利ですねぇ。USBにつなぐと勝手にスクリプトが走ってくれます。これだけで、シリアルコンソールとして使えました。ただdebianが起動完了しないと使えないんで、起動失敗した場合なんか使えないです。ネットワークが不調でtelnetで入れないケースなんか場合便利だと思います。ちょっとはまったのがシリアルケーブルはクロスでないとダメみたい。うちは写真のようにリバースコネクタをつけました。

Dsc01595

| | コメント (0) | トラックバック (0)

2006年10月29日 (日)

玄箱を黒箱にした方

結構玄箱のファーム書き換えで失敗した方がここにたどりついているようで、ちょっと簡単にまとめてみました。

まずJtagがない場合は神様のところにあるたつやさん作成bootcodeを書き換えていない場合不可能です。玄箱HGの場合はfl2.kuroHG.serialclk.binです。これをとりあえずbootcode.binに書きましょう。もうすでに黒箱になってしまった方はJtagがないとbootcodeを書く方法がないのであきらめましょう。

Jtagを作るのは半田付けができる方であれば難易度はあまり高くないです。部品代は1,000円ちょいでできます。回路図は神様のサイトにあります。ただHGの場合はVCCはあの回路図ではなく、他の場所(AVRがいいでしょう)から取らないと動作しないようです。
なお市販のケーブルはここにあるXC2というケーブル使用できるようです。値段がちょっと高いです。ノーマル玄箱が買える値段ですね。

どちらにしてもシリアルコンソールは必須です。とりあえずシリアルコンソールで何がでているか見てください。

まあdiagランプが5回点滅状態で、電源コンセントを抜いて放置後も同じでしたらJtagがないと復旧は個人では不可能ですね。どうしてもダメって方があれば送ってくださればなんとかしてあがられるかも、、、(無償でやりますから壊れても知りません)

まあ素直にbuffaloに修理にだすほうがいいです。

Linkstationでもファームアップデートをしたら同じようになる場合があります。私の場合HS-DGLをファームアップデートしたら、失敗してinvrid firmware sizeとかでて死んだ場合がありました。でも通常のファームアップデートでこんなふうになるのは勘弁してほしいですね。--buffaloさん。

| | コメント (9) | トラックバック (0)

2006年10月25日 (水)

USBHDDへのバックアップ

下のほうでrsyncを使ったバックアップをかきましたが、/rootの領域をとるのにいままでEMモードに落として、tarで固めてという方法をとってました。しかし結構めんどくさいし時間もそれなりにかかります。メールサーバ wwwサーバとして動かしているんで、HDD故障の場合は、リカバリーが結構大変でした。今回せっかくUSBがあるのでIDEーUSB変換を使ってUSB接続したHDDに直接バックアップ方法を試してみました。

今回試してみたのはdumpを使う方法です。本来なら動いている自分自身をバックアップなんかしたらダメなんだろうけど、すんなりうまくいきました。時間はtarでとるより半分以下ですみます。/hda3のデータ領域も同じ要領でコピーできます。これを応用して/hda1と/hda3の領域をコピーすると、今の環境のままでhddの引越しが簡単にできます。容量が足らなくてパンクしそうになった場合の換装もokです。たぶん時間も手間も一番少ない方法だと思います。

まずdumpを入れる。

#apt-get install dump

シングルユーザモードに(一応安全のためにね)

#telinit s

でrootのパスワードを入れます。

usb hddを取り付けます。たぶんsdaとして認識されると思いますが、tail -f /var/log/syslog でメッセージを確認してください。

cfdisk /dev/sda で玄箱用にパーティションを切ります。領域は今の領域より同じか大きく取ってください。

領域をext3にフォーマットします。

#mkfs -j /dev/sdax         xは領域番号に読み替えてくださいね。

バックアップ用hddの/rootが/dev/sda1になったとして仮定します。

#mkdir /tmp/root

#mount /deb/sda1 /tmp/root

マウントポイントに移動します。

#cd /tmp/root

#dump 0uaf - / | restore xf -

でもってコピーされます。最後にset owner/modeを聞かれますのでyと答えます。

特に/rootは標準で2Gですが、/homeをそのままにしているとパンクしそうになります。これを使えばバックアップだけでなく /rootの拡大も簡単にできます。

なおdumpでのバックアップ/restoreはパーティション単位です。

| | コメント (0) | トラックバック (0)

シリアルケーブル

これ玄箱とかいじるのに必須ですが、カモンの9-KEシリアルケーブルを利用しています。千石電商で430円で安いのですが、送料が1000円もかかるので、たまにパーツをまとめて買ったときなんか購入しています。で気がついたら6本もありました。コネクタをつけるときいつも線の色がわかんなくなるので自分用の覚書です

線の色が2種類あります。

1:橙 2:黒 4:茶 赤は未接続

1:赤 2:黄 4:緑 黒は未接続

Dsc01345

下は最近買ったDellの一番安い640m なんと65,000円で買えました。しかし最近のノートPCはシリアルコネクタがないのでつらいです。USB-シリアル変換をそのうちに購入予定

| | コメント (0) | トラックバック (0)

2006年10月15日 (日)

HD-HGLANのIDEその2

下記に書いたHGLANのIDEコントローラの件ですが、どうも気になってなんとか玄箱HG用のfirmimg.binを書いて本物?の玄箱に化かそうとやってみました。

方法は意外と簡単でした。HGLAN用のfirmimg.binのkernelと玄箱HG用kernelを入れ替えたら問題なくできました。まずHD-HGLANのfrimimg.binと玄箱HG用のfirmimg.binをfirmimgtoolでkernel.gzとinitrd.gzに分解してkernel.gzを差し替えたfirmimg.binを作って/dev/mtdblock0に書き込むと見事に化けました。つまりkernelはHGLAN用でinitrd.gzは玄箱HGのにするわけですね。

firmimgtoolで分解

#firmimgtool -ck kernel.gz -r initrd.gz firmimg.hglan(HGのfirmimg.bin)

するとinitrd.gzとkernel.gzができるのでkernel.gzをrenameしてinitrd.gzを削除します

#firmimgtool -ck kernel.gz -r initrd.gz firmimg.bin

できたkernel.gzを削除して先ほどrenemaeしたkernel.gzを元に戻します。

再結合して新しいfirmimg.binをつくります。

#firmimgtool -ck kernel.gz -r initrd.gz firmimg..bin

これを フラッシュに書き込みます。

#cat firmimg.bin >/dev/mtdblock0

これでIT8211用HGが玄箱HGに化けました。

なおFlashに書き込むのは結構危険な作業です。リスクを承知でやってください。当方では責任を取れません。事前に神様のとこにあるIT8211用bootcodeに書き換えておくほうが無難です。HG用bootcode.binファイル名はfl2.lsHG.serialclk.binです。このbootcodeがあるとfl1(mtdblock0)を壊してもJTAGを使わないでなんとかなります。

ここまでやって無理してわざわざ玄箱HGにする理由なんかないんだけどね。

| | コメント (9) | トラックバック (0)

2006年10月11日 (水)

玄箱バックアップ

玄箱HGでdebianサーバを立ち上げてもう2年ほど使ってあれこれいじってますが、hdd故障を2回体験しました。幸いバックアップがあって戻したんですがそれでも結構大変な作業です。予備の準備はしてるんで、その予備からrsyncを使って簡単にバックアップできるようしてみました。

server1 現用 server2予備という構成でserver2からserver1のデータをシンクロするようにします。いろいろ方法はあるんですが、rsyncが実績もあって簡単そうなんで設定してみました。

私の玄箱の構成はhda3を/dataとしてmountしていますので/dataを丸ごと予備の玄箱の/dataをシンクロする設定です。

cronでrsyncを実行する場合sshで実行した場合、パスワードを聞かれてはまずいのでローカルホスト認証./shostsを使う設定にしてます。いつもお世話になっているパソコンおやじさんのWebサイトを参考にさせていただきました。URLは下記です。

http://www.aconus.com/~oyaji/backup/rsync.htm

まずrsyncのインストール

serever1 server2

#apt-get install ssh rsync

server1ではsshdを実行する設定にします。この設定はパスワード入力なしでserver1にログインするための設定で、server2からコマンド入力してパスワードも入力する場合はPermitRootLogin yesに設定してrootでログインを許可する設定だけであとはデフォルトの設定でokです。

server1のsshd_d.config

#vi /etc/ssh/sshd_config

# Package generated configuration file
# See the sshd(8) manpage for details

# What ports, IPs and protocols we listen for
Port 22
# Use these options to restrict which interfaces/protocols sshd will bind to
#ListenAddress ::
#ListenAddress 0.0.0.0
Protocol 1,2
# HostKeys for protocol version 1
HostKey /etc/ssh/ssh_host_key
# HostKeys for protocol version 2
HostKey /etc/ssh/ssh_host_rsa_key
HostKey /etc/ssh/ssh_host_dsa_key
#Privilege Separation is turned on for security
UsePrivilegeSeparation yes

# Lifetime and size of ephemeral version 1 server key
KeyRegenerationInterval 3600
ServerKeyBits 768

# Logging
SyslogFacility AUTH
LogLevel INFO

# Authentication:
LoginGraceTime 600
PermitRootLogin yes
StrictModes yes

RSAAuthentication no
PubkeyAuthentication no
#AuthorizedKeysFile     %h/.ssh/authorized_keys

# Don't read the user's ~/.rhosts and ~/.shosts files
IgnoreRhosts no
# For this to work you will also need host keys in /etc/ssh_known_hosts
RhostsRSAAuthentication no
# similar for protocol version 2

server2からsshでrsyncを実行するのでserver2ではssh_configを設定します。

#vi /etc/ssh/ssh_config

# This is the ssh client system-wide configuration file.  See
# ssh_config(5) for more information.  This file provides defaults for
# users, and the values can be changed in per-user configuration files
# or on the command line.
# RSAバージョン1での認証は不許可
RSAAuthentication no
# 公開鍵による認証を不許可
PubkeyAuthentication no
# rhosts認証は不許可
RhostsAuthentication no
# SSH1 プロトコル認証は不許可
RhostsRSAAuthentication no
# hostbased認証を許可(SSH2 プロトコル)
HostbasedAuthentication yes
# パスワード認証は不許可
PasswordAuthentication no
# 認証の優先順位指定(Keyboad入力は不要)
preferredAuthentications hostbased,publickey,password

# Configuration data is parsed as follows:

これが設定すればserver1でsshdをstopしてstartする。

この場合restartでは設定が反映されない場合があります。実はこれに少しはまった。

ps aux | grep sshでsshdが動いてないのを確認してstartします。

server1に認証なしで入れるよう./shostにserver2を設定

#vi /root/.shosts

server2 root

server2からsshで認証なしでログインできるか確認

#ssh server1

最初のログインではログインを許可したホストのホスト鍵を登録するのでyesと答えます。

server2から手動でバックアップできるかどうか確認してみる

#rsync -avz -e ssh server1:/data/ /data/

うまくバックアップできるようだったら server2のcrontabに設定して定期的に実行するようにします。バックアップ元で削除されたファイルは、バックアップ先でも削除したい場合には--deleteオプションをつけますが、怖いオプションですから気をつけてください。server1とserver2を間違えるとたいへんなことになります。

でもってserver2のcrontabに登録

#crontab -e

0 2 * * 0  rsync -az -e ssh --delete server1:/data/ /data/ > /dev/null 2>&1

これで日曜日の午前2時に/dataのクローンが作成されます。

うちではserver2は常時は電源を切っていますので立ち上げたとき自動的に/dataのクローニングを実行するようinit.dに登録しました。時々気がついたときにバックアップ機の電源を入れれば自動的にバックアップを実行してくれます。

なお当然ですがserver1とserver2の/etc/hostsにはそれぞれのIPアドレスを記述しておいてください。

| | コメント (0) | トラックバック (0)

2006年8月 8日 (火)

HD-HGLANのIDE

最近購入したHGLANですが、玄箱HGに化かそうとすると見事に失敗。でもっていろいろ調べてみると、基盤のIDEコントローラが2種類あることがわかりました。ひとつは玄箱HGとまったく同じSIO0680 これは玄箱HGとまったく同じ基盤です。問題はIT8211を使っているほうです。TerastationなんかはIT8211だったんですが、玄箱HGのfirmimg.binのカーネルにはSIO0680しかサポートしてないようで、そのままfl1に書くとIDEコントローラが見つからなくて立ち上がりません。

HGLAN用のfrimimg.binは両方当然サポートされているのでまったく問題ないんですけど、、 まあHG用のfirmimg.binで不都合はEMモードでTelnetが使えない &パスワードが不明だけなんで、debian化してしまえば一緒です。

でもってTelnetHackとパスワードHackしたHGLAN用のfirmimg.binを作りました。UPはBuffaloに怒られそうなんでやめときます。

debian化もいったんEMモードに落として玄箱HGとまったく同じ方法でできます。

20060807_080727

もうHGLANは販売終息したみたいですが、後継機種のLS-GLはなんでもHDDがシリアルATAになってるみたいですね。速度はどうなんだろう。Telnetも簡単にできそうなんで、遊び用に1台買ってもいいなあ。

| | コメント (3) | トラックバック (0)

2006年6月25日 (日)

無線lanでアクセスポイント構築

玄箱HGをサーバにして24時間うごかしているのでせっかくだからUSB無線LANにトライしてみた。目的はアクセスポイントにして動かすこと。前は無線LAN付ルータでアクセスしてたんですが、今回ファミリーからプレミアムに変更したので、ルータはいらなくなった。単にアクセスポントとして使えばいいんだけど、、電気代がもったいない

でもってUSB無線は玄箱で実績のあるPlanexのGW-US54Mini linuxを使用 2,980円なり どこでも入手できるし安いですねぇ。

まず下記を参照してカーネルのコンパイル ドライバーのインストール よくまとめられています。感謝 ほかにもバックアップとか結構参考になります。

http://dyg.ath.cx/category/kurobox/

ただmenuconfigでうちではbrigeを使ったので

802.1d Ethernet Bridging" ( "Networking options")と "Universal TUN/TAP device driver support" ("Network device support")をさらに追加してコンパイル

brideを作成するためのユーティリティを入れる

#apt-get install bridge-utils

アクセスポイント化

#iwconfig wlan0 mode Master
#iwconfig

wlan0     802.11b/g NIC  ESSID:"xxxxxxxxxxx"
          Mode:Master  Frequency=2.437 GHz  Access Point: xx::xx:xx::xx:xx:xx
          Bit Rate:11 Mb/s
          Retry:off   RTS thr=2432 B   Fragment thr:off
          Encryption key:****-****-**   Security mode:open
          Power Management:off
          Link Quality=88/100  Signal level=84/100  Noise level=0/100
          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:13
          Tx excessive retries:2  Invalid misc:0   Missed beacon:0

でもってMACアドレスがちゃんと表示されてるか確認

Bridgeを作成

#brctl addbr br0
#brctl addif br0 eth0
#brctl addif br0 wlan0
#ifconfig eth0 0.0.0.0
#ifconfig wlan0 0.0.0.0

brigeにIPアドレスをつける。これが玄箱HGのIPアドレスになります。うちは光プレミアムなので
#ifconfig br0 192.168.24.xxxx netmask 255.255.255.0 up
デフォルトゲートウェイ追加(ルータのIPアドレス)

#route add default gw 192.168.24.1 br0

ほんとはbridgeなんか使わなくてルーティングテーブルをちゃんと書けば動くんだろうけど、、めんどくさかったので安易に逃げた。

なおあたりまえですがessidとか認証はしっかり入れましょう。

#iwconfig wlan0 essid xxxxxx で入ります。なおkeyは

#iwconfig walan0 key xxxx-xxxx-xxで入ります。iwconfigで確認してください。

bridgeの利点はether側からも問題なく192.168.24.xのネットワークからアクセスできることです。

| | コメント (0) | トラックバック (0)

2006年5月15日 (月)

玄箱JTAG覚書

まず玄箱のJTAGランドにピンを植えてPCのパラレルポートにJTAGを接続します。プルアップ抵抗は必要ないです。あらかじめ別のlinuxマシンor玄箱でfirmimg.binをsrec形式に変換してPCに保存しておきます。

#objcopy -I binary -O srec --srec-len 120 firmimg.bin firmimg.srec

linkstationならばfirmimg.binがbuffaloのサイトからもってこれます。なおこれはJTAGで全部Flashを書き換える根性があれば必要ないです。時間は24時間ぐらいかかります。

PCのbiosでパラレルポート0378が有効になっているのを確認します。モードはSPPでOKです。

cygwinを立ち上げ

$mkdir jtagdir

神様のサイトからいただいてきたjtagdir.tgzをwin上のC:\cygwin\home\ログイン名\jtagdirにコピー

$cd jtagdir

$tar xzvf jtagdir.tgz

で解凍します。winでdwonloadした場合は拡張子がtgzでない場合があります。

cd include

$./autogen.sh

$make install

これが失敗する場合はコンパイル用ライブラリが足りません。再度cygwinのセットアップを実行して不足しているライブラリをインストールします。

$cd ..

$cd jtag

$./autogen.sh

$make install

firmimb.binとbootcode.binをC:\cygwin\home\ログイン名\jtagdir\jtagにコピー

$ioperm -i

パラレルポートアクセス用サービスを起動します。サービス停止は ioperm -u

jtagを起動

$jtag

jtag> cable parallel 0x378 DLC5

Initializing Xilinx DLC5 JTAG Parallel Cable III on parallel port at 0x378
jtag> detect
IR length: 8
Chain length: 1
Device Id: 0
chain.c(110) Part 0 without active instruction
chain.c(133) Part 0 without active instruction
chain.c(110) Part 0 without active instruction

これが出てこないと認識されていない。接続ケーブルおよび接続端子を再確認

jtag> include data/motorola/mpc8241/1.2
jtag> endian big
jtag> instruction SAMPLE/PRELOAD
jtag> shift ir
jtag> shift dr
jtag> instruction EXTEST
jtag> shift ir
jtag> initbus mpc824x
jtag> detectflash 0xFFC00000

jtag> flashmem 0xFFF00000 bootcode.bin

でbootcodeを書き換える。所要時間は30分くらい

jtag> flashmem 0xFFC00000 firmimg.bin

でfirmimgを書き換える。所要時間は24時間ぐらいかかる? これでも完全復旧できるが、時間がかかるため、とりあえずたつやさんbootcodeを書き換えてdebugモードに入る。

loads 00c00000

作成してあった、firmimg.srecをteratermのファイル-ファイル送信から転送
これはフラッシュではなくRAM領域に転送してますので電源offで消えます。

setimage 00c00000
setkparam root=/dev/ram
quit

とりあえずこれでEMモードで立ち上がってきます。rootでログイン後 ftpでfirmimg.binを転送して

cat firmimg.bin >/dev/fl1

で書き換える。

HDDの中身が無事ならばEMモードで上げなくてそのまま通常で立ち上げ、rootで書き換えた方が楽です。そのままで立ち上げるのはdebugモードで

loads 00c00000
setimage 00c00000
quit

で通常のbootをします。


linkstationの場合はrootのパスワードがわからないので、あらかじめパスワードハックしたfirmimg.binを転送しておく。なおこの状態では残念ながらRAMで立ち上がっているため、Fwupdateは使えません。RAMなのでPower-OFF or rebootで消えてしまいます。

ちなみにFlash構成

Table at 0x0040
0x00000000-0x00300000 : "mtd_firmimg"
0x00000000-0x00400000 : "mtd_allflash"
0x00300000-0x00370000 : "mtd_bootcode"
0x00310000-0x00400000 : "mtd_data"
0x00370000-0x00380000 : "mtd_status"
0x00380000-0x00400000 : "mtd_conf"

| | コメント (7) | トラックバック (2)

2006年5月14日 (日)

JTAGで復旧

bootcodeを飛ばしてしまった玄箱HGですが、神様のところに玄箱JTAG用ソースをおいてくれてました。おまけにケーブルの回路図もあります。ということでトライしました。

このソースは玄箱用にパッチも全部当ててくれており、そのまま解凍してコンパイルすれば一発でJTAGが動きます。注意することはmpc8241のデレクトリにある、1.2というBDSLファイルをJTAGのincludeで正しくパスを指定して読ますことぐらいです。

まずケーブルですが、パーツ全部入れても1000円以内でできました。きたないですが、まあ動作すればOKということで、、

S20060514_100543_3

うちではcygwinの勉強もかねてWindows環境下でやってみました。cygwinってえらい簡単にインストールできるんですね。下記のuminoさんのHPを参照

http://f30.aaa.livedoor.jp/~umino/pukiwiki.php?Linkstation%2FJTAG

大変よくまとめられており、初心者でもそのとおりやれば動きます。うちでも一発で動きました。

ちょっとはまったのがJTAGのピンへの配線です。VCCとGNDをJTAGのピンから取るとなぜかうちの玄箱では >jtag で認識しませんでした。テスターで見るとちゃんと電圧でてるんだけど、、なんでだろう。

でためしにAVR用JTAGピン?CN4の2番(VCC)6番(GND)からとると一発でうまく認識しました。

あとはbootcodeを書き換えで(30分ぐらい)無事復旧しました。

下記のようにプルアップ抵抗を入れましたが無しでもいけるみたいです。

S20060508_140859

でもってJTAG接続中です。

S20060514_153855

これで安心してFlashをさわることができます。

| | コメント (2) | トラックバック (0)

2006年4月27日 (木)

linkstation bootcode.bin

前に自力でコンパイルして失敗した 玄箱HG用たつやさん作成bootcode.binですが、

下記の神様のサイトでおいてくれてました。大感謝です。

http://genbako.blogsite.org/

これでFlashを飛ばしてもシリアルコンソールさえあればJTAGを使わなくてもなんとかなります。

このbootcodeのすばらしいところはたくさんあります。

たとえばlinkstationのEMモードに入るには、hddの内容を消すとか結構大変だったりします。さらに元に戻すためにはいちいちFwupdateをしなければならないなど、、

このbootcodeを入れておけば won NG でEMモード won OKで復帰とか、、

コマンド一覧は下記にあります。

http://linkstation.yi.org/index.php?Bootloader%2Freference

| | コメント (0) | トラックバック (0)

2006年3月20日 (月)

新カーネル

kernel2.6.15.6がでたみたいですね。いろいろ玄箱カーネル関係で遊んでましたが、

どうやら今年になってブレイクスルーがきたみたいです。EMモードもできるように

なったし、、しかしすごい人ですね。

ということで最新は下記のLINKからもってきて入れましょう。EMモード入りのFlashも

あるようですが、私前の失敗で懲りてるんで、書き換えはまだ様子を見ます。

手持ちのlinkstation1台ををとりあえず予備に玄箱HGに化かしましたけど、、、

bootcode.binはそのままlinkstationのを使っていたりして、、、

http://genbako.blogsite.org/

| | コメント (1) | トラックバック (0)

2006年3月 8日 (水)

itune6.04

itune6.0.4になってまたmt-daapdから見えなくなってしまいました。それに対応したmt-daapd-0.2.4をコンパイルして見えるようにはなったが、うちではS-JISがほとんどのため文字化けいっぱい。対策は前の対応パッチはmp3sccanaer.cにコンバータをかましているだけみたいなんでそのまま使ってみたら文字化けが解消されました。

それでコンパイル インストールのメモ

まずソールのインストール

1、玄箱コンパイル環境を整える

http://kazz7.air-nifty.com/tekito/2005/01/itunes_1.html

この辺を参考にしてください。

ソースを解凍後patchを実行

cd /mt-daapd-0.2.4/src

patchをいただいてくる

wget http://ouchi.nahi.to/~kaidempa/mt-daapd/mt-daapd-0.2.1.1-cp932-3.patch

patch実行

patch -p1 <mt-daapd-0.2.1.1-cp932-3.patch

3、コンパイル

cd ..

./configure

make

make install

でもってmt-daapdが/usr/local/sbin/にはいります。

起動用スクリプトのコピーと修正

cp -p contrib/mt-daapd /etc/init.d
vi /etc/init.d/mt-daapd

修正箇所は

daemon mt-daapd

daemon /usr/local/sbin/mt-daapd

#use killproc instead of killall
killall -INT mt-daapd

#killall mt-daapd

[ -e /etc/daapd.conf ]

[ -e /etc/mt-daapd.conf ]

設定ファイルのコピーと修正 

cp contrib/mt-daapd.conf /etc

vi /etc/mt-daapd.conf

admin_pw mt-daapd

admin_pw ******(Webでアクセス時のパスワード)

mp3_dir /mnt/mp3

mp3_dir /pub/music(曲ファイルをおいた場所)

servername mt-daapd

servername homeserver(ituneからみえるサーバの名前)

起動したときアクセス権がないと叱られるので

chmod g+w /usr/local
chmod g+w /usr/local/sbin

/var/cache/mt-daapd/songs.gdbを削除します。(最初の起動ではないはずです。)

起動してみます。

/etc/init.d/mt-daapd start

daemonがないと叱られたらすかさず apt-get install daemon

次回からの自動起動は

update-rc.d mt-daapd defaults

解除はupdate-rc.d -f mt-daapd remove

http://玄箱のip:3689でアクセスできます。

これで無事itune6.0.4でok

| | コメント (0) | トラックバック (0)

2006年3月 5日 (日)

やっちゃった

玄箱HGですがbootcode.binを書きかえとスケベ心を出してしまい、見事に失敗して黒箱に変身してしまいました。なんでもフラッシュ書き換え可能なコマンドが増強されたBootcodeがあるようで、それを入れたところ見事に返事なしになってしましました。玄箱用のはバイナリが準備されているんだけど、HG用は自力でコンパイルの必要があるんですが、どこでどう間違ったか、コンパイル正常終了のbootcode.binを書き換えたら見事にシリアルでも無反応。

ここからの復旧にはJTAGが必要なんだけど、これだけのためにJTAGはあほらしい、、

ということで急遽予備のLinkstationを玄箱に変身させました。

まあ 気を取り直して、ituneサーバ(文字化け対応版)が玄箱HGdebianでうまく動作しましたので近日中に手順を、、

| | コメント (0) | トラックバック (0)

2006年2月11日 (土)

カーネル2.6

やっとカーネル2.6が完全に動作したようです。下記のページで公開されています。

debian化した玄箱だと簡単に動作させることができます。

http://genbako.blogsite.org/

ntpの問題も解決されてなかなかいい感じです。とりあえず/bootにカーネルを置くだけで動作します。

うちではfalshに書き込もうとトライしましたがkernelとEMモードinit.rdを合計すると容量の3Mをオーバしてしまい、書き込むことができません。カーネルのオプション変更で再コンパイルしてなんとか小さい容量にするか、EMモードのinit.rdを変更するか考え中

解凍後カーネルは/boot/にいれてください。debian玄箱ならloder.oで起動後カーネル2.6に切り替わります。

モジュールはtar xvzf modules-2.6.15-KURO-HG.tgz -C / で解凍すれば本来の場所に入ります。

| | コメント (0) | トラックバック (0)

2005年11月 7日 (月)

Linkstationフラッシュ

linkstation V1.4X系のフラッシュは

 fl0 -- mtd3(読み出し) mtdblock3 -- 設定保存用
 fl1 -- mtd0 (読み出し)mtdblock0 -- firmimg.bin
 fl2 -- mtd1 (読み出し)mtdblock1-- bootcode.bin
 fl3 -- mtd2 (読み出し)mtdblock2-- 起動ステータス
 fl4 -- mtd4 mtdblock4 -- フラッシュ全体・以前と同じ

になっている。書き込み 読み出しはcatでやる。

なお書き込みは5分ぐらいかかる。赤ランプ点滅が終わってプロンプトが戻ってくるまで絶対さわったらダメ

| | コメント (0) | トラックバック (0)

2005年10月30日 (日)

linkstationのfirmimg.binの改造

まずhttp://www.geocities.jp/trstat/firmhack.html#telnet にあるfirmimgtoolをいただいてくる。

./firmimgtool -ck kernel.gz -r initrd.gz firmimg.bin

でkernel.gzとinitrd.gzを分解する。

gzip -d initrd.gzを解凍(ramdiskイメージなのでバイナリ)

これをloopデバイスとしてマウントする

mount -o loop initrd /mnt

あとは/mntの中で/etcとか細工する。これはEMモードの時なのでtelnetぐらいしか組み込めない(3M以上だとできない)

終わったら アンマウント

umount /mnt

gzip -9 initrd

./firmimgtool -imk kernel.gz -r initrd.gz -f firmimg.bin firmimg.bin.new

で完成

あとはファームアップデートでfirmimage.bin.newをfiramimage.binを差し替えて実行

| | コメント (0) | トラックバック (0)

DGL化した玄箱の戻し方

ます玄箱HGからバックアップしたbootcode.bin とfirmimg.binを用意

コンソールからrootになる。

mknod /dev/mtdblock0 b 31 0

これはいらないかも、、デバイスがないとでてきたら入れてください。

cat firmimg.bin > /dev/mtdblock0

で5分ぐらいしてから赤ランプ点滅が終了してからプロンプトが戻ってくればok

bootcode.binは戻してもあまり関係ないみたいなので今回はパス

非常に怖いコマンドなんで何があっても知りません。ミスすると再起不能になります。

| | コメント (0) | トラックバック (0)

2005年10月19日 (水)

玄箱HGDGL化telnet導入

最近のlinkstationはtelnet関連が削除されています。それで玄箱HG用のを持ってきて入れるようにします。

まず玄箱のtmpimage.tgzを共有上に転送 この例ではshare/tmpにもってきています。

rootでログイン

cd /mnt/share/tmp

tar xzvf tmpimage.tgz

すると tmpimageの配下に玄箱用の構成が解凍されますので必要ファイルをコピーします。

/usr/sbin/inetd
/usr/sbin/in.telnetd
/usr/lib/telnetlogin
/etc/inetd.conf
/etc/init.d/inetd

以上のファイルをそのままコピーすればOK 

とりあえず

「inetd」をダウンロード  /usr/sbinです。

「in.telnetd」をダウンロード

「telnetlogin」をダウンロード

「inetd.conf」をダウンロード

「inetd.etc」をダウンロード  /etc/inet.d/inetd

そして /etc/init.d/inetd start で正常に起動できれば大丈夫

自動起動は/etc/rc.d/rc2.d/S20inetdへのシンボリックリンクを作成すること。

cd /etc/rc.d/rc2.d

ln -s ../init.d/inetd S20inetd

なおrootでログインできるので、このあとはshautilsを入れてsuが動くようにします。

その後rootログインを禁止する予定

| | コメント (0) | トラックバック (0)

玄箱HGDGL化rootになりかた

rootになるのはいろんな方法があるが、下記の方法でできた。

まず とりあえずwebでユーザを作成

コンソールでそのユーザでログインする。

$mkdir /www/cgi-bin3

cd /www/cgi-bin3

hack.cgiで下記のスクリプト作成

#!/bin/sh
chmod 666 /etc/passwd

当然 chmod 755 hack.cgiで実行権を与えておいてください。白紙のページが表示されればok

他の機器からhttp://xxxx.xxxx.xxxx.xxxx/cgi-bin3/hack.cgi にアクセス

xxxxはLinkstationのIPアドレス

でもってpasswdファイルのrootパスワード消去

vi /etc/passwd

たぶんこんなふうになているのでroot:~:を空白にする

root::0:0:root:/root:/bin/bash
bin:*:1:1:bin:/bin:
daemon:*:2:2:daemon:/usr/sbin:
sys:*:3:3:sys:/dev:
adm:*:4:4:adm:/var/adm:
sync:*:6:8:sync:/bin:/bin/sync
shutdown:*:7:9:shutdown:/sbin:/sbin/shutdown
halt:*:8:10:halt:/sbin:/sbin/halt
operator:*:12:0:operator:/root:
ftp:*:15:14:ftp:/var/ftp:
nobody:*:99:99:nobody:/home:/bin/sh
marc:piuyljhblouhliu:100:1000::/home:/bin/bash

でもって保存できるはず。

それでrootでパスワード無しでログインできます。即効でパスワードを

自分のに変更しましよう。

ここまでできたらあとはtelnet導入に進みます。

| | コメント (0) | トラックバック (0)

玄箱HGをDGL化

玄箱HGをHS-DGLに化かしてみた。まったく問題なく化けた模様。

なおシリアルコンソールは必須です。

やり方

DGLにするためにはフラッシュメモリの書き換えが必要です。非常に危険な作業なんでよい子はやらない方がいいです。

フラッシュ書き換え方法

まずbuffaloのサイトから最新ファームをいただいてきます。その中にあるfirmimg.binを

書き換えるとDGLになります。

EMモードから

今のfirmをとりあえずバックアップ

dd if=/dev/fl2 of=/mnt/share/kurofirmback/bootcode.bin

dd if=/dev/fl1 of=/mnt/share/kuropfirmbak/firmimg.bin

shareに持ってきたDGL用firmimg.binを下記の方法で書き込みます。

dd if=firmimg.bin of=/dev/fl1

これで起動するとEMモードで立ち上がり、まさにDGLそのものになっています。あとはPCからHS-DGL FWUpdate.exeでフアームアップデートをすると、DGLになります。

上記2つは非常に危険です。正常にかけなかった場合 玄箱はオブジェとなってしまいます。何があっても責任は取れません。

| | コメント (0) | トラックバック (0)

2005年9月21日 (水)

玄箱HGカーネルコンパイルその2

ようやくオリジナルのカーネルでbootできた。先人たちに感謝

やりかたのまとめ

まずカーネルソースの入手は前のとおり

$ make mrproper
$ make kurobox_config
$ make menuconfig
Network device support ---> Ethernet (1000 Mbit) --->
<*> Realtek R8110S/R8169S support をselectする
そのままコンパイルするとなぜかMEMが64Mしか認識しないので無理やり128Mに変更

# vi ./arch/ppc/platforms/sandpoint_setup.c

406行目あたりにある

#else /* CONFIG_LINKSTATION_HGLAN */size = 64*1024*1024;

#else /* CONFIG_LINKSTATION_HGLAN */size = 128*1024*1024;

に変更(ほんとにいいのかな?)

$ make dep kernimg.

終了後

$ objcopy -O binary vmlinux vmlinux.binbin

# cp -p vmlinux.bin /boot/
# insmod loader.o kernel=/boot/vmlinux.bin

これでリブート後

見ると

$dmesg | head -3
Memory BAT mapping: BAT2=128Mb, BAT3=0Mb, residual: 0Mb
Linux version 2.4.17_kuro-box (root@hoge) (gcc version 2.95.4 20011002 (Debian prerelease)) #4 Wed Sep 21 14:23:58
JST 2005
KURO-BOX (C) 2004 KUROUTO-SHIKOU.

うーんん 感激 ここまでの道のりは遠かった。

あとは2.6のカーネルソースを何とか手に入れて2.6にすることが最終目標

| | コメント (7) | トラックバック (0)

2005年9月20日 (火)

玄箱HGカーネルコンパイル方法

ということで一応まとめてみる。

apt-get install gcc
apt-get install libc6-dev

menuconfig用に

apt-get install libncurses5-dev

#cd /usr/bin

#ln -sf gcc-2.95 gcc

カーネルソースをget

$mkdir /mnt/share/kerneltest/
$cd /mnt/share/kerneltest/
$wget ftp://linkstation.yi.org/pub/linkstation/kernel/linux-2.4.17_mvl21-andpoint_050131.tar.gz

$wget ftp://linkstation.yi.org/pub/linkstation/kernel/config_kurobox.040630
tar xvfz linux-2.4.17_mvl21-sandpoint_050131.tar.gz
$cd linux-2.4.17_mvl21-sandpoint
クロスコンパイル環境を作成

$rm .hhl_cross_compile

Makefile修正

INSTALL_MOD_PATH := /mnt/share/kerneltest/linux_mvl21-sandpoint/modules$

$make kurobox_config

$make oldconfig
$make menuconfig

ここでモジュールを選ぶ とりあえず

Network device support ---> Ethernet (1000 Mbit) --->
<*> Realtek R8110S/R8169S support

これぐらい あとはお好みに、、

上記がめんどくさかったら

cp ../config_kurobox.040630 .config でそのままもってきてもいいです。

$make dep

$make modulesで完了

モジュールのインストールは

#make modules install

あとカーネルコンパイル環境を作るには

ln -s /mnt/share/kerneltest/linux-2.4.17_mvl21-sandpoint /lib/modules/2.4.17_mv121/build

でリンクを張ればok

| | コメント (0) | トラックバック (0)

Debian Gnu/Linux

玄箱HGでモジュールコンパイルに苦労中 どうしても途中frscsiやらlockあたりのモジュールでエラーがでる。

原因はうちの玄箱はSargeにしているんだが、どうもgccのバージョン3.4

だとダメみたい。2.95もいれてるんだけど、、

$uname -r
2.4.17_mvl21
$ dpkg -l | grep gcc
ii gcc 3.3.5-3 The GNU C compiler
ii gcc-2.95 2.95.4-22 The GNU C compiler
ii gcc-3.3 3.3.5-13 The GNU C compiler
ii gcc-3.3-base 3.3.5-13 The GNU Compiler Collection (base package)
ii libgcc1 3.4.3-13 GCC support library

となってるんで 下記のようにgcc2.95にしたら無事 make modulesが

通った。

# cd /usr/bin
# ln -sf gcc-2.95 gcc

うーむ 玄箱は奥が深い

| | コメント (0) | トラックバック (0)

2005年8月31日 (水)

玄箱HG

2台あるのでNFSでマウントしょうと思ったら、うちのDebian化した玄箱HGには

/proc/filesystemsをみるとなーんとnfsがない。どうやらうぉううぉうさんのとこから

いただいたdebianでははいってないみたい。。ということでmodprobe nfsをやると

なんとmodulesがカーネル違いではいらない。ちなみに玄箱では2.4.17_kuro-box

HGでは2.4.17_mvl21の模様。

困った 困った ということで苦肉の策でHG添付CDの中のimage.zipを解凍して

出てきた2.4.17_mvl21をフォルダごと /lib/modulesに転送

そしたら modprobe nfsで正常に入って動いた。depmod -aでもエラーをはかず正常みたい。

これほんとに大丈夫かな?

| | コメント (0) | トラックバック (0)

2005年8月21日 (日)

玄箱 ituneサーバ

玄箱ituneサーバ mt-daapdでなんとか動作した。

http://kazz7.air-nifty.com/tekito/2005/01/itunes_1.html   ここを参考にして導入できたが、ID3TAGの文字化けがでる。

現在のmt-dapdのバージョンはmt-dappd-0.2.1.1だがうちでの環境ではmakeできず。
しかたがないので上のURLの旧バージョン0.2.0でmeke-install

0.2.0のパッチを発見

http://web.archive.org/web/20041009181004/http://onestepcloser.jp/archives/2004/08/01-141122.html

からパッチをいただいて文字化けもなく動作完了

やり方

wget  http://jaist.dl.sourceforge.net/sourceforge/mt-daapd/mt-daapd-0.2.0.tar.gz
tar zxvf mt-daapd-0.2.0.tar.gz
cd  mt-daapd-0.2.0.tar.gz/src
wget http://web.archive.org/web/20041013111912/onestepcloser.jp/src/cp932_utf8.diff

patch -p0 < cp932_utf8.diff

$ ./configure
$ make
$ sudo make install

| | コメント (0) | トラックバック (0)

2005年6月28日 (火)

玄箱HGその2

リンク: haley

apacheでSSIの実行ができずにだいぶはまった。当然ncludeオプションとかAddTypeをいじってもだめ。おまけにログはなにも残らない。単にhtmlのテキストをして解釈している模様

原因はLoadModule includes_moduleができていないためと判明

これに3日はまった。

| | コメント (0) | トラックバック (0)

玄箱HG

リンク: haley.

玄箱HGの覚書

Saroge化したHGですが、シリアルポートにつけたコンソールの文字化けが直らない。

最初はいいんだが、途中から文字化けでログインもできない。

/etc/serial.conf がだめ Sirial.confをrename またはさくっと削除

/etc/inittab に T0:23:respawn:/sbin/getty -L ttyS0 57600 vt100 を追加

これでok

| | コメント (0) | トラックバック (0)

その他のカテゴリー

Ather | debian | LS-GL | Terastation | ts録画 | Xビデオステーション | 玄箱HG