ホントに0からのsnes9x for iPAQ36xx,38xx (自己責任で)
とにかく、iPAQ Linuxでsnes9xやりたいがノートPCも無いし、
Linuxも全く分からないという方、お待たせしました。
実はできるんです。
必要なものは、iPAQ(36xx,38xx)と64MB以上のCF(または、マイクロドライブ)と、
いつも使ってるPC(母艦)だけ。
こちらのサイト(BlackNet dualboot for iPaq)に
ホントに0からのDualBootのLinuxのイメージ[
勝手に命名(笑)]が公開されています。
※現在、BlackNetさんのサイトにつながらないようです。
Downloadのipaqfdisk.zipは、このBlackNetさんのXのイメージにiPAQ自身のみで
CFをfdiskを行えるようパッケージをいくつか加えて限界までサイズを小さくしたものです。
(なのでrootイメージの中にほとんど空きがありません。SNES9Xのパッケージもインストール済み。)
まず、ここにあるboot.zipとx.zipをダウンロードして解凍しておきます。
boot.zipと解凍するとbootフォルダの中に下の3つのファイルが確認できます。
zImage
initrd
params
x.zipを解凍しすると
linux.img
上のファイルを確認できます。
あとFamiliar(0.5.1)とDualBootの項の参照して
パロットを書き換えるところまでを同様に行いますが、もう一度復習ということで…。
まず、”Bootloader Installation Instructions”で
Bootblaster_1.18.exe をダウンロードします。
そしたらiPAQにActiveSync等を使ってこのファイルを転送して実行します。
Flash - Save Bootldrを選択し、標準で入っているパロットをバックアップしておきます。
iPAQのメモリーの My Documents 下に saved_bootlder.bin という
ファイル名で保存されるのでこれを母艦へコピーして大切に保管しておきます。
そして判りやすいように、今回はこの saved_bootlder.bin を
parrot_bootldr.bin という名前にリネームしました。
bootldrファイルに関しては安定版のbootldr-2.18.45.binをダウンロードしておきます。
My Documentsファルダを作り下の2つのファイルを移動します。
bootldr-2.18.45.bin
parrot_bootldr.bin
iPAQにCFを挿してまず、PocketPCのファイルエクスプローラを
起動してメモリーカード内のBootBlaster_1.18を起動します。
下のメニューの”Flash"の中の”Program”を選択すると
”BootBlaster Warning"が出ますので”はい”を。
するとファイルの選択画面になります。
ここで”boorldr-2.18.45”(.bin)を選び”はい”でiPAQの標準のパロットが
書き換わります。(画像は、2.19.8.binになってますが。)
(もし、元のパロットに戻したいときは同様に操作して
”parrot_bootldr”(.bin)を選択します。フルリセット時にオウムが現れます。)
後はCFに解凍したbootというフォルダと解凍したxのlinux.imgを
ActiveSyncなどを使用して(とにかく)転送します。
これでDualBootなCFの完成です。
あと、snes9xがしたいのであれば、snes9xの.ipkファイルと
rom(ここでは以前紹介したpacman.smc)が必要です。
snes9xの.ipkファイルはsnes9xの項で紹介したZaurus用のでも一応動きますが、
Familiar unstableでsnes9x_20021118-1_arm.ipkが公開されているのを
みつけたのでこちらでのインストール法を紹介しますので、
それぞれファイルをCFに転送しておきます。これで準備OKです。
(画像のlinux.imgの容量は100MBとなってますがこれは作り直したものですので。)
(この後はiPAQでの操作になりますのでRAMのバックアップを取られてから
行われた方が良いかと思います。RAM内は出荷状態になりますので。)
アクションボタンを押したままリセットします。
するとペンギンが書かれたARM Bootloaderが表示されます。
CFから起動させるので”Boot VFAT HDD/CF”と矢印で指し示された
Qと書かれたボタンを押します。(ボタン3)
しばらくすると画面が消え左上にペンギンがでてBootが開始されます。
初めてBootする時は立ち上るのに120秒ほどかかりますので
気長に待ちます。(以降は60秒ほどですが…)
画面が表示されて下のMenuよりまずは
- Configuration - Touch Screen - Calibrate を選んで下さい。
できたら、Menu - Configuration - Touch Screen - Save Settings
としてセッティングをセーブしておくと次回からやらずに済みます。
次にMenuからTerminalを起動して、キーボードも表示しておきます。
既に/dev/hda1(CFの第一パーティション)は、/mnt/hda/にマウント済みなので
# cd /mnt/hda/
# ipkg install snes9x_20021118-1_arm.ipk
で早速snes9xをインストールして
# snes9x pacman.smc
でromを指定して起動させます。
(キーボードを最小化しておきます。)
できたでしょうか?Zaurus用の方ではキーマップの設定をしなければ
ならなかったのですがこれは、このままいけます。
ちょっとボタンの配置が異なるようですが…。
snes9xの終了は右上のXで。Familiar(多分0.5.2)の終了は
Menu - Utilities - Reboot か terminalからreboot。
このDualBootは、パーティション無しでFATのみのCFでもいける究極形態かと。
要は、linux.imgのファイルの中にLinux(ext2 or 3)なルートイメージを
入れているというわけです。
もう、気が付かれた方もいらっしゃるかと思いますが、これと他のものを
組み合わせれば簡単にMultiBootもできます。Familiar0.4とを組み合わせると
CF一枚に、3つ以上のLinuxを詰め込むことが可能。
(38xxの場合は、紹介したものの中ではMelon ver2とのみ可能)
それがどうした。と言われればそれまでなのですが、面白いじゃないですか?!
ただ、他のDualBootに比べ、ややBOOTに時間が掛かるのが欠点ですが。
とにかく簡単に、iPAQでsnes9xをやりたい方は特におすすめです。
(注意!RotationをするとMenuが選択できなくなることがあるのでしないほうがよいでしょう。)
あと、linux.imgは約54MB程あるのですがこれを一つのパーティションと
考えるといろいろなアプリを入れるのであればlinux.imgの大きさを変えなければなりません。
snes9xだけであればromは、別にlinux.imgのなかに取り込む必要も無いので
CFの容量を考えるだけで、このままで遊べると思います。
はじめからこれを紹介してくれれば。と思われた方も多いかと思いますが
コレを理解するにはやはりganさんから教えていただいたsnes9xやMelon、FamiliarとDualBoot
などの基礎知識が無ければ無理でしたので。(やっと最近、僕も分かったと言う感じでした。)
もう少しiPAQでLinuxを使ってみたい方は、ぜひ初めの項目から目を通してみられることを
おすすめします。
また、BlackNet dualboot for iPaqにあるopie.zipを解凍したlinux.imgをx.zipのものと置き換えると
開発が止まってしまったiPAQ用のQtopiaの互換OpieとDualBootを体験することができます。
最後に、このイメージをつくり公開してくださってるBlackNetさんに感謝しております。
ありがとうございました。
(2003年3月24日)
(2003年10月3日 修正)
(2004年8月3日 追加)