Donut merging 的問題已修復

By cwhuang, 2009 年 07 月 30 日

經過幾天的努力,終於將因 Donut merging 而導致的 x86 平台無法編譯問題修好。取得 source code 的方法還是跟以前一樣:

$ repo init -u git://git.android-x86.org/platform/manifest.git
$ repo sync

趕快取回原始碼來編譯,享受一下「甜甜圈」(Android 2.0)的快樂吧!

參閱:

Android-x86 v0.9 釋出

By cwhuang, 2009 年 07 月 29 日

由於 master branch 變得無法編譯,我們決定先釋出之前的穩定版本,以方便有興趣的朋友進行測試。

這是 Android-x86 進行以來的第一個釋出版,決定命名為 v0.9 版。主要的特色有下:

  • 使用 Kernel 2.6.29,並開啟 KMS 功能
  • 提供音效支援
  • Webcam 支援
  • 支援 SD card/USB 隨身碟自動掛載
  • 支援自動偵測驅動程式
  • 支援 Ethernet (DHCP)
  • 支援滑鼠滾輪
  • 可顯示電池狀況
  • 支援待機功能(suspend to RAM)
  • 可支援觸摸螢幕 (已於 Eee PC T91/Eee Top上測試)
  • 壓縮檔案格式
  • 支援除錯模式
  • 加入 busybox
  • 可在虛擬機器上運作 (Virtual Box, Qemu, VMware)

釋出的檔案包括 live cd 的 iso 檔,以及 live usb image 檔。可從 Google code 的計劃網頁下載。

這是本計劃的一個重大里程碑,象微 Android 在 x86 平台已進入到可用的階段。希望藉此次的釋出,能得到更多人的注意,並且吸引更多有興趣的開發者加入。更詳細的訊息,請見 Release Note

參見

Android-x86 無法編譯?

By cwhuang, 2009 年 07 月 27 日

如果你 repo sync 了今天的 source tree,可能會發覺編譯不出來。這不是你的錯,這是因為 upstream 加入了重大更新,將 Donut branch merge 到 master 的緣故。

我們正在著手修改。但由於 Donut 的改變十分巨大,不確定需要花多少時間才能改好。甚至也沒把握是否能改得好…

如果你想要取得先前的穩定版本,可以用 android-x86-v0.9 這個 branch:

$ repo init -u git://git.android-x86.org/platform/manifest.git -b android-x86-v0.9 
$ repo sync

請參考

Android-x86 加入 busybox

By cwhuang, 2009 年 07 月 23 日

其實 Android-x86 早已有了 busybox,不過本來只在啟動階段的 initrd 的 script 中使用。在進入 Android 之後就不能用了。

不過很多人都反應,希望能加到 Android 之中。因此做了修改,只要在啟動參數加 DEBUG=1 或 BUSYBOX=1,在進入 Android 之後,也能使用 busybox 的工具,包括較為方便的 ash。在 Alt-F1 的 shell 也改成了 ash。要在 Dev tools 中的 Terminal Emulator 使用,只要打 ash 即可。

加入 uvesafb 和硬體自動偵測

By cwhuang, 2009 年 07 月 22 日

又有兩項新功能加入到 Android-x86 的 git tree 當中。我認為它們是如此的重要,對支援一般的 x86 平台,跨出了一大步,值得在此特別說明。

第一項是 uvesafb,就是 user space VESA frame buffer driver 的縮寫。它和一般的 vesafb 同樣都是利用 VESA 功能寫出來的 frame buffer driver。但不同的是,它可以編譯成模組,動態載入。而且可以在執行時間調整解析度大小。只是它必須藉助一個 user space 的程式 v86d 才能運作。

那麼 uvesafb 有什麼重要呢? 原因在普通的 vesafb 無法編譯成模組動態載入。在開機時便需決定是否使用 vesafb (有無加 vga= 的參數)。但若是開了 vesafb,就無法再使用其它有加速功能的 frame buffer driver,例如 i915 了。但若不開 vesafb,萬一找不到符合硬體的 frame buffer driver,Android 便無法啟動。我們希望儘可能的支援更多的 x86 平台,也希望儘量使用符合硬體的 frame buffer driver,這就遇到兩難了。
Read more »

Android-x86 可以聽音樂了!

By cwhuang, 2009 年 07 月 20 日

費了幾天的功夫,總算搞定了 Android-x86 的音效支援。因此可以用 Music 來聽音樂了! 包括大部分的 Eee PC 機種,以及 virtual box 和 qemu 的音效都測試成功。

主要是參考 lucabelluccini 的文章。不過,還是遇到不少麻煩。趁現在還記得的時候寫在這邊:

  • 該文章中漏提很重要的一點,必須拿掉 BoardConfig.mk 中的這一行:

    BOARD_USES_GENERIC_AUDIO := true

  • 至於 asound.conf 則是不必要的。新版的 ALSA 已經不需要這個檔案了! 基本上只要驅動程式正確即可。
  • 在 Eee PC 701 上這樣做已經可以聽到聲音了。但更新的 Eee PC 機種還是不行。研究了很久,發覺必須先載入 snd-hda-codec-realtek 這個模組才行。
  • 這樣做之後大部分的 Eee PC 機種都可聽到聲音了。除了 900 和較新的 1005HA、T91 例外。900 不知為何它的音效驅動參數一直未被整進 ALSA upstream 中。我參考 Xandros 的 driver 將它加進來。而較新的機種則是因為更改了 PCI ID。將這個 ID 加 snd-hda-codec-realtek 模組裡即可。
  • 某些機種(ALC269?)的預設音量非常小聲,幾乎聽不見。必須進設定中將音量調為最大才行。
  • 在 virtual box 中必須使用 sound blaster 16 才有聲音。若用預設的 ICH AC97 就是沒聲音。搞不懂為什麼?
  • 啟動參數 androidboot.hardware=eeepc 似乎會影響音效。雖然 kernel 會抱怨這是 unknown option。不過若是拿掉,在 virtual box 中就沒聲音了。

至於如何測試音效? 最簡單的方法是開 Camera,按 Enter 拍攝快照,應該可以聽見「咚」的一聲。若想聽音樂,在進 Android 前要把音樂檔先放進 /sdcard 目錄裡。詳細的做法,可以參考 VirtualBoxHowTo

Eee PC iso

By cwhuang, 2009 年 07 月 20 日

先前為 Eee PC 改善 Linux 版本的工作已告一段落。目前已將重心轉移到 Android 系統上。不過那時做好的新版 iso 一直沒有發表的機會,殊為可惜。現在將它放到這裡,讓有興趣嘗試的人看看:

包括 Xandros OS 1.6 和 1.7 的版本。我的修改有幾個特色:

  • 可同時當安裝 CD 和 live CD 使用
  • 友善而有彈性的安裝介面
  • 將不同語言,不同機型的版本整合在一個 iso 檔中
  • 可採用壓縮或非壓縮格式安裝
  • 全新的備份還原功能。可備份或還原到任意點,也可刪除不用的備份

其中的任意備份還原功能最值得一提。這是與 aufs 作者岡島順次郎(Junjiro Okajima)合作所開發的。開機時按 ESC 進入 grub 選單,再選 Backup and Restore 項目即可進入備份還原功能。接著再選擇要備份、還原或是管理(刪除)備份點。完成動作後再選擇重新開機即可。

加入幾項新功能

By cwhuang, 2009 年 07 月 16 日

有幾項新功能已加入 Android-x86 的 git tree 中:

  • Camera support
    主要是將 android-m912 的 patches 整合進來。不過必須先進 BIOS,將 webcam enable 才行。
  • Mouse wheel support
    沒錯,可以用滑鼠滾輪來捲動網頁了。也可以應用於選單 focus 的移動。
  • Detecting script
    在 initrd 中加上偵測 dmi 型號的 script。若為已知的型號,則載入對應的驅動程式。

馬上 repo sync 最新的 code 試試吧! 歡迎回報測試結果。

Android x86 LiveCD now available?

By cwhuang, 2009 年 07 月 14 日

看到同事轉寄來,這篇在 Engadget 上的 “news”:Android x86 LiveCD now available。真是好笑又好氣! 好笑的是,Android x86 的 live cd 其實已經出現幾個月了,Endadget 是不是沒東西可寫了? 竟然把舊聞當新聞來報? 氣的是,Android x86 的 live cd 計劃明明有好幾個,為何只報導這個 live-android? 就我所知,除了這一個外,至少還有 livedroid,以及我們的 Android-x86 計劃。而且事實上,這些 live cd 計劃都是取用我們計劃的前身,也就是 patch-hosting-for-android-x86-support 上面的修補加以包裝來推出。

當然,我們的計劃和其它標榜以 live cd 為目標的計劃有很大的不同。我們的目標是對 Android 在 x86 平台的移植提供完整的解決方案,而 live cd 只是我們的成果之一而已。更重要的一點區別是,這些 live cd 計劃,至今沒有公佈他們的原始碼或製作過程。因此嚴格來說,這些計劃不能算是 open source 的計劃。也許用「抄襲」的字眼太強烈,不過說它們是 Android-x86 計劃的 “follower” (跟隨者)應該不過份。只是看到這些跟隨者受到新聞媒體的注目報導,而卻極少有人知道他們的來源是什麼,心裡未免不是滋味!

無論如何,經營一個 open source 的計劃,總是希望得到大家的肯定與愛用。不過,做出 open source 的東西,被人家拿去用,也是理所當然的事。我們不會因此而改變初衷。相信日久見人心,開放源碼的力量,終究會讓大家認識並肯定我們的成果。

Android-x86 的 gitweb 上線

By cwhuang, 2009 年 07 月 13 日

已經架好了 Android-x86 的 gitweb 功能。也就是,可以線上瀏覽我們 git repositories 的內容,包含所有 source tree,以及 change log 等。。網址是

只有 android-x86 目錄底下的,才是本計劃修改過的 projects,而 android 目錄則是 android.git.kernel.org 的 mirror。至於 test 目錄下的東西僅做為測試用。

OfficeFolders theme by Themocracy