Search Results for 'debian'


PS3、まだ高かった頃に買ったは良いけど箱から出してすらいなくて放置してた(ゲームないし)んですけど、やっと出してTVやなんかにつないでみました。理由は新しいファームに興味があったから。 報じられているように、1.8からDLNAクライアントの機能が入ってるというので試してみようかなと。

んで、フリーのDLNAサーバーの実装MediaTombをDebian上で試してみましたが、そこそこ調子よく動きますね。日本語が入ったメタ情報が化けるとかマイナーな問題はあるけど十分に使えそう。当初、MPEG2の動画が再生されなくて?でしたが、これはデフォルトのContent-Typeがvideo/mp2pになっているからのようで、MediaTombのconfig.xmlの設定でvideo/mpegになるよう変更したらMPEG2の動画ファイルも再生できるようになりました。その他、MP3、WAVは何もしなくても正常に再生できます。

著作権保護されていないデータはアップスキャンコンバートされるためか結構、綺麗。GLAN TANKあたり、自宅に持って帰ってDLNAメディアサーバーに仕立てようかなー。

KURO-BOX/PRO発売直後から依頼されていたKURO-BOX/PROの記事(小特集くらいかしらん)がマイコミジャーナルに載る予定です。そう遠くない将来に掲載されると思います。事情があって引っ張りに引っ張ったのですが原稿を送付しましたので…。引っ張ったのは、意地でもPCI Expressでビデオカードを動かしたかったからとか、いろいろあったのですが、お金とビデオカードにノコギリを入れる勇気がないのでやめました。内容は

  • 概要の紹介
  • 少し詳しいDebian化
  • Debian化後の電源ボタン&ファンコントロールの設定
  • USBの活用事例としてUSBサウンドの利用
  • PCI Expressリポート

という感じ。このblogでは面倒なので省略している電源ボタン&ファンコントロールを有効にする方法もきっちり紹介してます。

なんだか忙しいですよ? 1ヶ月も更新してませんでしたね。

KURO-BOX/PROのDebian化にまつわる問題(tarが駄目な件とOABI/EABIの問題)はとっくに(4月の初め頃だったかに)解決してまして、RESETボタン長押し一発でOABIカーネル+Debianにできるようになってます。

これまで行われてきたDebian化……KURO-BOX/PRO付属のEABIなuImage.buffaloをそのまま使うDebian化はEABIなカーネル+OABIなユーザーランドの組み合わせになるのでトラブル起きまくりになるため、おすすめできないです。後からOABIなカーネルに換えようとしてもEABIなmkfsでフォーマットしたファイルシステムをぶっ壊してくれるという厄介者です。

そこで、OABIカーネル+OABIなDebianという組み合わせにRESETボタン長押し一発で変更できるようにしたので、まっさらなKURO-BOX/PRO用の手順を簡単にまとめておきます。

1.

とにかくBusyboxなtarが駄目駄目なので、GNU tarに入れ替えます(以降、wgetを使用しますが、wgetを使用せずにWindowsでダウンロードしてWindowsからKURO-BOX/PROに転送してももちろんOKです)。

# wget http://w3.quake3.jp/sushi-k/pool/kuropro/debian/gnutar_kuropro.gz [Enter]

# gzip -dc gnutar_kuropro.gz >/bin/tar [Enter]

# chmod a+x /bin/tar [Enter]

これでOK

2.

OABIなfsckでHDDを初期化すればOABIなカーネルでマウントできることが分ったので、OABIなmkfs.ext3を含むDebian化キットを作成しました(無保証)。

# wget http://w3.quake3.jp/sushi-k/pool/kuropro/debian/debian_kit.tar.gz [Enter]

# tar xvzpf debian_kit.tar.gz -C / [Enter]

3.

OABIなカーネルイメージuImage.buffaloとDebianのミニルートhddrootfs.tar.gz、そしてChangeMeDevHDD、ChangeMyUbootEnv(この2つは付属CD-ROMので可)をここらあたりからダウンロードしてWindowsからKURO-BOX/PROのmtd deviceに転送します。

そして、おもむろにRESETボタン長押し。ピッという音とともにINFOランプが点滅して、10分くらいしたら終わるので(HDDの容量によって時間は違います)再起動。これでOABIなカーネル+OABIなDebian etchにKURO-BOX/PROが切り替わります。カーネルおよびユーザーランドがOABIで統一されているので安心して運用できます。

初期状態では192.168.1.81/255.255.255.0になっているので、SSHクライアントで192.168.1.81にアクセスして設定屋なんかを換えてください。

なお、以上の動作を、すべてのケースで保証することはできません。ほとんどの場合、問題なくDebian化できると思いますが、起動不能に陥ることもあり得ます。そうなったときはシリアルコンソールを使って復帰させる必要があります。そのことを承知の上で実行してください。

KURO-BOX/PROのパネルのインジケーターとかスイッチ類はシリアルでつながってるマイコンがコントロールしているようで、kなんとかdとかいうデーモンとmiconaplというコマンドでやっているらしいですね。

私は、使えてればそれで満足という著しく要求水準の低い人なので、あんま調べてないんですけど、普通は電源長押しでシャットダウンしたりできたほうが便利なんでしょうね、やっぱり。ただ、kなんとかdとかmiconaplはソースが付いてないですし、ライセンスも付いてません。ということは、常識的に考えてkなんとかdとかmiconaplはプロプライエタリなもんということで、再配布は不味いでしょう……というわけでDebianミニルートにも同梱してないです。付属のCD-ROMにマイコン仕様書というのがあって、マイコンのコントロールの仕方がでてるしシリアルだし、kなんとかdとかmiconapl相当のツールを作るのは簡単そう。つまり「ユーザーが勝手にフリーなmiconaplとか作ってね」という玄人志向な方向なんでしょう。

誰もやらないなら作るかなあ。でも要求水準の低い私では水準の低い物しかできないし、だれかやってくれませんか?

あと、EABIは謎。理屈の上ではEABIオンのカーネルと現行のDebian ARMとではファイルシステム周りなどでマイナーなトラブルが起きる可能性があるんでは? と思うんですけど、調べてみると、この筋では有名なLinkstation/玄箱をハックしような方などが、先行してDebian化されてるようです。トラブルは起きてないのかな、EABIはどうしてるんだろう?? トラブルがでないのなら、EABIオンなデフォルトのカーネルでDebianしてるのが楽ですね。

kinnekoさんがおっしゃるようにEABIオンのカーネルでDebianはトラブルが起きそうでいやな感じがするので、EABIをオフにしました。手順はコメントに書いたとおり。LANのLinuxサーバー上にKURO-BOX/PRO用のミニルートを展開してnfsで外からマウントできるようにしておき、 EABIオフでコンパイルしたカーネルでnfsrootでマウントする、という感じ。

nfsrootで起動してしまえば、あとはディスクのパーティションだろうがmkfsだろうが自由自在ですから、思うようにパーティションを作って、そこにミニルートを展開して/etc/fstabを書き換えて起動、と。いずれにしても、シリアルコンソールなしには出来ませんです。

あまり関係ないですけど、KURO-BOX/PROのカーネルはデフォルトの設定でもIP_PNPオン、NFS ROOTもオンでディスクレスnfsrootで起動できるよう作ってあるんですね。そこらあたりが組み込みっぽい。

kurobox:~# cat /proc/version
Linux version 2.6.12.6-mda2 (root@kurobox) (gcc バージョン 4.1.2 20061115 (prerelease) (Debian 4.1.1-21)) #5 Thu Mar 15 13:26:21 JST 2007
kurobox:~# lsmod
Module Size Used by
snd_usb_audio 64704 1
snd_pcm_oss 51104 0
snd_mixer_oss 16064 1 snd_pcm_oss
snd_pcm 84008 3 snd_usb_audio,snd_pcm_oss
snd_page_alloc 7492 1 snd_pcm
snd_usb_lib 15104 1 snd_usb_audio
snd_seq_midi 7136 0
snd_seq_midi_event 7520 1 snd_seq_midi
snd_seq 56488 2 snd_seq_midi,snd_seq_midi_event
snd_timer 21508 2 snd_pcm,snd_seq
snd_rawmidi 22400 2 snd_usb_lib,snd_seq_midi
snd_seq_device 7720 2 snd_seq_midi,snd_rawmidi
snd 44664 9 snd_usb_audio,snd_pcm_oss,snd_mixer_oss,snd_pcm,snd_seq,snd_timer,snd_rawmidi,snd_seq_device
soundcore 7748 1 snd

KURO-BOX/PROで音楽鳴ってます。

セルフコンパイルできました。そのメモ。

  • 付属CD-ROMの中にカーネルソースが入ってる。クロスコンパイル用になってたけどセルフでビルドしたい。
  • ビルドにはmkimageが必要。u-bootのソースから作成。バイナリはこちら。.debは作りづらいのでtar.gzです。
  • KURO-BOX/PRO付属のカーネルはEABIがオンになっている。EABIはgcc-4.1からサポートのようだがKURO-BOX/PROのカーネルはgcc-3.5?にパッチを当てたものを使ってクロスコンパイルしているようだ。
  • Debian etchでapt-getできるのはgcc-3.4とgcc-4.1。EABIをオフにすればgcc-3.4で付属のカーネルソースのビルドが出来るが、xfsのマウントで異常を起こす。たぶん、EABIオンのxfs_toolsでフォーマットしているため?だろう。
  • 一時中断
  • 仕方がない、gcc-4.1でコンパイルできるようにするか、面倒だなあ。
  • gcc-4.1でビルドしようとするとエラーが出まくり。warningがうざいしエラーで止まる。ごそごそと場当たり的に修正。差分はここ。ビルドできた。
  • とりあえずビルドした.configはこれ。
  • 起動にも成功。ただ、ERRORインジケータの点滅が止まらない(実害無し)。何か必要な情報がmiconに送られてないみたいだ?

というわけで、カーネルがセルフコンパイルできるようになりました。Debian etchでapt-getできるgcc-4.1を使ってmake uImageでコンパイルできます。arch/arm/boot/uImageができるので/dev/sda1(起動用カーネルが入ってるパーティション、ext3)にコピーして再起動してu-bootのext2loadコマンドで起動させればOK。uImage.buffaloって名前でコピーすれば、u-bootで勝手に上がってくるが、シリアルコンソールをもってない人には正直お勧めできない。

USBサウンドユニットをつないでalsaplayerで音楽が聴けるようになった。便利便利

KURO-BOX/PRO用のDebian化ミニルートをアップデートしました。

ダウンロードはここから

あんま変えてませんけど/tmpのパーミッションをまともにするなど少々の手直しをしています。

  1. HDDを取り付けている場合、telnetでKURO-BOX/PROに入って/mnt/disk1からHDDをアンマウントしてfdiskコマンドを使いHDDの全パーティションを消して再起動させます。HDDを取り付けてない状態、あるいは、まっさらなHDDの状態なら、その状態のままで以降を実行します。
  2. WindowsからKUR-BOX/PROのmtdという共有フォルダに、付属のCD-ROMのdevelopment_kitの下にあるChangeMeDevHDD、ChangeMyUbootEnv、uImage.buffaloをコピーします。さらに、ここからダウンロードしたhddrootfs.tar.gzもコピーします。mtdの下に合計4つのファイルがあることを確認します。
  3. おもむろに裏面にあるRESETと書いてあるスイッチを長押しします(およそ10秒)。するとINFOインジケータが点滅を始めます。点滅中はインストーラが作動中です。
  4. 点滅が終わり、HDDアクセスも止まったようならKUROBOX/PROを再起動させます。
  5. Debian箱の完成。IPアドレスはDHCPから取得、SSHクライアントでログインしてください。一般ユーザーkuroboxパスワードkurobox、rootのパスワードはkuroadminです。

KURO-BOX/PROの起動先を変えるのは危険を伴う行為ですんで、すべては自己責任でお願いします。私は何が起きても責任はとれません(シリアルコンソールが使えるなら、KURO-BOX/PROが再起不能になることはありません。シリアルコンソールがない、シリアルコンソールの使い方が分らないという人は再起不能も覚悟の上で実行してください)。

# 変更点(覚えてるのだけ)

  • /tmp、/var/tmpのパーミッションをa+rxw、+tに変更
  • 無意味に起動してたgettyを起動しないように変更
  • /dev/null、/dev/zeroなどのパーミッションを確認
  • /dev/sda4を作った

# 追記

KURO-BOX/PRO標準のtarはbusyboxでした。ですんで、hddrootfs.tar.gzのパーミッションをいくらいじっても反映されないです。手動でパーミッション変更するしかなさそうです…。

KURO-BOX/PROのDebian化はアップデートしてます。

こちらの記事も参照してください。以下、古い記事です。

—————————————————–

(more…)