2008/11/25

Neo FreeRunner 新手手冊 (1) 認識 Distribution 及更新 image


Neng-Yu Tu (Tony Tu)


[認識 Openmoko 的相關 Distribution]

通常拿到 Neo 第一件是要學會的就是如何更新手機裡面的image. 目前 Neo 有以下的 image 可供選擇.

* Om2007.2: 由 Open Hand 主導的使用者介面設計 (work for Intel Moblin now) , 建立在 GTK 的基礎上, image 可以從以下網址找到:
Image: http://t0ny.net/openmoko/images/200804/






















* Om2008.x : 這是目前 (2008 年) 還在維護的版本, 基本上是由 open source 版的 QT/X11 加上 raster 的 illum ETK. ETK 提供了自己的圖形介面 API, 還有自己的 python binding.
Image: http://t0ny.net/openmoko/images/200809/
























* Android: 根據 Google釋出的原始碼, 由 Sean McNeil 維護的 Neo Android 版本, Beta 4 (RC1) / Cupcake 之前的版本在 FR 上需要一張額外的 uSD 記憶卡 (128 MB 以上).
說明: http://wiki.openmoko.org/wiki/Android
Image: http://t0ny.net/openmoko/images/android/























* QT extended: Trolltech(a Nokia company now)/Qtopia 維護的版本, 目前到 4.4.x
http://wiki.openmoko.org/wiki/Qtopia_/_Qt_Extended_on_FreeRunner

image: http://www.qtopia.net/modules/mydownloads/index.php






















* Debian: Debian 社群開發並維護的版本.
* FSO: Mickey 跟 2009 年 openmoko framework 可能方向, 基本上 FSO 是建立在 D-Bus 上的應用程式架構, 透過 python binding 的 toolkit (如 GTK/ETK) 來呈現使用者介面的畫面.
http://wiki.openmoko.org/wiki/OpenmokoFramework























* SHR 及 FDOM: 基本上是社群上的人自己維護的 image, SHR 主要重點在提供 illum/enlightment 標準介面/畫面以及 tangoGPS 程式. FDOM 目的是解決官方版釋出的 image 裡面的套件不足以供一般的開發需要. 同時省掉需要 opkg install/upgrade 的麻煩. 詳細差別可以參考以下網址:
http://wiki.openmoko.org/wiki/SHR

[SHR] http://shr.bearstech.com/























[FDOM] http://www.tuxbrain.com/fdom_en.html




















[更新 FreeRunner image 的方法]

更新 FreeRunner 的 image 有兩種辦法:
<方法 1>
一個是透過 FreeRunner 上面的 USB, 透過 DFU (Device firmware update) 協定及 dfu-util 程式, 然後利用開機進到 kernel 前的 u-boot, 更新 image. 此外, 目前只有 linux 的電腦才能做 DFU update 的工作. 當然如果你用 vmware 之類的 emulator 上跑的 linux 也是可以的, 不過記得連接 FreeRunner 時的程式 focus (視窗) 要是 vmware 的 Linux 才行.

FreeRunner 的 DFU 是由 Werner 維護開發的, 相關的原始碼在 http://svn.openmoko.org/trunk/src/host/dfu-util/ . 更多的資料可以查
http://wiki.openmoko.org/wiki/Dfu-util.


<方法 2>
如果你有 micro SD card, 最快的方法是直接把 image copy 到 micro SD card, 然後從 micro SD card 執行 script. 你可以參考以下 script 來做更新 FreeRunner 裡面的 image.
http://t0ny.net/openmoko/samples/script/dl_finalimg

[更新 FreeRunner image 的步驟]

< Step 1>
從上面的連結中下載 dfu-util 的原始碼自行編譯或是 download 已編譯好的套件

< Step 2>
http://downloads.openmoko.org/releases/ 下載最新的 images, 或從前面的連結中, 找到相關的檔案, 下載到本機上.

< Step 3>
如果是啟動 NOR boot (先按 Aux 鍵, 再按開機紐), 開機畫面就會停住. 同時此時你可以透過 USB 將 FreeRunner 跟你的 Linux 連起來. 然後就可以用 sudo 或是 root 權限執行 dfu-util 進行升級的動作.

<Step 4>

* 更新 rootfs:
./dfu-util -a rootfs -R -D /path/to/openmoko-devel-image.jffs2
OR
./dfu-util -a 6 -R -D /path/to/openmoko-devel-image.jffs2

* 更新 kernel:
./ dfu-util -a kernel -R -D /path/to/uImage
OR
./ dfu-util -a 3 -R -D /path/to/uImage

* 更新 bootloader
./dfu-util -a u-boot -R -D /path/to/u-boot.bin
OR
./dfu-util -a 1 -R -D /path/to/u-boot.bin

* 更新開機 splash image
./dfu-util -a splash -R -D /path/to/splash.gz
OR
./dfu-util -a 4 -R -D /path/to/splash.gz

* 更新開機參數 (environment variable)
./dfu-util -a u-boot_env -R -D /path/to/env_new
OR
./dfu-util -a 2 -R -D /path/to/env_new

<Step 5>

記得檢查 DFU 的結束的訊息, 當進度條結束並不代表更新一定成功. 如果 DFU 一直中斷, 記得檢查 DFU 的參數是不是下錯, 或是 USB cable 是不是沒接好. 如果你是從一般 u-boot (不是從 NOR 的 u-boot) 更新, 可能更新 NAND 裡面的 u-boot 也是一個 方法.

沒有留言:

 
Creative Commons License
著作 係採用創用 CC 姓名標示-非商業性-相同方式分享 3.0 台灣 授權條款授權.