2.6.18にAndroidをポーティングする

2008/2/20の記事に書いたようにカーネル2.6.23でなくてもAndroidのポーティングに成功しています。


Armadillo-500のリリースカーネルソース(linux-2.6.18-at3)へのパッチを作成しましたので公開いたします。
linux-2.6.18-at3へのパッチ


簡単に言ってしまえば、Android特有のドライバを追加して、
OpenBinderとlow memory killerのコンパイルエラーを取るだけです。


diffファイルでは
/drivers/binder/binder.c
/drivers/misc/lowmemorykiller
Androidカーネルのものから書き換えています。
#大したことはやっていませんが、差分が気になる方はdiffを取ってみてください。


この方法だとArmadillo-500付属のカーネルをほとんどいじらないため、SDカードも苦労せずに使用できてオススメです。
なお、このパッチで動くAndroidSDKはm3-rc37aです。
それ以外のヴァージョンでは確認していませんのでご注意ください。


また、紹介した方法ではファイルシステムext3を使用していますが、
ext3のままだとNANDのバッドブロックの管理を行っていないため、長期間の使用には向きません。