Category Archives: PS3Linux
恥ずかしい提案
PS3に ubuntu を入れて、使っていることはこのブログでさんざん述べた。現在は会社の同僚の助けを得て、色々とセッティングしてXなしで動作させている。
で、起動時に kboot ってのが立ち上がるんだけど誤解していたのが、これは [enter] が必須だと思っていたのだ。で、kboot を無理やりこなすデバイスなんかも考えていて、それの提案なんかしたんだけど、べつに [enter] なしでも起動は進むのだ!!
これはショックでしたよ。
で、今はネットワーク以外に何も接続されていない状態です。ディスプレイの出力もさっき来た地デジチューナーに奪われてしまったのでした。
まぁ、ssh があるんでソフト開発にはなんの問題もないんだけどね。
Digital Terrestrial Tuner
アプライアンス
PLAYSTATION3 Linux をベースにしたウェブシステムが稼働し始めた。外部に公開するわけでもない自分たちだけのシステムだが、動き出したことは大きい。可能な限り動作させてみて、問題点を洗い出すのだ。これと今開発中の SPE のプログラムを組み合わせたシステムが完成形である。みちのりはかなり長いけど、はじめの一歩はどんな長旅にも必ずあるのだ。
色々とやることは多いけど、少しだけ列記してみる。
1.固定 IP の取得による外部からのログイン
2.本格運用
とりあえず、フレームワークの理解からはじめるのだ。
システムとしての性能
PS3をホストとして、ウェブサービスを提供できないかを考えているんだけど、PCとしての実力は??って感じ。やっぱり、ゲーム機としてのピーキーな性能を使いこなすのは難しい。2.5inch のハードディスクではデータベースなど定常的な処理に置いて、足回りの処理でかなり差が出てしまう。速めのデバイスとそれなりのメモリと CPU がやっぱり必要な感じ。
PS3でサービスさせるのはハッカー的には美しいことだろうと思うんだけどビジネスとしてはどうかな?もう、そんなにやんちゃなことはできないし。
しばらく使ってみてから検討してみようかと思います。
BS, DEL の設定
Linux で往年の VZ エディターと同等の動作をする ne エディターを使い始めたわけであるが、一カ所だけ気に入らないところがあった。
BS, DEL キーの設定であるが、これがデフォルトだといまいちだった。色々と調べてみると、Macのターミナル(PS3 にはMacから SSH 経由で入っている)の設定が問題だとわかった。
CTRL-H の設定をイネーブルにすることでこの問題が解消できた。
少しづつ、環境を整備していこうと思う。
知らなかった
VZ Editor 互換の ne を使っているわけであるが、コンソールの画面を縦/横を引き延ばしても大丈夫なのを知らなかった。
これでかなり作業が効率化できそうな予感。
今日から本格的な開発が始まるわけだ。
The last two decade
PS3Linux の cell をいじり始めているんだけど、環境自体が激重なので ssh で接続しているのは前にも書いた通りだ。で、ssh だと当然コンソールの環境なんだけど、コンソールで使えるエディターは vi とか emacs が基本だ。
最近では eclipse にすっかり慣れきっている怠惰なプログラマーに vi, emacs での開発は死ぬほどつらい。生産性もガタ落ちである。20年前の環境ですよ。現役で vi, emacs が幅を利かせているのは。X 環境ですら、gedit を使っているだめっぷりなのであるからして。
コンソールでプログラムを書かなければいけないのなら、せめて VZ くらいは使いたいよなぁー。と言うのが小生の偽らざる感想なのである。で、あるんで
すよこれが、VZエディターのクローンが!!!
まずはこれ!!
ne
作者は日本人でソースを落として来て早速、PS3Linux(ubuntu) でビルドしてみるも、下記のようなエラーが出てしまった。
1 2 3 4 5 |
gcc -c menu.c menu.c: In function ‘makev_proc’: menu.c:85: error: incompatible types in assignment menu.c:92: error: incompatible types in assignment |
実際のコードはこんな感じ、
1 2 3 4 5 6 7 8 9 10 11 12 |
void makev_proc(int a, mitem_t *mip, void *vp) { va_list args; char *p; args=*(va_list *)vp; p=va_arg(args, char *); if (p==NULL) strcpy(mip->str,"null"); else strcpy(mip->str,p); *(va_list *)vp=args; } |
何か情報がないかと探してみると、ページ内に掲示板を発見した。で、見つけたのがこのサイト。
それっぽいのでダウンロードして早速ビルドしてみることにした。configure も無いので、少しビビったけど少しワーニングが出るくらいで、ビルド完了。
で、早速、
./ne[Enter]
おぉー、なんとなく last two decade に見慣れた画面がぁー!!
特に下側に注目ですよ。これが特徴だったような気がします。
これで開発効率が高まりそうです。
しかし、最新アーキテクチャのチップ開発に約20年前のソフトを引っ張りだそうとは……。
SPE を喰らう
cell プログラミングの情報を集めようと、インターネットを彷徨ったところこんなページを見つけた。他にも FixStars なども有名だ。そこで、CTK(CellTookKit) なるミドルウェアが作成されているが、小生の環境は SDK3.0 なのでうまく実行できない。sourceforge からソースをとってこようとしても微妙にはじかれてしまう。仕方がないので最初のサイトを参考にして cell に慣れようと思う。
このサイトの作者は当初は PS3 自体を所有していなかったようだ。でも、こんだけのものを作ったわけで情熱があればある程度はいけるのだなと痛感した次第。で、最初の頃はエミュレータ環境でプログラムを組まれていたわけであるが、少しはまった。
spe のプログラムを一つのファイルにパッケージせずに別ファイルになっている。後になるとこれをワンパッケージ(CESOF)にしていたわけであるが、spe のイメージをppe のディレクトリに置かずに spe のプログラム部分がが動作しなかった。
少しコードを読んで、ようやく解決したわけだ。
実機ではない x86 アーキテクチャのPCに cell の開発環境をインストールしようと思ったが、ubuntu(debianベース)の環境には rpm のパッケージはきついみたい。もちろん、alien コマンドとかも試したけど、あまりうまくなかった。と言うことで、しばらく実機で開発を行うことにする。
RSX Hack
ついに RSX 用のXドライバが出たらしいので試してみることにした。起動しなくなったらどうしようとドキドキものだったが、画面の高速化が行われているかどうかはあまり良くわからない。いささか拍子抜けだった。まぁ、それでもこういう動きがあるのは非常にすばらしいことだと思う。ハックなくして、コンピュータ関係の進歩はないからね。
今日も環境構築。ssh でログインできるので、キーボードは外してテンキーだけにしてしまった。テンキーも外したいところだけど、kboot の時にどうしても[Enter] キーをたたく必要があるんだよね。
SPE への計算をどのように与えるかを考えている。色んな種類の計算を行うから、SPEはバラバラに使おうかと考えている。いずれにしても色々と使い込んでみないとわからないな。
実機だけだと自宅でしかプログラミングが出来ないので、シミュレータをダウンロードしにいくもなんかサーバーがダウンしているみたい。もう少ししたら、また行ってみよう。
あとはデータベースとの接続とか色々ありそうだけど、すこしずつやっていきます。
cell programming をはじめました
正月休みはこればっかりだな。以来の受けた原稿を書かなきゃいけないんだけど、こっちも優先順位が高いので、かなり困っている。
元々、数学とか計算機工学とかはあまり得意じゃないのにこういうアーキテクチャがらみのプログラミングをしなきゃいけないのはつらい。でも、ジャンプアップのためには仕方ないのだ。ssh でPS3にはログインできるようになったので、すごく便利。手元のPCでシミュレータでプログラムをしてから、実機で動作確認が簡単にできる。
SPEでどんだけのことができるか分からないけど、いまやっているような分野の計算(データが連続で来るけど、計算その物は繰り返しが多い)では威力を発揮すると思うんだけどね。CELLは。
2008年はこのあたりが中心になりそうだな。