■iPadを、電子ブックよりもPDAよりも、PCとして使うという心意気でがんばる■
Apple iPad (Jailbreak) |
買ってからやっていったことを、Web1.0形式でお送りいたします。
Jailbreak非関連はこちら→■
この下のことは、完全に iPad の保証外のことをやっています。
くれぐれも、リスクを考えた上で。何かあっても自己責任でよろしくお願いします。
Jailbreak後のiPhone/iPadを狙ったウィルスがすでに存在しており
運が悪ければJailbreakしてから数分のうちに感染してしまうこともあります。
パスワードの変更、RSA認証を必ず行うようにして、SSHを使わないときはOFFにするようにしましょう。
2010/06/06 セルフコンパイル環境構築 |
iPadのJailbreak環境では、以前の定番であったコマンドターミナルのMobileTerminalが正常に動作しないらしいです。
一番快適な環境は、ローカルでsshdを起動して、SSHターミナルのiSSHを用いてローカルでssh接続をすること。CtrlやAltの入力もできるし、カーソルキーも使えるし、半透明キーボードも使える。
こんだけ快適にターミナルが使えるのであれば、ここでコンパイルしたくなるのが当然でしょう。以前、iPod touch OS 1.xの頃のことを思い出しながら、構築を開始しました。
セルフコンパイル環境については、まだあまり情報が出てなかったのですが、ひとりぶろぐさんの情報などを元にして作業しました。作業内容はあとでまとめて書いたので、記憶違いとかありそうなので、なにかありましたら、Twitter(@nochina)のほうに連絡ください。
まずは、Hello,Worldがコンパイルできるようになるところまで。
1.libgccの入手とGCCインストール
CydiaからGNU C Compilerを入れようとすると、libgccを先に入れてくれ、と言われます。こちらの方法で、libgccを入れてください。その後、GNU C Compilerをインストール。あと、C標準ライブラリヘッダを入れるためにiPhone2.0
toolchainもインストール。(これでインストールされるiPhoneフレームワークヘッダは2.0用のものなので、これを用いてもiPhone/iPad用プログラムのコンパイルはできないです。)
2.不足しているlibファイルのコピー
ここまでくればHelloWorldのコンパイルまではできますが、libSystemが足りないといわれてリンク時にエラーになります。
このあたりのライブラリファイルは、iPad内の巨大な1つのファイルに固められた状態で存在します。これを分解する必要があります。ひとりぶろぐさんの情報に従い作業します。
・http://code.google.com/p/networkpx/downloads/list より dyldcache を入手。
・iPadターミナル上で、
> ./dyldcache /System/Library/Caches/com.apple.dyld/dyld_shared_cache_armv7
を実行し、ライブラリを分解。(10分ぐらいかかります。)
・実行したディレクトリのout というフォルダに分解されたライブラリファイルができているので、rootになって、必要なものを/usr/local/lib/か/usr/lib/にコピー。
・とりあえずHelloWorld用に libSystem.dylibをコピーしました。
ここまでくれば、コマンドライン用プログラムならコンパイル・リンク可能になっていると思います。CydiaからMakeとかも入れときましょう。
ワールドさんこんにちは!
フレームワークを用いたiPad/iPhone用のプログラムをコンパイルしたいのであれば、この後、ヘッダをダンプしたり、さらに必要なlibをコピーしたり、とかやっていくことになると思います。
セルフコンパイルできたので、iPod touch1.xの頃に一度コンパイルしたZ80マシン用共通OS「S-OS」のコンパイルを行ってみました。
動いたー。けど、横が80文字以上無いと起動できないのでした。横向きにして起動すればOK.。
横向き起動で無事起動。しかしながら、「D」コマンドで取得できるはずのファイル一覧がうまく取得できていない様子。うーん?
「L」コマンドでの読み込みは成功しているようなので、ディレクトリ一覧の取得だけがうまくいっていないみたいです。
FuzzyBasicも無事動作。
Macinto-CもOK。iPod touchと比べて画面広いので全部入りきります。
起動した後なら、縦画面にしても大丈夫です。インベーダゲームが高速で動く。
ここでコンパイルしたS-OSの元ソースは、UNIX用にポーティングされたものなのですが、ダウンロード元ページがNot Foundになってしまっていました。連絡が取れて、許可をもらえましたら、ソースとバイナリを公開しようかと思っています。
2010/05/30 機能面では日本語化Kindleと同等になった |
スクリーンショットは後日に撮影してますので、日付とか状況とかはそのときのものとは限りません。
感想・質問は→のちな(nochina@hamkumas.net)までどうぞ。
2010年05月28日作成
2010年05月31日更新