Repo sync 出問題?
自從放出了 Android-x86 kernel 2.6.32 供測試之後,陸續有人反應 repo sync 出問題。其實當初在整合 2.6.32 時我也遇過這情況,只是後來問題又消失了,就未再理會。不過既然有幾個人同時遇到這現象,可見問題的確存在,值得探究一下。
到 Repo and Gerrit Discussion group 上詢問,得到 repo 作者的回應,建議加上 –trace 參數來 debug。我照做,得到的結果是:
Read more »
自從放出了 Android-x86 kernel 2.6.32 供測試之後,陸續有人反應 repo sync 出問題。其實當初在整合 2.6.32 時我也遇過這情況,只是後來問題又消失了,就未再理會。不過既然有幾個人同時遇到這現象,可見問題的確存在,值得探究一下。
到 Repo and Gerrit Discussion group 上詢問,得到 repo 作者的回應,建議加上 –trace 參數來 debug。我照做,得到的結果是:
Read more »
錄了一段影片,顯示 Android-x86 1.6 在 ASUS Eee PC 901 上經過調整的快速開機效果。約八秒鐘就可以完成啟動。
大致是從調整檔案系統以及 kernel config 檔著手。可從這裡下載我的 config 檔。細節就不多說了,請自行體會。
我已經將 Corentin Chary 移植的 Android-x86 kernel 2.6.32 上傳至我們的 git server。想要試用看看的話,在 Android-x86 的 source tree 上:
$ repo sync kernel From git://git.android-x86.org/kernel/common * [new branch] android-2.6.32 -> x86/android-2.6.32 Fetching projects: 100% (138/138), done. Syncing work tree: 100% (137/137), done. $ cd kernel $ git checkout -b android-2.6.32 x86/android-2.6.32 HEAD is now at 885c27f... kconfig: add nonint_oldconfig target from Fedora kernel Switched to branch 'android-2.6.32' $ cd .. |
然後照原來的方法 make 即可。
新版 kernel 的好處就是,許多驅動程式有所更新,也更穩定。特別是 video 和 wifi 的部分。例如原本 2.6.29 的 i915 module 在我的 Eee Top 1602 上一載入就會 crash,而換成 2.6.32 之後就正常了。
今天晚上有個 Android 的同好聚會,是由台灣 Android 中文資源站主辦,地點在台北市松江路某咖啡店裡。我將會參加,並分享 Android-x86 1.6 的開發成果。現場還會準備幾台 Eee PC 還有觸控功能的 Eee Top,讓你實際體驗 Android 在 x86 平台的魅力。如果你準備了 250MB 以上的隨身碟,我還可以幫你裝上 Android-x86 live USB 版本,讓你帶回家玩。歡迎各位 Android 同好指教。(不過如果你還沒報名,可就來不及啦…)
在釋出 Android-x86 1.6 版之後,接下來我們的重點工作都擺在 merge Android 2.0 branch,也就是代號為 Eclair 的版本上。
看版號也可以猜到,從 1.x 到 2.0 想必變動相當的大。的確,這讓我們在 merge 上吃足了苦頭。光是想辦法通過編譯,就已經十分困難。部分的修改只好暫時拿掉,日後再想辦法加上。包括在 frameworks/base 的 ethernet、部分 wifi 程式碼,以及電池狀態等。
好不容易通過編譯後,接下來開機起來就遇到問題。先是 mediaserver 會 crash。Yi 追蹤到最後,發覺是 android 的 linker 有問題,在處理 weak symbols 上似乎有瑕疵。但儘管找到了修正的方法,我們仍不明白,為何先前的 1.6 版不會產生同樣問題?
解決了 linker 的問題,在啟動 zygote 時又發覺 preloaded-classes 找不到的問題。所幸這問題比較容易,就照先前的方法,將 PhoneWindow 改為 MidWindow 即可。如此,終於讓我在 virtual box 上見到 Eclair 的第一個畫面。呵呵!
Read more »
由於 Android-x86 正逐漸受到重視,source code 的下載次數也與日俱增。但近來常收到抱怨,從我們的 git server 下載太慢,常常 timeout。這其中有些是誤會,因為並非整個 Android-x86 的 source tree 都放在我們的 git.android-x86.org 上,有大部分的東西仍要連回原本的 android.git.kernel.org 去下載,而慢的其實是那邊。
但有些情況,確實瓶頸是卡在 git.android-x86.org,甚至連 Yi 最近都常常無法 sync 成功。為此,我們決定利用 SourceForge 的 git server 做為我們的 git mirror 站。其實兩個多月前 pofeng 就幫忙在 SourceForge 註冊了同名的 android-x86 計劃。不過一直尚未利用那邊的資源。但現在是個好機會。
花了點時間,寫了一個 script,可以自動根據 manifest.xml 中指定的 branch 來 upload 到 SourceForge 的 git server 上。目前 mirror 已完成,專為 SourceForge mirror 改的 manifest.xml 也已上傳。下載方式是:
$ repo init -u git://android-x86.git.sf.net/gitroot/android-x86/manifest.git -b donut-x86 $ repo sync |
其實目前 git.android-x86.org 的流量並不大,我從台灣 sync 速度還是很快,可達每秒 2MB 以上。但據說 TANet 對國外的頻寬有限制,可能是導致國外連網效率不佳的原因。因此在歐美地區的用戶建議多利用 SourceForge 的 mirror。
至於 SourceForge mirror 多久與 git.android-x86.org 同步一次? 其實目前還是手動,有必要時才做。若運作穩定後應該會改由 script 來每天執行。此外,如果有人願捐贈機器與頻寬做為 mirror 網站,也請與我聯絡。
隨著 Android-x86 1.6 版的釋出,為了給各位辛苦的開發者一些鼓勵,讓這個計劃能更長久穩健的走下去,我們決定開始接受捐款。在主網站首頁,已經放了 Donate icon,點選下去,便會連到 Paypal 的捐款頁面。
如果真的收到捐款,能做什麼呢? 首先,當然是支付一些經常性的開銷。還好目前這樣的費用還不多,只有花費在註冊 android-x86.org 這個 domain 上,是由 Yi 先行墊付。如果收到的錢夠多,也許可以買點不同的設備來測試。特別像我就想買支 Android 的手機,畢竟玩 Android 系統已經有一段時間了,卻還沒有用過真正的 Android 手機,不免有點可惜。跟朋友借來玩個幾分鐘的不算…
如果你覺得我們的計劃做得不錯,希望我們更進一步,請考慮捐款給我們。或者,如果希望 Android-x86 能更完整的支援你的裝置,也請考慮捐贈該裝置給我們。請點選下面的圖示:
歷經四個多月的開發,我們終於可以驕傲的對外宣佈,釋出 Android-x86 1.6 的穩定版。這是幾個月來辛苦工作的結晶,也是新的里程碑。
上個穩定版是叫 0.9,為何這次直接跳到 1.6 呢? 因為與原始的 Android 採用不同的版號命名,其實會對使用者造成困擾和混淆。因此從這個版本起我們決定與底層的 Android 採用同一個版號。這個版本是根基於 Android 1.6 的,因此就叫做 Android-x86 1.6。
回首這幾個月來的開發過程,可以看出開放源碼的效益漸漸浮現。有新的開發者加入我們,包括 kernel 開發者 Corentin Chary,協助將 eeepc-laptop 與 Android-x86 做整合。他目前還協助將 Android 的相關修補合併到 2.6.32-rcX 中,並打算 push 到 mainline。如果一切順利的話,在 kernel 2.6.32 釋出時就會包含對 Android-x86 的支援了。此外,大陸的 Kelly、Swan 和 Wallace 也貢獻不少,例如 touch feature、keyboard layout change 等。我的前同事和球友 Luke 也貢獻了 vold 的修正。
這個版本最重要的特色,首推 i915 KMS 3D 硬體加速功能。這是由 0xlab 的 olv 所實作。在採用 i915/i945 系列晶片的 Eee PC 或 AOA 上,可以看出明顯的效能改善。播放影片順暢許多,使用 3D 效果的應用程式,例如 GlobalTime,也跑得快多了。
此外,無線、有線和藍牙功能的整合,可以從 GUI 介面直接調整設定。還有 Eee PC 的 Fn 熱鍵也可以使用。對於僅有觸控螢幕的裝置,也可以使用觸控來模擬 Home/Menu/Back 等按鍵。
儘管 Google 傳說中的 Chrome OS 也幾乎於同一天釋出源碼,想必搶去許多人的目光。不過,那又如何呢? 好玩就好了…
由 Kelly、Swan 和 Wallace 所提供的多國語言鍵盤布局(keyboard layout)支援,已經加到 git server 中。由於不同國家語言使用的鍵盤排列不儘相同,因此每種布局都需要一張對應表來表示。這功能可以讓 Android-x86 支援不同語系的鍵盤排列。
要改變鍵盤布局,使用者可以從 Settings -> Locale & text -> Keyboard layout setting 中選擇。接著需要重新開機才能生效。因此要使用這項功能,必須將 Android-x86 安裝到硬碟之中才行,不能使用 live CD 或 live USB 的方式執行。
Read more »
OfficeFolders theme by
Themocracy