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/
通常拿到 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
* 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 也是一個 方法.
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 也是一個 方法.
沒有留言:
張貼留言