在PC上執行Android系統?Android-x86

 

facebook  FacebookIG  IG

 

話說,看到現代汽車的部分車款都搭載了Android平台的影音系統,實在是很羨慕。再看看我們家 Mazda CX-5 車上很陽春的操作介面與非常兩光的導航系統,實在是很想把它換掉。這類跟不上時代的封閉的汽車影音平台,勢必將步上之前Feature Phone的後塵,漸漸的消失在未來的競爭與市場當中。目前針對這類的汽車平台,較具前景的有:

  1. Apple的CarPlay
  2. Google的OAA(Open Automotive Alliance) – 2014.01成立
  3. MirrorLink
  4. Microsoft的Automotive – 聽說就是Ford上SYNC系統的底層

 

↑ 2014.05.21時的平台與合作廠商關係圖。上面的圖示中,越內圈就是越早期出現在合作廠商名單中的車廠。


↑ 2014.07.04時的平台與合作廠商關係圖。可以看出Google已經加速在車用市場的腳步,與其合作的車用廠商數量已經超越了Apple。而大部分的車廠,看來都不壓寶於某一特定平台,而是與各開發者保持一定程度的接觸,希望能於最大的市場利基下,選擇最後的整合車用平台。

  關於CarPlay、OAA、MirrorLink的競逐,可以參考一下這篇文章 《2014’s battle for dashboard supremacy: Apple’s CarPlay vs. Google’s OAA vs. MirrorLink》。看到上面我從Apple、Google、Microsoft等網站上整理出的平台與車商的合作關係圖,真是太讓人心寒了,完全找不到Mazda的蹤跡。看來我如果要官方釋出開放性平台的影音主機,應該可以「慢慢」等了。(2014.07.01 mazda已經新增至Apple Carplay的合作廠商名單之中,此時也已經列名於Google OAA的合作名單之中了)

隔行如隔山,要想辦法把車上怡利主機中的系統換成Android,實在是太麻煩了。還不如先來試試九年前的車上的小CarPC,試著用用家中的老電腦(eeeBox B202),這樣來得簡單的多。在網路上找了一下,原來有個優秀的台灣人,已經將Android早已經有了porting到x86平台上的版本了。大家可以到網站《Android-x86 – Porting Android to x86

 

硬體與軟體

主機:ASUS EeeBox B202(2008年購買)

CPU:Intel Atom N270
記憶體:1GB
耗電量:19V DC, 4.74A, 65W

螢幕:8″ TFT touch screen

軟體:Android KitCat(4.4-RC2)

一般車用的2-Din音響主機耗電量大約12A、10~12V直流電,所以如果請人接電,或是接在一般車用點煙器應該還OK。Atom N270的時脈約1.6Ghz,跑起來基本上還OK,就是它極糟的網卡收訊造成在使用無線時蠻多的困擾。

 

安裝的步驟:

  1. 於《Android-x86 – Porting Android to x86》下載所要安裝的Android版本iso檔
  2. 下載 unetbootin,將iso檔燒入usb隨身碟
  3. 透過usb隨身碟開機並安裝Android

↑ 下載unetbootin後,開啟可以看到上面這個畫面。依照上面的1、2、3點選,將image燒到usb大姆哥中。

↑ 燒錄進行中

↑ 燒錄完成

↑ 安裝時選擇「Installation – Install Android-x86 to harddisk」。如果不想要安裝,只想要在x86的平台上執行Android OS,可以選擇「Live CD – Run Android-x86 without installation」。

↑ 在安裝的過程中,可以選擇要不要使用GRUB開機管理程式。安裝成功後,重開機時就會進入上面這個開機選單。

↑ 超好安裝,比灌Windows還快 @@

↑ 開機完成後,就跟手機上看到的差不多囉。

 

系統安裝完成後,其實還有許多陸續的問題要處理。例如有些軟體的資料就是要安裝在SD的空間上,在一般市售的手機,就算沒有SD插槽,也會mount一個虛擬的SD路徑,但在這台上面就要自己來建立了。還有觸控螢幕的驅動程式也需要再另外掛載,這個之後再來慢慢實驗囉!

 

【遇到的問題】

Touch Screen:參考1

  1. Alt+F1進入terminal mode
  2. 輸入「stop zygote」
  3. 在 /data/system 下建立目錄「tslib」
  4. 於路徑 /data/system 下,輸入「ts_calibrate」,啟動螢幕校正工具
  5. 校正完畢後,進入目錄「tslib」,檢查是否有檔案「pointercal」(由螢幕校正工具產生)
  6. 輸入「start zygote」

 

Mount SDCard

  1.  修改設定檔「system/core/rootdir/etc/vold.fstab」
    mount device
    SDCARD=<device node>, device node=/dev/block/sdc1mount file – 連結到一個vfat image

    # dd if=/dev/zero of=/data/sdcard.img bs=1024 count=65536 (64MB image)
    # losetup /dev/block/loop7 /data/sdcard.img
    # newfs_msdos /dev/block/loop7

    mount ramdisk
    SDCARD=ramdisk

    already mount
    vold will bind $SRC/sdcard or /data/sdcard to /mnt/sdcard if one of them exists.
    SDCARD=premount

sya
sya

SYA是個喜愛旅遊、喜歡拍照、喜歡找故事、喜歡整理照片、酷愛記錄生活的不認真上班族。只要有喜歡的目標,還是能有一晚台北墾丁的戰鬥力。最開心的事情就是找到一個很有故事的景點,然後花個五六天就為了完成一篇文章。

文章: 1028