2011年10月28日金曜日

QEMUでarm環境、そして



QEMUでARMをエミュレートしてLinuxを動かしてみました。

ARMのQEMUにDebianをnetinstallする
http://blog.kmckk.com/archives/2233167.html

を参考にインストールを試みましたが、インストーラーが途中で止まったので断念。

ビルド済みのユーザーランドを探しました(あ~あ)。

http://people.debian.org/~aurel32/qemu/armel/

にありました。debian lenny, squeezeがあるみたいです。
armel(EABI?)となっているやつじゃないとまずそうなので注意が要りそうです。

ダウンロードして、
qemu-system-arm -redir tcp:2222::22 -m 128 -M versatilepb -kernel vmlinuz-2.6.26-2-versatile -initrd initrd.img-2.6.26-2-versatile -hda debian_lenny_armel_standard.qcow2 -append "root=/dev/sda1"

であっさり起動。
redirオプションで外からSSHでつなげるようにしておいた。

で、infernoを動かしてみたところ、色が変になった。

2011年10月22日土曜日

フレームバッファでwm

フレームバッファでwmを表示させることができました(表示のみで、タッチパネルからのインプットはまだ)。
インストールガイド通りですが、感動。
Inferno 関係の人はパッケージングもビシっとするからすばらしい。

・環境
armadillo 440 液晶モデル相当。

OS:debianインストール済み。
ネットワーク:有線

・導入

足りないパッケージをapt-getでインストール

x-window-system-core
libxext-dev
gcc
make
mercurial

arm-gccコマンドがいるので、ln -s gcc arm-gccでリンク。

本流のOSを持ってくる。
cd /
hg clone https://inferno-os.googlecode.com/hg/

ひとまずそのままビルド
vi mkconfig
HOSTとTARGETとROOTを変更。
Linux/arm/binにパスを通す。
./makemk.sh
mk -s nuke mkdirs install
mk install

とりあえずarmで動くinfernoが作られる。

次に、フレームバッファ対応のコードを持ってくる。

hg clone https://bitbucket.org/santucco/inferno-fb

この中の、inferno-os/emu/を本流のemuの下に上書きコピー。
Linux-fbのmkfileを編集しろとのことなので、
vi mkfile
TARGETをなんか選べとのことなので、
TARGET=t42
とか適当にしておいた。

Linux-fbの下でmk installでビルドできるとのこと。

・実行
emu-fb
でemu起動。
wm/wmを実行すると。。。



すばらしい。
入力を受け付けないので操作はできないのですが、

wm/wm wm/bounce

とすると



と、アプリが動きます。

ちなみに、タッチパネルの種類をTARGETで選んだ理由は、出力ではなくて、
入力の都合なのではないだろうか。
t42を選ぶと、キーボードが/dev/input/event0、マウスがevent2とか選ばれるようだ。
入力についてはこれから調査予定。
USBマウスをつないでみたけど、使えなかった。

9fansメーリングリストより

9fansに衝撃の投稿が。

infernoがandroidの上で動く。(nexus sとnook)
http://9fans.net/archive/2011/09/308

ソース等
https://bitbucket.org/floren/inferno/wiki/Home

スラッシュドットでも話題に
http://linux.slashdot.jp/story/11/09/25/0718249/%E3%82%A2%E3%83%B3%E3%83%89%E3%83%AD%E3%82%A4%E3%83%89%E6%90%BA%E5%B8%AF%E3%81%A7Inferno%E3%82%92%E8%B5%B7%E5%8B%95

過去の投稿で、inferno phoneの構想をねったが、
AndroidのdalvikをDisで置き換えるという発想は出来なかった。
どうやら電話も可能らしく、かなりの力の入れよう。
動作を紹介した動画もすばらしい。

armadilloでトライしようかと考え中。
だったが、どうもAndroidが落ちるので難航しそう。

なお、メーリングリストではその他に、wmをフレームバッファで動かす試みも
話題になっていた。
これが出来ればxがいらなくなり、
linuxカーネル + Dis という環境でいけるかも。
起動時間の予測は、ハイバネーションなしで、カーネル20秒 + Dis 5秒くらいかな。
まずは、fb + linux on armadilloを試してみる予定。