GeForce8800 Vista 用ドライバ 100.30

ついに来た!(のかな?)
 Direct3D 10 に必要な Windows Vista が RTM し
 Direct3D 10 対応ハード GeForce8800 が発売され
 Direct3D 10 SDK も RTM したのに、
Vista 用の GeForce8000 のドライバが無くてずっと待たされ続けてました。
D3D10 どころかドライバが無いためで Vista そのものがまともに使えません。
せっかく買ったカードもずっと箱の中でした。
これでやっと D3D10 のプログラムが書けるようになります。

Forceware 100.30 (Beta)

入れてみました。
一応 Vista に install して、DirectX SDK の D3D10 用サンプルが動くことは
確認できました。ドライバが Beta だからと思いますが、D3D10 専用サンプルは
少々予想外に重い印象。まだ動作が不安定なものもありました。

GeForce8800 のデモも Vista 上で動きました。こちらはきちんと動きますね。

・Adrianne
 http://www.nzone.com/object/nzone_adrianne_home.html

・Froggy
 http://www.nzone.com/object/nzone_froggy_home.html

・Box of Smoke
 http://www.nzone.com/object/nzone_boxofsmoke_home.html

PS3 Linux カーネルのコンパイル

PS3 の Debian 版インストーラでインストールされるカーネルの config を見ると
いろいろ手が入っていて、ADDON CD (FC5) のバイナリよりもさまざまなオプション
が有効になっているようです。
試しに手持ちの USB 器機、 corega FEther USB-TX をつないでみたら
あっさり認識してしまいました。
USB1.1 用の LANアダプタ なので今ではあんまり使い道が無いのですが。
USB 無線LAN とか他のアダプタはドライバ無くてだめでした。

Fedora Core 5 でもこのアダプタが使えるようにカーネルをコンパイルしてみました。

ADDON CD 20061208 の \src からカーネルソースを適当なフォルダに持ってきます。
   linux-20061208.tar.bz2

展開します

 $ tar -jxvf linux-20061208.tar.bz2

とりあえず標準の config でコンパイルしてみます。
手順は ADDON CD の LinuxKernelOverview.html に書かれているとおりです。

 $ cd linux-20061208
 $ make ps3pf_defconfig
 $ make

ここで指定した make ps3pf_defconfig は、arch/powerpc/config/ps3pf_defconfig
を参照しているようです。
コンパイルがうまくいったので、今度は Debian のカーネル config でコンパイル
してみます。

Debian を install したドライブの /boot/config-2.6.16-ps3pf をコピーしてきます。
/mnt/usbhdd にマウントしてあると仮定してこんな感じ。

 $ cp /mnt/usbhdd/boot/config-2.6.16-1-ps3pf ./.config

module install 時に既存のシステムを上書きしないようにバージョン番号を変えて
おきます。

 $ make menuconfig

  General setup
    → Local version – append to kernel release

  ここに文字列を追加します。”-net2″ にしてみました。
  必要ならここで他の設定も変更します。

 $ make clean
 $ make

念のために、既存の module やカーネルをバックアップしておきます。
(命名を間違えて上書きしてしまわないように)

 # cd /boot
 # cp vmlinux-2.6.16 vmlinux-2.6.16.org
 # cp initrd.img initrd.img.org
 # cp config-2.6.16 config-2.6.16.org
 # cp System.map-2.6.16 System.map-2.6.16.org

 # cd /lib/modules
 # cp -r 2.6.16 2.6.16.org

元のカーネルのソースフォルダに戻って module を install します。

 # make modules_install

これで /lib/modules/2.6.16-net2 というフォルダに新しいモジュールファイルが
格納されます。

新しいカーネルを /boot にコピーします。

 # cp vmlinux /boot/vmlinux-2.6.16-net2
 # cp .config /boot/config-2.6.16-net2
 # cp System.map /boot/System.map-2.6.16-net2

新しいカーネル用の initrd.img を作ります。

 # cd /boot
 # /sbin/mkinitrd –with-usb initrd.img-2.6.16-net2 2.6.16-net2

ここで注意点。USB の外付け HDD から起動している場合上記の –with-usb が
必要です。

またこのままだと、生成される initrd.img の中の init ファイルに例の 15秒待ち
が無いので、以前苦労したように認識が遅いドライブだと起動しなくなってしまいます。
毎回生成された init を書き換えるのも大変なので、mkinitrd 自体を書き換えて
しまいました。

バックアップ

 # cd /sbin
 # mv mkinitrd mkinitrd.org
 # cp mkinitrd.org mkinitrd

書き換え

 # vi mkinitrd

「emit “mkblkdevs” 」という行が2つのあるので、2つ目の直前に「emit “sleep 15″」
を追加してしまいます。

 :
emit “sleep 15”
emit “mkblkdevs”
 :

これでもう一度 initrd.img を作ります。

 # cd /boot
 # rm initrd.img-2.6.16-net2
 # /sbin/mkinitrd –with-usb initrd.img-2.6.16-net2 2.6.16-net2

あとは kboot.conf でこれらの新しいカーネルを指定して起動するオプションを
加えるだけです。

 # vi /etc/kboot.conf

default=linux
timeout=30
root=LABEL=/

linux=’/boot/vmlinux-2.6.16 initrd=/boot/initrd.img ‘
net2=’/boot/vmlinux-2.6.16-net2 initrd=/boot/initrd.img-2.6.16-net2 ‘

net2= の行を追加しました。この場合、起動時の kboot: 画面で net2 と入力すると
新しいカーネルで起動します。
実際に reboot して net2 で起動してみます。

設定ミスがあると起動しなくなってしまうので注意してください。

うまく起動したら FEther USB-TX をつないでみます。
ウィンドウを起動して、
 「管理」→「ネットワーク」→「ハードウエア」のタブで eth1 が追加されており
 ハードウエア名の確認ができます。
デバイスのタブで「新規」ボタンを押して、eth1 を追加していくとネットに接続
できました。ルータにでもしましょうか。

Playstation3 動作確認製品

こんなページを発見しました
BUFFALO PLAYSTATION3 動作確認サプライ関連製品一覧

ストレージのカテゴリではきちんと本体 HDD の「バックアップ/リストア」の
動作確認が行われています。

以前こちらの「PS3 の HDD バックアップ方法の実験」で
大容量 HDD へのバックアップ実験を行いました。
よく調べてみると、市販されている HDD は大容量のものでも最初から FAT32 で
フォーマットされているようです。~32G まで、というのは全く心配ないみたいですね。

他にも
Logitec PLAYSTATION3 接続確認情報
ELECOM PLAYSTATION3動作確認一覧
HORI PLAYSTATION3対応についてのご案内

てくてくエンジェルその2

てくてくエンジェル Pocket with DS 日記 のその後です。いまのところ順調に育っています。
1日のノルマ設定を「自動」にしたので、最初は非常にゆるいです。
1日あたり 1000歩 から始まって楽勝気分。
2000、3000と順調に増えていき、17日越えてやっと 5000歩になりました。
・「てくてくエンジェル DS日記 まじめレビュー

が、平日は完全に余裕なものの、この辺になってくると意外に土日が危ないです。
うっかりごろごろして過ごすと 4000歩に届かないことも。

とうとう1日だけノルマ未達成の日がありました。

たった1日だけなのに!
ジェルの体力は半分に減ってキャラもまるまる太って見た目もいきなり退化です。
これはやばい。

あわてて次の日はめいっぱい歩きました。
作りがうまい。というかのせられてる。

てくてくエンジェル Pocket 側は非常にデバイスの性能も良くて、
機能も作りこんであって気に入ってます。
ノルマも未達成だと記録に残るので、ついつい気にしてしまいます。

毎日の履歴も残るし、DS との連動用パスワードもいつでも参照できます。
その日のうちに無理して DS に入れなくてもいいので気が楽です。

そんなわけでついついパスワード打ち込みをさぼっていて、
DS 側のソフトをちゃんと使ったのは最初の 4日間だけ。
打ち込んでいないパスワードが10日以上もたまってます。
次作はぜひ通信機能をお願いします。

いやむしろ、Pocket 側だけでグラフ化とかカレンダー表示してくれると
DS 持ち歩かなくてすむので嬉しいかも。

PS3 Live CD をメモリカードから起動する

LiveCD の作成&テストの前準備として、PS3 用の Debian Live CD をメモリカード
から起動してみました。
ADDON CD の HowToEnableYourDistro.html の kboot の説明によると

 1. /etc/kboot.conf がある CD/DVD
 2. ボリュームラベルが BOOTMC のメモリカード
 3. ラベルが / の HDD

の順で mount 対象になります。ここの検索で hit した場所から最初の kboot.conf
が読み込まれているようです。

今回はあまっている CF カードでテストしました。

●ボリュームラベルを BOOTMC に設定する

 Windows 側のドライブのプロパティやフォーマット時にボリューム名を BOOTMC に
 しても、コマンドラインの label コマンドを使っても、Linux 側からはどうも

  # /sbin/findfs LABEL=BOOTMC

 で見つかりません。なぜか書き換え前のラベル名が見えてしまいます。
 いろいろ調べてみたところ、FAT のボリュームラベルは2種類あるようです。

  (1) ブートセクタに書き込まれるボリュームラベル
  (2) ルートディレクトリエントリに書き込まれるボリュームラベル

 (1) についてはこちら http://triaez.kaisei.org/~s-zouda/pc/fat32.html
 のページを参考にさせていただきました。Linux の dd コマンドで直接ダンプ
 してみると確認できます。

 (2) はルートディレクトリに属性 0x08 でファイル名の一種として書き込まれる
 エントリです。

 両方存在する場合 Windows 側では (2) が優先され、label コマンドの書き換えも
 こちらに対して行われます。(2) が存在しない場合 dir コマンドでは空欄に
 なりますが「ディスクの管理」画面では (2) の代わりに (1) が表示されます。

 Linux 側の findfs では、(2) を識別することができずに常に (1) を参照して
 いるようです。

 Windows 上で (1) を編集する方法がわからなかったので、とりあえず
 HowToEnableYourDistro.html の説明通りに Linux 上でフォーマットしてみました。

 メモリカードが /dev/sde の場合

  # /sbin/mkfs.vfat -n BOOTMC /dev/sde1

 この方法で書き込んだラベルはきちんと (1) に書き込まれており Linux 上から
 検索できました。逆に (2) には書き込まれないので Windows 上からはボリューム
 ラベルがないように見えます。

●Live CD をコピーしてみる

 ボリュームラベルを BOOTMC に設定したら、とりあえず Live CD の中身をコピー
 してみます。

 Debian Live CD を Windows 上で開いて、中のファイルを全部メモリカード上に
 コピーします。220M ほどあります。

 中はこんな感じ

  DIR install
  DIR isolinux
    md5sum.txt
  DIR casper
  DIR etc

● etc/kboot.conf の書き換え

 コピーしたメモリカード上の etc/kboot.conf の中身を書き換えます。
 テキストエディタで開いて、root= の行を以下のように変更します。

root=/dev/sdc0

 ↓

root=LABEL=BOOTMC

●起動

 これで LiveCD と同じ方法でメモリカードから起動できるようになります。
 メモリカードを PS3 に挿入して起動します。(あらかじめ kboot 導入は必要)

 kboot: プロンプトでは Live CD と同じように
 こちら http://www.keshi.org/moin/moin.cgi/PS3/Debian/Live
 のリストにある Label を入力することができます。

 Debian Live CD については
 こちら PS3 Linux Debianの Live CD が来た! も参考にしてください。