2010年3月23日 星期二

Google TV 創世?還是 Sony 搞笑?

Standard
自幾天前 Google TV 被紐約時報揭露後,該新聞在世界各地被各大新聞媒體瘋狂轉述,亦有各式各樣不同的猜想和論點,尤其以電腦族群,一看到 Google 介入這市場,就連忙著拍手叫好,發表支持以及看好的個人論點。許多廠商也都嚇壞了,像無頭蒼蠅般亂竄,不知所措。不可否認,Google 這步棋下的很準確,未來的廣告和作業系統市佔率,勢必提升不少,也一瞬間扭轉了網路影片無版權的情勢。但是另一方面,Sony 大方的與 Google 分享這大餅,究竟所圖為何?『號稱世界上最開放作風的企業』對上『世界上最封閉作風的集團』,無論怎麼看都疑點重重,耐人尋味。

Google 造神運動再一次升華

Google 近年來成長速度太快,又開創出很多過去被視為不可能的免費服務,如:全球化的極速搜尋引擎、超大的免費信箱、全球衛星空照圖、360度街景圖,一切如同將大海切成兩半般不可思議,讓許多人對 Google 產生崇拜和莫名的期待。因此,Google 這兩年挑戰各種霸主,像是激戰多年的瀏覽器之爭、手機產業和作業系統,都受眾人強力宣染之下,而不費吹灰之力蠶食。雖說佈局也花了相當大的功夫,但最後推手還是在於眾人們『對神的無上崇拜』。

實現數位家庭,Sony 哪裡需要 Google?

網路上許多朋友都說著,這是 Google 和 Sony 進軍數位家庭的首戰,也不少報章媒體拿著各家數位機上盒的產品相比較,然後又說 Google TV 因為可以上網、Twitter、Facebook,和安裝眾多的 Android Applications,有著相當大的優勢。

不過這種說法,似乎是直接遺忘了 xbox360 的存在,上述功能和機制微軟早已默默經營很久,內部的介面和架構,數年內也藉悄悄更新而趨於完善,除了有軟體商店,亦有付費機制,還有數不盡的娛樂資源。微軟已吸取多年前數位家庭失敗的經驗,早就重新振作佈局許久。

然後,我們是否也忘了更重要的一件事?它的直接競爭對手『Sony PlayStation 3』跑哪去了?似乎也沒在這事件中露面。數位家庭創始者之一的 Sony,在多年後進軍數位家庭,這說法似乎有些荒謬。

Sony PlayStation v.s. Google TV

仔細想想,無論 xbox360 還是 PS3,它們在娛樂市場已有著深不可測的軟體資源,更有完整的架構和體系,Sony 何必和 Google 這樣毛都未長齊的小屁孩淌這渾水?Android 的軟體資源,在目前相對來說更是笑話,不足以構成對 Sony 的吸引力,更別說若是 Sony 真想打造硬體,也根本不需要 Intel 的支持。

這很明顯透露出大公司多頭馬車的運作模式,如果該決策是由 Sony 電腦相關部門所下,這顯示 Sony 面對資訊業異常的澎漲而自亂陣腳,讓停滯不前或正在萎縮的電腦產業去決策和主導方向,敵我不分一頭殺進自家市場。當然,Sony 想多跨足資訊產業也可能是原因,反正 Google 和 Intel 也想以電腦廠商身份吃進家電市場,各懷鬼胎。

而若是該事件是以 Sony 的版權產業主導,很顯然 Sony 也只是想抽回自身的版權費,並沒想這麼多。

想振作萎靡的電視市場

一些報導中寫著,因為電視螢幕越來越不易經營,為突破現況, Sony 計劃在電視後接上 Google TV 裝置而出貨。令人不禁想問,這台 Intel 裝置成本多少錢?附加在毛利已經不高的電視身上,是否有助益?

而且,若真的是如報導所說,依照 Sony 往例,一定會推個自家規格來個自綁自銷,其他廠商可能仍有相當大的空間。不過,如果這整件事是由 Google 主導,想走開放格式,倒是很令人懷疑 Sony會開放到什麼程度?其他家像 Samsung、LG可以使用這台 Google TV 嗎?身為頭號競爭者的 Sony 會願意?

會的,除非 Sony 想放棄這硬體市場,用版權抽回利潤,畢竟 Sony 也是世界最大版權商之一。

不過考慮到 Sony 也可能用版權制約其他家廠商搭配使用,其他廠家是否願意跟進?大家不跟進,Google TV 可能死路一條?

太多可能的後果,都顯示 Sony 做出這決定的詭異,畢竟大家都不明瞭對他們而言,賺哪塊會最有利,至少可以確定的是,照報導上的去實現,會讓 Sony 有很大的損失,但這損失從哪補就不得而知了。

Google Android 的興旺

唯一肯定的是,Google Android 會藉此更為興旺,雖不知 Google 是只出了一個名,還是有真正參與開發,不過,這無疑的是 Android 拓展領域的機會。

後記

整理國內外報導後的心得後,在心中寫下了一個譜,許多尚不明朗的真相釐清之前,有太多疑點。不過不管是用什麼角度來看,這塊電腦業長年殺不進來的行業,不是 Google 和 Intel 隨便說殺就能殺的,就算有 Sony 在撐腰,畢竟產品設計哲學不是家電,沒這容易。反觀微軟的 xbox 也經歷了多少年,才慢慢有所成果,為大眾所接受。

2010年3月5日 星期五

Add Devkit8000 and SBC8100 initial support to 0xdroid

Standard
As you know, I've done Android Eclair porting for Devkit8000 in the past, which is based on Embinux. It's a experimental work for passing time, I have no time to maintain and fix bugs friends reported after that. However, I think it is not good because the result will be getting lost as time goes by.

0xdroid is another Android distribution which is different from Embinux, its developer Jim Huang(jserv) who has contacted me a few months ago, and he hope that I can try porting 0xdroid on the Devkit8000. Actually, I am glad to make 0xdroid takes over my work, it is the best result for me.


Currently, I've done most works, 0xdroid can run on Devkit8000 with success. And also, My patches have been committed to 0xlab-devel mailing list. Because I have another platform SBC8100 which is also produced by Embest, I've done works on that as well.

You can see my patches from 0xlab-devel mailing list, or you can visit my website to download it directly:

http://people.linux.org.tw/~fred/patches/0xdroid/embest/


It's based on kernel source is 0xlab-kernel, you can get it from:

http://gitorious.org/0xlab-kernel


My works includes:
  • Support Embest Boards(Devkit8000 and SBC8100)
  • OMAP DSS2 Driver for display
    • 4.3 inch Embest LCD Panel support (480x272 60Hz)
    • 7 inch Embest LCD Panel support (800x480 60Hz)
  • Touchscreen Controller support (ADS7846)
    • Works with correct axis
  • Ethernet Device support (DM9000)
  • Keypad (TWL4030)
  • Force kernel into using machine ID of Beagleboard

Recently, I got a news that Devkit8000 has been registered in ARM machine table(http://www.arm.linux.org.uk/developer/machines/), so Devkit8000 has official machine ID(2330) now (SBC8100 doesn't have yet). It means that kernel can start to support it with standard. That's a good news, however, it will cause complications for us. The platform you have which still has old machine ID by default, you must patch and update the uboot to match official kernel standard for working.

For SBC8100 and most of Embest platforms, they are not registered in machine table cause it is not easy to maintain. That's why I do dirty hacks, forcing kernel into using machine ID of beagleboard when you selected "Embest board support" option. It's necessary for SBC8100, and it works with Devkit8000. You don't need to worry machine ID problem.

Besides, it will fix a bug that sound device doesn't work on beagleboard clone.

Known Issue:

OMAP Multiplexer support has a problem, it will cause kernel hangs, so we must disable OMAP_MUX. Due to SBC8100 has Wifi/Bluetooth module which is using MMC2(SDIO) with OMAP Multiplexer, the module doesn't work right now.

References:

http://fred-zone.blogspot.com/2009/12/android-eclair-porting-for-devkit8000.html
http://fred-zone.blogspot.com/2009/12/enable-ads7846-touchscreen-in-android.html
http://fred-zone.blogspot.com/2009/12/add-gpio-keys-support-for-devkit8000.html

2010年3月3日 星期三

Debian/Ubuntu 交叉編譯 - 函式庫相依性速解法

Standard
從來,交叉編譯(Cross-compile)就是一門苦差事,往往取得 Toolchain 之後,還必須自己編譯所需的所有函式庫,花費的時間甚巨,實在不值得。隨著 Debian/Ubuntu 跨平台支援趨於完整,開發和移植各平台程式之工作,已經不用再經歷過去那不足為外人道哉的編譯地獄。我們可以直接抓取不同硬體平台(如:ARM、MIPS)的套件,安裝在系統上供交叉編譯使用。因此,比起專注於 x86 下的其他系統(如:Fedora),Debian/Ubuntu 優異的跨平台支援和資源,更決定了跨平台開發者的效率以及產出品質。

而較為傳統的方法,是建立一個新的 Rootfs ,包括完整目標平台的函式庫和編譯所需檔案,在編譯自己的程式時引入使用即可。如不想這樣麻煩,Debian/Ubuntu 包括了一支工具『apt-cross』可以將目標平台的套件,轉換成交叉編譯專用套件,然後安裝至目前的系統上。

如同常見的 apt-get ,apt-cross 的使用方法極為相似,以安裝 ARM 架構下 的GTK+ Library 和開發用檔案為例(使用 Debian Sid 的 ARM 版套件):
apt-cross -a armel -S sid -i libgtk2.0-0
apt-cross -a armel -S sid -i libgtk2.0-dev

如此 apt-cross 會下載 ARM 版本的 GTK+ Library,然後轉換成 libgtk2.0-0-armel-cross 和 libgtk2.0-dev-armel-cross 兩個套件,並安裝至系統中。隨後,我們便可交叉編譯自己的 GTK+ 程式,arm-linux-gnueabi-gcc 會直接去引用這兩個套件內的檔案。

隨帶一提,若執行 ./configure 時會發生 arm-linux-gnueabi-pkg-config 找不到,而自動選用系統上原生的 pkg-config 程式,常會造成編譯時關聯位置錯誤或找不到檔案。這通常是因為 pkg-config 選錯路徑,參考了系統上的編譯參數定義(正確行為應該去引用交叉編譯用的參數)。因此,我們可以在下 ./configure 前指定參考路徑,以解決此問題:
export PKG_CONFIG_PATH=/usr/arm-linux-gnueabi/lib/pkgconfig

後記

當然別的平台套件也會更新,我們可以用『-u』更新 Source.list,就如同在更新一般系統上套件一樣:
apt-cross -a armel -S sid -u

2010年3月1日 星期一

夜,寂靜

Standard
也只有在獨自一人時,才能清醒的與自己對話,於大樹底下偷偷埋藏的思緒,此時會猛然湧上心頭,而靈魂末端的枝葉總自顧掉落。

夜有多麼靜,心跳的聲音卻如此吵雜。惡耗了一整晚,解不清的工作乾脆直接扔在一旁,開始細數著在微弱燈光下忽明忽現的嗡嗡飛蚊,傾聽自己心中的聲音。

驚呼,忽然一陣癢感襲來,將一切停滯的夜又搔動了起來。此時怒氣盛起,我面目掙獰如惡鬼一般,非與飛蚊理論究竟不可。

『唉,你長得比較高大,血多到都可以把我淹死好幾輩子,而我只求貴人賞碗飯,讓我活命罷了,你又何必吝嗇?這世界死氣沉沉寂靜又孤獨,我們相伴不是甚好?』眼前那飛蚊老兄,收起翅膀,坐在眼前電腦螢幕上嘆息說著。

『我並不介意血被吸,而是介意心情被打亂。平時的一切種種已經令我夠煩燥了,現在,只想不要被打擾的思考著。』我說。

飛蚊老兄瞥著頭看了看我,似乎看出了什麼端昵。

『哈哈,你不過就是不相信人而已,不想與外界接觸。就像我,我也不相信你心情好,就會讓我飽餐一頓,還不如我自己找機會大大咬上一口。』飛蚊老兄表現得一付很懂的樣子。

『我在想的就是要不要再給一次機會,將信任再一次留給一個人。畢竟,曾經能信任,也花去了不少時間培養,但就是因為後來有一連串太多太久的猜疑,才讓我越來越痛苦,變了一個人似的。尤其很多話不敢說,更讓情況惡化。害我現在一切收進心底,只有在這時候,才會拿出來想想。』我說。

『想通了,隨時都可以重新來過啊。只要你和其他人願意溝通,有什麼不好重建信任,就像現在我和你一樣的交談簡單,你我不都開朗許多。』說畢,飛蚊老兄飛了起來,搖搖晃晃的從燈光邊緣隱沒。

『若是可以,我也想單單純純、平平淡淡的去維持這關係,不要再有什麼無聊的猜忌亂想。』我邊說,邊伸了一個懶腰,準備開始繼續工作。

我話還沒講完,又感到一陣騷癢,反手『啪』一聲,滿手鮮血。仔細一看,原來,飛蚊老兄已死於我掌下,身驅四分五裂、鮮血淋漓,這似乎說明了人類永遠不可能與蚊蟲互相信任。

接著,早晨的陽光也打亂這夜,一切思緒又沉回樹下的時光寶盒,等待著下一次的開啟。