kumama go言語とかgolangとかGAEとかネットサービスとかその他色々・・・

7Apr/10Off

Jolicloud on vaio p インスタントモード入替

ガジェット系の話は別 Blog でやろうと思ってたけどあまりにもこっちの Blog の更新ねたが無いので。

とりあえずこれを。

使ったのは jolicloud の PreFinal。 GMA500 というか poulsbo のドライバは標準で入ってるものの微妙にエラーで X が vesa でしか起動しないので ubuntu 9.10(Karmic) 用のスクリプトでpsb関連を再導入。

HardwareSupportComponentsVideoCardsPoulsbo - Ubuntu Wiki

導入前は非常に遅い。使えない。アイコンのエフェクトとか駄目駄目。画面狭いといい事なしですがドライバ導入でいい感じに。アプリ起動時にアイコンがクルって回るのが可愛くてお気に入り。Firefox, chrome が普通に使えるしインストール後のサイズが2G程度、日本語入力も簡単に設定できる。

Ubuntu notebook rimix とか moblin とか chromeos とか android も色々試したんだけど今ひとつ気に入らず。jolicloud は気に入っています。XMB捨ててでも入れ替える価値あり。

XMBボタンで起動出来るインスタントモードは巷で言われているように kernel.pam と initrd.pam で kernel と initrd が指定されてます。って事でそれを書き換えればOK…。とは行かないのが悩みの種。

インスタントモードの構成ファイル中、 rootfs とか menu が ext2 でマウントできるのに対し initrd だけはフォーマット不明。 tar とか gzip とか bzip2 とか cpio とか lzma とか lzo とか cramfs とか色々試したけど不明。 kernel.pam って corel の Instant on の機能のように言われてるけど本家Instant on自体は grub2 使ってるみたいでこの kernel.pam を利用するブートローダーは EFI の InsydeH2O の機能の様な気がします。

それはさておき windows パーティションに rootfs のファイルを置いて loop マウントしたかったのでどうしても initrd が必要…でも上の通り inited のフォーマットがわからず、試しにcpio+gzなinitrdを置いても読んでくれない。Instantモードでxterm起動して見てみると device ram0 で minixfs なので initrdなのは間違いないんだけど…。

って事で逃げ手で、Linux の 2.6 から使える initramfs を使って kernel に initrd を抱き合わせました。昔ってinitrd.gzを単純に連結したらOKだった気がするんだけどARMだったかな。うろ覚え。initramfs は kernel を再構築する必要が有ります。

kernel再構築時、.configのCONFIG_INITRAMFS_SOURCEにinitrdのディレクトリを指定するだけ。インストールした jolicluod から /initrd.gz を持ってきて展開。後、loopbackマウント用にchroot周りシェル書かないと駄目かもと思ってたんだけどjolicloudの(ubuntuの)/initが優秀でオプションだけでいけました。bzImageサイズが10M超で駄目かとも思ってたけどこれも無事読み込んでるみたいで危惧に終わりました。駄目だったらkernel.pamからgrub起動して(realmodeに戻る必要が有るけど)そこからkernel起動かとかも思ってたもののそこまでせずに済んで一安心。

起動時間短縮のために不要kmod削除しようかと思ったもののまぁ我慢できるレベルって事で。今後の改善点。

ここ一年弱Pがメインマシンです。AndroidとかLinuxとかビルドしたり画像系の作業する時は流石にデスクトップでやってますがpythonのGAEぐらいならPで十分。