スキップしてメイン コンテンツに移動

Android x86 をビルドする (パッチを当てる)

ビルドは通ったものの起動しないので、いろいろと原因を調べていたら
ここのパッチで片付く問題が多いようなので、面倒くさがらずに当てることにしました。

まず、パッチを当てるコマンドの使い方です。
$ patch -p1 < patchfile
オプションは、patch ファイルに書かれているファイルのパスに対して 何個のスラッシュ(/)を外してファイルを探すかというオプションですが、今回ディレクトリ構成はオリジナルのままなので、すべて -p1 で事足ります。

eee_701 のバグ修正.
$ cd vendor/asus/eee_701
$ patch -p1 < 0001-1.-added-scripts-to-build-install-image.patch
$ cd ../../..


preload-class で起動時にフリーズする問題とマウスを認識しない問題の対策.
$ cd frameworks/base
$ patch -p1 < 0001-1.-fixed-crash-caused-by-wrong-preload-class.patch
$ patch -p1 < eventhub.patch
$ cd ../..

alarmコンパイルエラーの修正. これでalarmをenableにできる!
$ cd kernel
$ patch -p1 < alarm.patch
$ cd ..

$ cd external/e2fsprogs
$ patch -p1 < e2fsprogs.patch
$ cd ../..

以上のパッチを当てて再度ビルド→USBフラッシュ作成すると
無事、起動しました~!

コメント

このブログの人気の投稿

iPhoneアプリを作る上でのモヤモヤを解消したい

フレームワークなんか使わなくてもガリガリコード書いちゃえばいいんだけど、なんか損してるんじゃないかと気になるのですよ。 でもフレームワークが自動的に色々やってくれてるのはありがたいのだけれど、何をやっているのか気になってモヤモヤしてしまう、というジレンマがあったりなかったり。 という訳でまずは、Xcode で Empty Application と Single View Application (Storyboard付き)で何か違うのかを調べてみた。 単純にコードの差分を比較すると以下の違いがあることがわかる。 追加されているファイル: ViewController.h ViewController.m MainStoryboard.storyboard ViewControllerはUIViewControllerからの派生で、viewDidLoadとdidReceiveMemeoryWarningだけがオーバーライドされただけのひな形。 MainStoryboard.storyboardは、ViewControllerとFirstResponder, Exit ViewControllerにはUIVIewが1つだけ配置されている。 ここまでは、ひな形が追加されているというだけなので、特にモヤモヤはなし。 次に差分のあるファイル:  app-info.plist  AppDelegate.m app.xocdeproj/project.pbxproj app.xocdeproj/project.xcworkspace/xcuserdata/cozy.xcuserdatad/UserInterfaceState.xcuserstate app.xocdeproj/xcuserdata/cozy.xcuserdatad/xcschemes/test.xcscheme  app.xocdeproj/xcuserdata/cozy.xcuserdatad/xcschemes/xcschememanagement.plist とりあえず、app.xcodeproj中身については脇に置いておこう。 app-info.plistは、以下の2行が追加されている。     <key>UIMainStoryboardFi

repo init の使い方覚書

Androidのソースコード管理ツール repo についての覚書. 使用例 repo init -u git://android.git.kernel.org/platform/manifest.git -b cupcake -u URL "URL"にはマニフェストファイルのリポジトリのURLを指定する. 通常は git://android.git.kernel.org/platform/manifest.git を指定する. -b REVISION マニフェストファイルのブランチまたはリビジョンを指定する. どんなブランチやリビジョンがあるかは、 http://android.git.kernel.org/platform/manifest.git を参照. 省略すると"master"になる. 一度作成したrepoクライアントのマニフェストファイルのブランチは repo init -b で変更できる. ただし、変わるのはマニフェストファイルのブランチのみ. ソースコードに反映させるには, repo sync が必要. -m NAME.xml 初期化時にrepoクライアントに作成されるマニフェストファイルのファイル名. 省略すると default.xml になる.

Ubuntu で emacs の Ctrl + Space で Mark set できない問題

Ubuntu 9.04 のデフォルト環境で emacs を使っているとき、 Ctrl + Space でマークをセットしようとすると SCIM(IME) が 立ち上がってマークができません。 Ctrl + @でもマークを設定できるバインディングになっているみたいですが 長年、Ctrl + Space を使ってきたので、SCIMを起動させなくする方法を調べました。 1.[System] -> [Preferences] -> [SCIM Input Method Setup]を起動。 2.左のリストから、[FrontEnd : Global Setup] を選択。 3.[Hotkeys] の [Trigger] の [...] ボタンを押して、Select the trigger keys を起動。 4."Control + space" を選択して、[Delete] ボタンを押す。 5."Control + space" が消えたら、[OK] 6.更に SCIM Input Method Setup も [OK] で閉じる。(ダイアログが出ても[OK]でOK) これで、スッキリしました。