開発者向けプレビュー版の Firefox OS 端末の多くはは Geeksphone から提供されています. 開発者向けの端末であるからには、可能な限りこれで遊んでください!この文書では端末を最新に保ち、Gaia アプリを調整するための TIPS を紹介します。
注意: この手順は旧式の Keon と Peak 向けです。最新の Geeksphone Revolution では必要ありません。
最新イメージへの更新
更新ファイルは設定アプリの端末情報からダウンロードできます。設定できるアップデートの確認頻度は日ごと、週ごと、月ごとの3種類です。また「すぐに確認する」も選択できます。アップデートがある場合は、最新バージョンをダウンロードしインストールするかどうかを確認するプロンプトが表示されます。
手動アップデート
Geeksphone は最新の安定版と nightly ビルドを提供しており、それらを利用して端末を手動で更新することもできます。
端末の設定
手動アップデートをする前に、Pushing Firefox OS Apps to the Geeksphone の “Setting Up the Geeksphone Device” にある設定をする必要があります。この設定により、データを端末に書き込めるようになります。前述の記事にある手順に従って、正しい USB ドライバをインストールしてください。
注意: USB ドライバを正しく設定することは、特に Windows で重要です。
ビルドは Geeksphone ダウンロードサイト で提供されます。端末とビルドの種類を選んで、イメージをダウンロードできます。
Download the build according to your device and extract the archive to your filesystem. The archive contains the images and commands required to flash the phone using Windows, Mac OS, or Linux. In order to flash the phone you need to enabled Remote debugging on your phone. This option is avalible in Settings app.
Settings -> Device information -> More information -> Developer
tab.
Make sure the Phone power level is above 50%, since it's gonna take several restarts to change the system files a power faill can bring disaster.
Windows
Note: You might need to install USB drivers on Windows. For instructions, see the section “Setting Up the Geeksphone Device” in Pushing Firefox OS Apps to the Geeksphone.
Open a Command Prompt (start -> type cmd in search -> enter
on Windows 7, Windows key + X -> select Command Prompt
on Windows 8) and cd to the directory containing the extracted files. Run:
flash.bat
Mac OS
Open a Terminal (Cmd + space -> type terminal -> enter
) window and cd to the directory containing the extracted files. Run:
./flash_mac.sh
Linux
To flash a Keon from Ubuntu add the following rules to /etc/udev/rules.d/51-android.rules
Open a Terminal (control-alt-t on Ubuntu) window and cd to the directory containing the extracted files. Run:
./flash.sh
This should flash the new image to the phone. The phone will need to be set up again as all data will be cleared. If you want to backup your data and restore afterwards, you can follow the instructions at Backup the phone system partition.
If you have an 'unagi' or developer preview phone that is not a Geeksphone
If you have a developer phone that is not a Geeksphone such as an 'unagi' or a previously Android-based device, you may need to perform the following steps. If this is not you, please skip to the next section.
You will need to install adb and fastboot. These utilities can be found in the Android Developer Toolkit.
It is not necessary to install the entire toolkit. Download the toolkit from here and extract the contents. adb and fastboot are found in the /platform-tools/ folder. They can be copied to the /usr/bin of your Linux or Mac OS machine, or copied to another folder as long as that folder is added to your $PATH.
If you are attempting to flash your device and have another device plugged in via USB, your phone may not be detected by these utilities correctly. Only have your phone plugged in while trying to flash it.
Tweaking Gaia
If you are the industrious sort, you may want to tweak the default applications in Gaia — the UI in Firefox OS. In this section we will cover some of the basics for cloning Gaia and making changes to the default system apps. Bear in mind these tips are “at your own risk” and may involve you later referring to the section “Ok, I bricked my phone”. Before proceeding make sure that you have adb and fastboot installed on your system. To verify if these are installed open a terminal and type adb devices with your phone connected. You should see your phone listed under the attached devices.
You should also be able to run fastboot from the terminal. If you run fastboot, a set of parameter options should be displayed. If you do not have adb or fastboot installed, a quick Google search with your operating system will return several quick starts on how to install them. In addition to adb and fastboot you will need Git. If you do not currently have Git installed, have a look at this setup guide. Finally make sure your phone is set up for remote debugging as described in the previous section.
Once you have the prerequisites you can open a terminal and cd to the directory you would like to clone the Gaia source code to. Type the following commands:
git clone git://github.com/mozilla-b2g/gaia.git gaia
cd gaia
This will clone the current Gaia code to your system.
If you plan on submitting changes back to the Gaia source, be sure to fork the source before cloning as described in Hacking Gaia.
Currently the Geeksphone Keon uses the v1.0.1 branch of Gaia code, so set the proper branch using the following command before you do anything else:
git checkout -b v1.0.1 origin/v1.0.1
Most of the system apps are located in the apps subdirectory of gaia. You can now make any changes to these Firefox OS apps you wish. Once you have made changes, make sure your device is mounted properly by first running:
adb remount
Next, run the following command to push the modified apps to your phone. This will by default push all the system apps to the phone:
B2G_SYSTEM_APPS=1 make install-gaia
If you only changed one of the apps you can specify the particular app using similar syntax. In this example only the calendar app will be pushed to the phone:
APP=calendar B2G_SYSTEM_APPS=1 make install-gaia
If you have issues while making the changes, you can reset the phone to default values using either of the following commands:
make production
make reset-gaia
Note: Bear in mind that either of the above commands will clear any data or apps that you have pushed to the phone. If you want to backup your data and restore afterwards, you can follow the instructions at Backup the phone system partition.
"Ok, I bricked my phone"
If you are in the process of modifying your phone and it becomes “unresponsive” you should be able to recover it using fastboot with a simple procedure. The following illustrates resetting the Keon but other phones should have a similar process. You will also need to verify that you have fastboot and ADB installed (try typing fastboot
and adb
in the command line if you are not sure).
- Remove the USB cable and then remove the battery from the phone for 30 seconds.
- Reinsert the battery and hold down the volume up and power buttons at the same time, for a few seconds, until the system recovery menu appears.
- Reconnect the USB cable
- Type in the command run adb reboot bootloader.
- When the phone reboots and starts to show the Geeskphone logo, you are now in fastboot mode; run the following commands from a terminal window in the directory that contains the latest img files described in the first section of this post:
fastboot flash recovery recovery.img
fastboot flash boot boot.img
fastboot flash userdata userdata.img
fastboot flash system system.img
fastboot reboot
This process should recover your phone. If it doesn't seem to work, you may have to try it a second time.
Go play!
We hope these instructions are useful to you, and naturally we want you to be as happy about Firefox OS and the possibilities as we are! Feel free to play around with updating your devices, make changes/updates to Gaia apps, and also be inspired to build you own open web apps.