なんだか危ういMaemo5/Fremantle環境のバックアップとして、Mer(0.17testing11)をmicroSDにインストールしてみた記録です。
とりあえずLXDEおよび拙作clickhack900のセットアップまで。
お決まりの注意書きは一番下です。
必要なもの
- N900
- 空のmicroSD(2GB以上)
- 転んでも泣かない根性
下準備
- microSDにext3フォーマットされた2GB以上のパーティションを作る
$sudo apt-get install gparted dosfstools"Memeory card format unsupported"などと出ますが問題なくフォーマットできます。
$sudo gpartedbin
- ここからMerのrootfsをダウンロードする
- qole氏のrepositoryからfanoush氏製bootmenuをインストールする
- AppMgrに登録してある人はAppMgrでbootmenuと検索、インストール
- してない人はここから直接.debをダウンロードの上、root権限で
dpkg -i bootmenu_1.6_armel.deb
キーボード全開の状態で起動するとブートメニューが出ます。
- gnuなtarをダウンロードする
ここからダウンロードしたdebを
dpkg-deb -X tar_1.14-2.1osso_armel.deb /opt/tmptarとして展開しておきます。
インストール
- merのrootfsを展開する
(少なくともext3な第二プライマリパーティションは自動でマウントしてくれない様です)
mkdir /media/mmc2merのrootfsを展開します。
mount -t ext3 -o noatime /dev/mmcblk1p2 /media/mmc2
cd /media/mmc2
/opt/tmptar/usr/bin/tar --numeric-owner -pzxf /home/user/MyDocs/mer-armel-n900-rootfs-v0.17testing11.tar.gz
- firmwareファイルをコピーする
cp -Ra /lib/firmware/* lib/firmware/どなたか俺はクローズドソースは好かん!という方がcatでゴリゴリとデバイスドライバなり書いていただけると皆ハッピーでラヴアンドピースになれるかと思います。
- bootmenu用のコンフィグファイルを作成する
/etc/bootmenu.d/以下に以下のような内容で拡張子.item(例:merp2.item)のファイルを作成します。
今回は2番目のパーティションにインストールしたので、
1行目のITEM_NAMEには"partition2"、3行目のITEM_DEVICEには"p2"という文字列が含まれています。
ITEM_NAME="Mer (external SD, partition 2)"耐障害性は落ちてしまいますが、ITEM_FSOPTIONSにdata=writebackと付け加えるとちょっぴり高速かもしれません。
ITEM_ID="mer"
ITEM_DEVICE="${EXT_CARD}p2"
ITEM_MODULES="mbcache jbd ext3"
ITEM_FSTYPE="ext3"
ITEM_FSOPTIONS="noatime,ro"
- いったんMerを起動してユーザー登録などを済ませる
起動直後バイブレーションが作動しNokiaのロゴが出ますが、このタイミングでキーボードが開いていればBootmenuに入れます。
方向キーとReturnキーで先ほど登録したMerを選択して起動します。
ただし、バックライトオフの状態でMerを起動するとヒドい目に会うので、ツいていなくて点いていない場合はShutdownを選択。
キャリブレーションに始まるユーザー登録が済んだら、重いhildon-desktop*1を操作してxtermを起動し、
sudo rebootと入力してCtrl+m。パスワードは先のウィザードで入力したモノです。
今度はキーボードを閉じた状態で起動するか、BootmenuでFlashを選ぶかしてMaemoを起動します。
*1
ハードウェアアクセラレーションを効かせたMerの動画なんかもあるのできっともうすぐサクサクしてくれるはず。
- LXDEをインストール
mount -t ext3 -o noatime /dev/mmcblk1p2 /media/mmc2現状デフォルトのhildon-desktopはごらんの有り様なので、代わりにネットブック用軽量WMとして名を馳せたLXDEを使います。
まずeasy-debianに同梱のシェルスクリプト/sbin/debianを用いてmer環境にchrootします。
(多分chrootコマンド単体でも必要十分です。)
debian(もしくはchroot) /media/mmc2なにはともあれupdateし、続けてLXDEをインストールします。
apt-get update一方グラフィカルなログイン画面なんていらねえ族は、代わりに
apt-get install lxde lxlauncher
apt-get --no-install-recommends install lxde libgtkstylus lxlauncher終わったらexitもしくはCtrl+dでMaemoに戻ります。
su user
echo "exec startlxde" >> -/.xinitrc
chmod +x -/.xinitrc
- LXDEでNetworkManager(nm-applet)のアイコンを出す
NetworkManagerがLXDEのタスクバーに出ません。
そこで/media/mmc2/etc/xdg/autostart/nm-applet.desktop内OnlyShowInの値を
OnlyShowIn=GNOME;XFCE;LXDEと書き換えるか
#OnlyShowIn=GNOME;XFCE;とコメントアウトすれば、この問題を解決できます。
- キーマップを入れ換える
cd /media/mmc2/usr/share/X11/しかしこの方法では”Shift+Fn+”という修飾が有効にならず、
mv xkb xkb.old
cp -Ra /usr/share/X11/xkb .
またFn+方向キーのコンビネーションが無視されたり、GDMでログインできなかったり(!)するので、さらにXmodmapを利用します。
何処でもいいですが、例えば/media/mmc2/etc/gdm/Init/.Xmodmap.n900といったファイルを作成し、以下の内容を書き込みます。
keycode 36 = KP_Enterついでに/media/mmc2/etc/gdm/Init/Defaultの冒頭9行目あたり(つまりgdm_which()の直前ですね)に
keycode 74 = Tab
keycode 73 = Escape
xmodmap /etc/gdm/Init/.Xmodmap.n900という一文を挿入します。
これで一応F7(-キー)でEscape、F8(+キー)でTabが打てるようになり、GDMからログインが可能になりました。
- 右クリックを可能にする
というかインストールされたlibgtkstylusによって長押しによる右クリックは実現されているので、正確には”別の方法で”可能にします。
ここからclickhack900.gzをダウンロード後、
mv clickhack900.gz /media/mmc2/usr/local/bin/加えて前出の/media/mmc2/etc/gdm/Init/Defaultの冒頭に
gunzip /media/mmc2/usr/local/bin/clickhack900.gz
/usr/local/bin/clickhack900 &と書いておくことで、Fn(青い矢印キー)を押している間 タップが右クリックになります。
もちろんドラッグ*2もできます。
(実際には単に/dev/input/event1の内容を拾って適宜xmodmapを実行するだけのhackと呼ぶのは憚られるシロモノだったりする)
*2
(こんなのセキュリティ的に)ダメ・ゼッタイという方はlibgtkstylusをお使い下さい。
- 再起動してもう一度Merを立ち上げてみる
再起動してBootmenuからMerを選択し、
Mer0.17testing11自体が正式リリース前でややバギーだったり、キーマップの問題から目をそらしていたり、バッテリー残量表示がなかったり*3しますが、ひとまず。
*3
これとバックライト調節に関してはdeblet時代の遺産が使えるのかもしれない。
ネタ元
http://mer-project.blogspot.com/2010/01/dual-booting-mer-on-nokia-n900.html
最後になりますが、お決まりの注意書きです。
この記事は、将来的にもっとボケが進行したり、トミー・リー・ジョーンズに記憶を消去されたり、自動車事故で15分ごとに記憶を失う障害を負い恋人の顔も思い出せない状況で進行する怒涛のクライム・サスペンス!な状況に陥ったときの備忘録であり、内容の正当性はまったく保証されません。過度な期待はしないでください。
0 件のコメント:
コメントを投稿