Qtopia on FreeRunner/zh tw

From Openmoko

Revision as of 11:40, 27 October 2008 by Coolcat (Talk | contribs)

Jump to: navigation, search


本頁的內容將提供您關於在 GTA02 (FreeRunner) 上如何安裝 Qtopia/Qt Extended (proper, not the ASU or QtopiaOnX11 efforts),它與Qtopia on Neo1973中的內容相當類似。

Contents

目前狀態

2008年的十月三日,Trolltech公司釋出了針對Openmoko Neo FreeRunner使用的,包含Qtopia 4.4.1版本的 Qtopia ROM flash image containing the rootfs。這個版本可以為 mwebster 含了kernel的ROM flash image

這個映像檔可以成功的發送及接收通話及文字訊息。它可以讀取sim卡上的所有通訊錄(它更新了2007.2 無法顯示通訊錄的功能)。 它包含了較2007.2 映像檔中更為穩定的映應用程式。它擁有更為成熟的多重輸入的方法。但它並沒有web瀏覽器或者是GPS 應用程式。 但你可以使用協力廠商的 GPS 應用程式:

在2008年的9月2日,Trolltech也釋出了4.3.3-snapshot,它修正了一些問題 (sms 訊息無法在重新開始後接收訊息,Qtopia 會在接收二通電話間處生問題、預設的通話音量及麥克風輸出;迴音修正)。You can find all the Qtopia images here (including Qtextended/Qtopia 4.4 for FreeRunner and Neo1973!)

最後一版中有什麼內容?(Qtopia 4.4)

Qtopia 4.4 以 QtExtended 4.4的名稱釋出。

Option 1: 將 Qtopia 燒錄到 FreeRunner

下載之前提到的映像檔,並且依照下面的操作方法進行: Flashing the Neo FreeRunner

Option 2: 介於Qtopia 與2007.2之間的雙啟動系統 (自SD卡中啟動Qtopia)

安裝需求:

  1. SSH shell access to 2007.2 based image of the FreeRunner through USB interface or WLAN.
  2. A Desktop Linux distro (to unpack the .jffs2 image, I ran Ubuntu under VMWare)


準備好你的SD卡

請查看自SD卡中啟動中的 準備SD卡一節暸解如何進行磁碟分割及格式化等工作。在你完成"格式化SD Card"的操作步驟後,請回到這個步驟,並執行下面的操作內容:

mount /dev/mmcblk0p1 /media/card mkdir /media/card/boot

mkdir /media/mmcblk0p2 mount /dev/mmcblk0p2 /media/mmcblk0p2

這些指令將會幫助你適當的安裝接下來會使用到的檔案系統及核心系統。

安裝Qtopia

解開Qtopia Root Filesystem 映像檔

Latest Images#Qtopia images 下載Qtopia FLASH image到你的 Linux系統下,並解壓縮它的內容:

tar xzf qtopia-4.3.2-gta02-flash-*.tgz

你會有二個檔案:

  1. uImage-2.6.24+git18+9c058ff0d2641df3c36fc3300acb72078d2c41d4-r0-om-gta02.bin
  2. qtopia-4.3.2-gta02-rootfs-07172049.jffs2

現在使用這個連結從jffs2下掛載(mount)root file system。然而,在mount指令中,從"/dev/mtdblock0"下取代映像檔名。

建立壓縮的tarball

接下來,壓縮 root filesystem:

  1. tar czf qtopia-4.3.2-gta02-rootfs-07172049.tar.gz -C <mountpoint> .

在這個指令中 <mountpoint> 指的是掛載上的 jff2 filesystem。請注意,在掛載點後的.號。

安裝 Root Filesystem

轉換這個壓縮的 tarball到sd卡上,已經掛載到FreeRunner的第二個分割區。

scp qtopia-4.3.2-gta02-rootfs-07172049.tar.gz root@192.168.0.202:/media/mmcblk0p2/

登入你的 FreeRunner並且解開(unpack)root filesystem:

cd /media/mmcblk0p2 tar xzf qtopia-4.3.2-gta02-rootfs-07172049.tar.gz rm qtopia-4.3.2-gta02-rootfs-07172049.tar.gz rm -f /media/mmcblk0p2/boot/*

Note: 最後一個步驟是將 kernel image自第二個分割區中移除。基於某些理由,若kernel映像檔被放置在第二個分割區中的boot/ 目錄下,U-Boot並無法在第一個分割區中找到uImage.bin 檔案。

安裝Kernel

從你的LINUX系統上,將 uImage-2.6.24+git18+9c058ff0d2641df3c36fc3300acb72078d2c41d4-r0-om-gta02.bin重新命名為 uImage.bin ,並將它複製到SD卡中的第一個分割區中的boot目錄下。 依照你所安裝使用的U-boot版本,它可能無法運作,要防止任何可能問題,將它複製到 /media/card 目錄下。 There is plenty of room on the first partition to have uImage.bin in both locations.

mv uImage-2.6.24+git18+9c058ff0d2641df3c36fc3300acb72078d2c41d4-r0-om-gta02.bin uImage.bin scp uImage.bin root@192.168.0.202:/media/card/boot/ scp uImage.bin root@192.168.0.202:/media/card/

將 Qtopia 指向 SD Card

Lorn Potter 在寄件清單中提出以下的意見:

Qtopia 被設定為從flash chip中was designed to be run from the root partition on a flash chip, not from a removable sd card.

You would have to edit the etc/default/Trolltech/Storage.conf file to make it forget about the sd /dev node, to be able to run it this way"

Another user's solution to this is the following:

Edit this file: " /opt/Qtopia/etc/default/Trolltech/Storage.conf And change the [MountPoint0] section so it resembles this: -[ [MountPoint0] Name[] = SD Card Path=/dev/mmcblk0p1 Removable = 0 Applications = 0 Documents = 0 ContentDatabase = 0

Option 3: updating from source

NOTE: This will upgrade only opt/Qtopia directory, you should use opkg update/upgrade for the rest


Original Qtopia images (the distribution released by Trolltech, not ASU) are rarely released as a rootfs image, but the source code is often updated. If you want to reflash your OM with the latest version of Qtopia you might build it from sources. This has been explained in this thread of the community mailing list. Summing up:

cd / wget http://qtopia.net/downloads/neo/arm920t-eabi-ficgta01-toolchain.tgz tar xvzf arm920t-eabi-ficgta01-toolchain.tgz

tar xvzf qtopia-opensource-src-4.3.2-snapshot-20080806.tar.gz

  • make a "build" dir

mkdir build cd build

  • configure and make:

../qtopia-opensource-src-4.3.2-snapshot-20080806/configure -device ficgta01 make This will take some time (couple hours). Note that the option "-device ficgta01" should work for both neo and freerunner. Then:

make install

will make a root directory into the build directory. There you can find an image that directory should be copied to /opt/Qtopia of your phone with scp. once done restart qpe or whole phone.

Booting into Qtopia

Now shutdown the FreeRunner

shutdown -h now

Log into U-Boot in the NAND Flash to boot from the MicroSD card: (instructions from Booting the Neo FreeRunner)

  • Press and hold Power button
  • Then while still pressing the Power button, press and hold AUX button for 5 to 8 seconds.
  • A boot menu will appear.
  • Press the AUX button to select "Boot from MicroSD" and then press the Power button to execute.

Qtopia should now boot.

Note: you may get a kernel panic which says that "optional features not supported". If this is the case, boot back into 2007.2 and run

umount /dev/mmcblk0p2 fsck.ext3.e2fsprogs /dev/mmcblk0p2

This will clean up the file system and clear recovery flags in ext3 that ext2 does not support, then try booting from the MicroSD again.

Internationalization

Qtopia comes with support for German and American English, and users from other countries will find that Qtopia's predictive keyboard makes writing in another language near impossible. One way to disable the predictive keyboard is to simply replace /opt/Qtopia/etc/dict/en_US/common.dawg and words.dawg with empty files (after backing them up). Qtopia normally looks in these files for words to suggest, and if it doesn't find any words that fit, it simply shows what you actually wrote.

Adding characters to the keyboard requires modifications to the source code, as described here.


Suspend /Resume

It seems that suspend/resume only works when the FreeRunner has been connected to a powersource (only a few seconds if sufficient). If you boot from battery, it will never suspend until you have plugged it in at least for a couple of seconds.

Bugs

See Trolltech's tracker (Qtopia Tracker).

Bug reports should be sent to qt-bugs@trolltech.com or by web form at http://trolltech.com/bugreport-form.

Bugs in 4.4.1

  • Boot and Shutdown Splash will not work because splash-write was not compiled into Busybox
  • Timezone & time on latest Qt 4.4.1
  • The first item in a list is missing the top half
Personal tools


本頁的內容將提供您關於在 GTA02 (FreeRunner) 上如何安裝 Qtopia/Qt Extended (proper, not the ASU or QtopiaOnX11 efforts),它與Qtopia on Neo1973中的內容相當類似。

Contents

目前狀態

2008年的十月三日,Trolltech公司釋出了針對Openmoko Neo FreeRunner使用的,包含Qtopia 4.4.1版本的 Qtopia ROM flash image containing the rootfs。這個版本可以為 mwebster 含了kernel的ROM flash image

這個映像檔可以成功的發送及接收通話及文字訊息。它可以讀取sim卡上的所有通訊錄(它更新了2007.2 無法顯示通訊錄的功能)。 它包含了較2007.2 映像檔中更為穩定的映應用程式。它擁有更為成熟的多重輸入的方法。但它並沒有web瀏覽器或者是GPS 應用程式。 但你可以使用協力廠商的 GPS 應用程式:

在2008年的9月2日,Trolltech也釋出了4.3.3-snapshot,它修正了一些問題 (sms 訊息無法在重新開始後接收訊息,Qtopia 會在接收二通電話間處生問題、預設的通話音量及麥克風輸出;迴音修正)。You can find all the Qtopia images here (including Qtextended/Qtopia 4.4 for FreeRunner and Neo1973!)

最後一版中有什麼內容?(Qtopia 4.4)

Qtopia 4.4 以 QtExtended 4.4的名稱釋出。

Option 1: 將 Qtopia 燒錄到 FreeRunner

下載之前提到的映像檔,並且依照下面的操作方法進行: Flashing the Neo FreeRunner

Option 2: 介於Qtopia 與2007.2之間的雙啟動系統 (自SD卡中啟動Qtopia)

安裝需求:

  1. SSH shell access to 2007.2 based image of the FreeRunner through USB interface or WLAN.
  2. A Desktop Linux distro (to unpack the .jffs2 image, I ran Ubuntu under VMWare)


準備好你的SD卡

請查看自SD卡中啟動中的 準備SD卡一節暸解如何進行磁碟分割及格式化等工作。在你完成"格式化SD Card"的操作步驟後,請回到這個步驟,並執行下面的操作內容:

mount /dev/mmcblk0p1 /media/card mkdir /media/card/boot

mkdir /media/mmcblk0p2 mount /dev/mmcblk0p2 /media/mmcblk0p2

這些指令將會幫助你適當的安裝接下來會使用到的檔案系統及核心系統。

安裝Qtopia

解開Qtopia Root Filesystem 映像檔

Latest Images#Qtopia images 下載Qtopia FLASH image到你的 Linux系統下,並解壓縮它的內容:

tar xzf qtopia-4.3.2-gta02-flash-*.tgz

你會有二個檔案:

  1. uImage-2.6.24+git18+9c058ff0d2641df3c36fc3300acb72078d2c41d4-r0-om-gta02.bin
  2. qtopia-4.3.2-gta02-rootfs-07172049.jffs2

現在使用這個連結從jffs2下掛載(mount)root file system。然而,在mount指令中,從"/dev/mtdblock0"下取代映像檔名。

建立壓縮的tarball

接下來,壓縮 root filesystem:

  1. tar czf qtopia-4.3.2-gta02-rootfs-07172049.tar.gz -C <mountpoint> .

在這個指令中 <mountpoint> 指的是掛載上的 jff2 filesystem。請注意,在掛載點後的.號。

安裝 Root Filesystem

轉換這個壓縮的 tarball到sd卡上,已經掛載到FreeRunner的第二個分割區。

scp qtopia-4.3.2-gta02-rootfs-07172049.tar.gz root@192.168.0.202:/media/mmcblk0p2/

登入你的 FreeRunner並且解開(unpack)root filesystem:

cd /media/mmcblk0p2 tar xzf qtopia-4.3.2-gta02-rootfs-07172049.tar.gz rm qtopia-4.3.2-gta02-rootfs-07172049.tar.gz rm -f /media/mmcblk0p2/boot/*

Note: 最後一個步驟是將 kernel image自第二個分割區中移除。基於某些理由,若kernel映像檔被放置在第二個分割區中的boot/ 目錄下,U-Boot並無法在第一個分割區中找到uImage.bin 檔案。

安裝Kernel

從你的LINUX系統上,將 uImage-2.6.24+git18+9c058ff0d2641df3c36fc3300acb72078d2c41d4-r0-om-gta02.bin重新命名為 uImage.bin ,並將它複製到SD卡中的第一個分割區中的boot目錄下。 依照你所安裝使用的U-boot版本,它可能無法運作,要防止任何可能問題,將它複製到 /media/card 目錄下。 There is plenty of room on the first partition to have uImage.bin in both locations.

mv uImage-2.6.24+git18+9c058ff0d2641df3c36fc3300acb72078d2c41d4-r0-om-gta02.bin uImage.bin scp uImage.bin root@192.168.0.202:/media/card/boot/ scp uImage.bin root@192.168.0.202:/media/card/

將 Qtopia 指向 SD Card

Lorn Potter 在寄件清單中提出以下的意見:

Qtopia 被設定為從flash chip中was designed to be run from the root partition on a flash chip, not from a removable sd card.

You would have to edit the etc/default/Trolltech/Storage.conf file to make it forget about the sd /dev node, to be able to run it this way"

Another user's solution to this is the following:

Edit this file: " /opt/Qtopia/etc/default/Trolltech/Storage.conf And change the [MountPoint0] section so it resembles this: -[ [MountPoint0] Name[] = SD Card Path=/dev/mmcblk0p1 Removable = 0 Applications = 0 Documents = 0 ContentDatabase = 0

Option 3: updating from source

NOTE: This will upgrade only opt/Qtopia directory, you should use opkg update/upgrade for the rest


Original Qtopia images (the distribution released by Trolltech, not ASU) are rarely released as a rootfs image, but the source code is often updated. If you want to reflash your OM with the latest version of Qtopia you might build it from sources. This has been explained in this thread of the community mailing list. Summing up:

cd / wget http://qtopia.net/downloads/neo/arm920t-eabi-ficgta01-toolchain.tgz tar xvzf arm920t-eabi-ficgta01-toolchain.tgz

tar xvzf qtopia-opensource-src-4.3.2-snapshot-20080806.tar.gz

  • make a "build" dir

mkdir build cd build

  • configure and make:

../qtopia-opensource-src-4.3.2-snapshot-20080806/configure -device ficgta01 make This will take some time (couple hours). Note that the option "-device ficgta01" should work for both neo and freerunner. Then:

make install

will make a root directory into the build directory. There you can find an image that directory should be copied to /opt/Qtopia of your phone with scp. once done restart qpe or whole phone.

Booting into Qtopia

Now shutdown the FreeRunner

shutdown -h now

Log into U-Boot in the NAND Flash to boot from the MicroSD card: (instructions from Booting the Neo FreeRunner)

  • Press and hold Power button
  • Then while still pressing the Power button, press and hold AUX button for 5 to 8 seconds.
  • A boot menu will appear.
  • Press the AUX button to select "Boot from MicroSD" and then press the Power button to execute.

Qtopia should now boot.

Note: you may get a kernel panic which says that "optional features not supported". If this is the case, boot back into 2007.2 and run

umount /dev/mmcblk0p2 fsck.ext3.e2fsprogs /dev/mmcblk0p2

This will clean up the file system and clear recovery flags in ext3 that ext2 does not support, then try booting from the MicroSD again.

Internationalization

Qtopia comes with support for German and American English, and users from other countries will find that Qtopia's predictive keyboard makes writing in another language near impossible. One way to disable the predictive keyboard is to simply replace /opt/Qtopia/etc/dict/en_US/common.dawg and words.dawg with empty files (after backing them up). Qtopia normally looks in these files for words to suggest, and if it doesn't find any words that fit, it simply shows what you actually wrote.

Adding characters to the keyboard requires modifications to the source code, as described here.


Suspend /Resume

It seems that suspend/resume only works when the FreeRunner has been connected to a powersource (only a few seconds if sufficient). If you boot from battery, it will never suspend until you have plugged it in at least for a couple of seconds.

Bugs

See Trolltech's tracker (Qtopia Tracker).

Bug reports should be sent to qt-bugs@trolltech.com or by web form at http://trolltech.com/bugreport-form.

Bugs in 4.4.1

  • Boot and Shutdown Splash will not work because splash-write was not compiled into Busybox
  • Timezone & time on latest Qt 4.4.1
  • The first item in a list is missing the top half