Category Archives: Firefox OS

FairPhone2というパーツ単位で買えるスマホとUbuntu Touch


FAIRPHONEという会社から、自分たちで作るスマホ
ということで、FairPhoneというものが企画されています。

過去に、FairPhone 1として、Android 4.2のスマホが販売されたようです。
FairPhone2という最新版では、各部品/基板のスペアパーツも含めて販売されています。

肝心のスペックは、といえば・・・

Android 5.1
Snapdrago 801 (MSM8974AB)
RAM 2GB
ストレージ 32GB
5.0インチ 1920×1080
WCDMA Band1(2100),2(1900),8(900)
LTE Band 3(1800), 7(2600), 20(800)

という感じ。
このスペックで、「Pre-Order」で「5月1日発売予定で529.38ユーロ」という表示って、どういうことなのか、よくわかりません・・・
フォーラムを見ると、既に使っている人もいるようで、品切れ再生産待ちなのか、開発者向けのみなのか???

で・・・このFairPhone2で動くUbuntu Touchが出たようです。
Ubuntu Touch for FairPhone2
関連するgithub「https://github.com/ubports/android_kernel_fairphone_fp2
Firmware書き換えツール「https://github.com/MariusQuabeck/magic-device-tool

が・・・Getting Startedを見てみると、WiFiのみで、モバイル通信は怪しい模様。

Firmware書き換えツールのMagic-Device-Toolは、下記機種の大して、Ubuntu Phone / Ubuntu Touch, Android, CyanogenMod, Maru OS, Sailfish OS and Phoenix OS、の入れ替えを行うためのものだそうな。
BQ Aquaris E4.5 (krillin)
BQ Aquaris E5 HD (vegetahd)
BQ Aquaris M10 HD (cooler)
BQ Aquaris M10 FHD (frieza)
Meizu MX 4 (arale)
LG Nexus 4 (mako)
LG Nexus 5 (hammerhead)
Asus Nexus 7 2013 WiFi (flo)
Asus Nexus 7 2013 LTE (deb)
Samsung Nexus 10 (manta)
OnePlus One (bacon)
Fairphone 2 (FP2)

対応機種を持っていると面白いかも?

Firefox OSのProject Tabletとは何者だ?


スマートフォン事業から撤退したFirefox OS、最近はどんな更新が入ってるんだろう?と、githubのBoot to Gecko(B2G)ソースツリーを見てみた。

project-tabletという文字列がちらほら。

Mozillaの公式プロジェクト「Connected Devices/Projects/Project Tablet」というのを発見。
2016/05/11に最初の成果物をリリースした状況であるようだ。

ブラウザのみが動作する軽量OSをタブレット上に載っける、というのが基礎理念のようだ。

600px-Project_Tablet_Architecture

元々、Firefox OSは、GAIA/GECKO/GONKの3階層に別れていた。
GAIA:Firefox OS独自のユーザインタフェースのこと(Mozilla Developrer Network:B2G OS/Firefox OS プラットフォーム/Gaia)
GECKO:Firefox OSのOS基盤でAndroid OS(AOSP)から必要な部分を流用しています(Mozilla Developrer Network:B2G OS/Firefox OS プラットフォーム/Gecko)
GONK:ブラウザFirefoxの画面表示機構(レイアウトエンジン)です(Mozilla Developrer Network:B2G OS/Firefox OS プラットフォーム/Gonk)

それが、この図を見る限り、Project TabletではGAIAは退役で、ブラウザ上でのUI表現となり、
独自にカスタマイズしていたOS基盤をやめ、Android OS(AOSP)そのものを使うようです。

「System Chrome」とあるので、ブラウザエンジンも「Google Chrome」に乗り換えるのか?と焦りましたが、「アプリケーションウィンドウのコンテンツ領域の外側にあるユーザーインターフェイス要素のセット」のことを、「Chrome」と呼ぶようで、Google Chromeブラウザとは関係ありませんでした。(Mozilla Developrer Network:Chrome (クロム) とは?)

で・・・現段階のProject Tabeltは下記の2つの環境で試せるようだ
・Linux PC上で動作させるブラウザベースの環境
・Sony Xperia Z2 Tablet上に書き込んで使う環境

Xperia Z2 Tabletは、Android Lollipopにアップデートした後、ブートローダをunlockしてから、Firefox OSイメージを書き込む、という手順で行うようだ。
なお、Z2 Tabletは、WiFiモデルも、LTEモデルも、どちらも対応しているようだが、LTEモデルは不安定、とのこと。

freetel用にfirefox osが作れるかチャレンジ(失敗


Firefox OSの機種定義に「tara」という名前でSpreadtrumのSC8810を積んでいるらしいものの定義がある。
このSC8810というのは、freetelが採用しているSC7710の元となったチップで、具体的な違いとしては、SC8810は中国専用3GのTD-SCDMA用、SC7710はW-CDMA用という所。
なので、freetel用にFirefox OSが作れないのかな?と環境を作成してみることに・・・

osakanataro@ubuntu:/work/B2G$ ./config.sh tara
Get git://github.com/mozilla-b2g/b2g-manifest
remote: Counting objects: 1068, done.
remote: Compressing objects: 100% (608/608), done.
remote: Total 1068 (delta 701), reused 779 (delta 441)
Receiving objects: 100% (1068/1068), 223.63 KiB | 188 KiB/s, done.
Resolving deltas: 100% (701/701), done.
From git://github.com/mozilla-b2g/b2g-manifest
 * [new branch]      master     -> origin/master
 * [new branch]      v1-train   -> origin/v1-train
 * [new branch]      v1.0.0     -> origin/v1.0.0
 * [new branch]      v1.0.1     -> origin/v1.0.1
 * [new branch]      v1.1.0hd   -> origin/v1.1.0hd
 * [new branch]      v1.2       -> origin/v1.2
 * [new branch]      v1.2f      -> origin/v1.2f
 * [new tag]         B2G_1_0_1_20130213094222 -> B2G_1_0_1_20130213094222
 * [new tag]         B2G_1_1_0_hd_20130530182315 -> B2G_1_1_0_hd_20130530182315
 * [new tag]         B2G_1_1_0_hd_20130530182315_BASE -> B2G_1_1_0_hd_20130530182315_BASE
 * [new tag]         closing-nightly -> closing-nightly

Your Name  [osakanataro]:
Your Email [osakanataro@ubuntu.(none)]: osakanataro@~

Your identity is: osakanataro <osakanataro@~>
is this correct [y/N]? y

Testing colorized output (for 'repo diff', 'repo status'):
  black    red      green    yellow   blue     magenta   cyan     white
  bold     dim      ul       reverse
Enable color display in this user account (y/N)? n

repo has been initialized in /work/B2G
Fetching project platform/external/bluetooth/glib
Fetching project platform/external/safe-iop
Fetching project platform/external/tagsoup
Fetching project platform/external/strace
Fetching projects:   1% (1/84)  Fetching project platform/hardware/libhardware
Fetching projects:   2% (2/84)  Fetching project platform/external/libnfc-nxp
Fetching projects:   3% (3/84)  Fetching project platform/external/dbus
Fetching projects:   4% (4/84)  Fetching project platform/external/flac
Fetching projects:   5% (5/84)  Fetching project platform/external/wpa_supplicant
Fetching projects:   7% (6/84)  Fetching project gaia.git
Fetching projects:   8% (7/84)  Fetching project platform/prebuilt
Fetching projects:   9% (8/84)  Fetching project device/common
Fetching projects:  10% (9/84)  Fetching project platform/libcore
Fetching projects:  13% (11/84)  Fetching project platform/external/gcc-demangle
Fetching project platform/external/protobuf
Fetching projects:  14% (12/84)  Fetching project platform/external/bluetooth/hcidump
Fetching projects:  15% (13/84)  Fetching project platform/external/iptables
Fetching projects:  16% (14/84)  Fetching project platform/external/zlib
Fetching projects:  17% (15/84)  Fetching project platform/external/skia
Fetching projects:  19% (16/84)  Fetching project platform/system/vold
Fetching projects:  20% (17/84)  Fetching project platform/external/liblzf
Fetching projects:  21% (18/84)  Fetching project platform/external/apache-http
Fetching projects:  22% (19/84)  Fetching project platform/external/dnsmasq
Fetching projects:  23% (20/84)  Fetching project platform/external/speex
Fetching projects:  25% (21/84)  Fetching project platform/system/core
Fetching projects:  26% (22/84)  Fetching project platform/external/bluetooth/bluez
Fetching projects:  27% (23/84)  Fetching project platform/external/giflib
Fetching projects:  28% (24/84)  Fetching project platform/system/bluetooth
Fetching projects:  29% (25/84)  Fetching project platform/external/icu4c
Fetching projects:  30% (26/84)  Fetching project platform/frameworks/base
Fetching projects:  32% (27/84)  Fetching project platform/external/libpng
Fetching projects:  33% (28/84)  Fetching project platform/bionic
Fetching projects:  34% (29/84)  Fetching project platform/external/webp
Fetching projects:  35% (30/84)  Fetching project platform/external/libnl-headers
Fetching projects:  36% (31/84)  Fetching project platform/external/expat
Fetching projects:  38% (32/84)  Fetching project platform/system/netd
Fetching projects:  39% (33/84)  Fetching project platform/external/bsdiff
Fetching projects:  40% (34/84)  Fetching project platform/external/jpeg
Fetching projects:  41% (35/84)  Fetching project platform/external/freetype
Fetching projects:  42% (36/84)  Fetching project platform/frameworks/opt/emoji
Fetching projects:  44% (37/84)  Fetching project platform/bootable/recovery
Fetching projects:  45% (38/84)  Fetching project platform/external/sqlite
Fetching projects:  46% (39/84)  Fetching project platform/external/dhcpcd
Fetching projects:  47% (40/84)  Fetching project platform/external/libphonenumber
Fetching projects:  48% (41/84)  Fetching project platform/external/yaffs2
Fetching projects:  50% (42/84)  Fetching project platform/external/openssl
Fetching projects:  51% (43/84)  Fetching project platform/external/mksh
Fetching projects:  52% (44/84)  Fetching project platform_build
Fetching projects:  53% (45/84)  Fetching project rilproxy
Fetching projects:  54% (46/84)  Fetching project platform/external/tremolo
Fetching projects:  55% (47/84)  Fetching project platform/external/stlport
Fetching projects:  57% (48/84)  Fetching project platform/external/tinyalsa
Fetching projects:  58% (49/84)  Fetching project device/sprd
Fetching projects:  59% (50/84)  Fetching project platform/system/extras
Fetching projects:  60% (51/84)  Fetching project platform/hardware/libhardware_legacy
Fetching projects:  61% (52/84)  Fetching project platform/external/bzip2
Fetching projects:  63% (53/84)  Fetching project platform/external/sonivox
Fetching projects:  64% (54/84)  Fetching project gonk-misc
Fetching projects:  65% (55/84)  Fetching project platform/external/jhead
Fetching projects:  66% (56/84)  Fetching project platform/external/fdlibm
Fetching projects:  67% (57/84)  Fetching project platform/frameworks/support
Fetching projects:  69% (58/84)  Fetching project platform/external/webrtc
Fetching projects:  70% (59/84)  Fetching project platform/external/libgsm
Fetching projects:  71% (60/84)  Fetching project gecko.git
Fetching projects:  72% (61/84)  Fetching project platform/external/iproute2
Fetching projects:  73% (62/84)  Fetching project platform/external/llvm
Fetching projects:  75% (63/84)  Fetching project fake-dalvik
Fetching projects:  76% (64/84)  Fetching project screencap-gonk
Fetching projects:  77% (65/84)  Fetching project moztt
Fetching projects:  78% (66/84)  Fetching project librecovery
Fetching projects:  79% (67/84)  Fetching project u-boot
Fetching projects:  80% (68/84)  Fetching project platform/external/harfbuzz
Fetching projects:  82% (69/84)  Fetching project platform/external/libvpx
Fetching projects:  83% (70/84)  Fetching project platform/system/media
Fetching projects:  84% (71/84)  Fetching project platform/ndk
Fetching projects:  85% (72/84)  Fetching project platform/external/gtest
Fetching projects:  86% (73/84)  Fetching project platform/abi/cpp
Fetching projects:  88% (74/84)  Fetching project platform/external/wpa_supplicant_8
Fetching projects:  89% (75/84)  Fetching project apitrace
Fetching projects:  90% (76/84)  Fetching project kernel/common
Fetching projects:  91% (77/84)  Fetching project vendor/sprd/proprietories
Fetching projects:  92% (78/84)  Fetching project platform/external/e2fsprogs
Fetching projects:  94% (79/84)  Fetching project platform/hardware/broadcom/wlan
Fetching projects:  95% (80/84)  Fetching project platform/hardware/ril
Fetching projects: 100% (84/84), done.
error: revision sprdroid4.0.3_vlx_3.0_b2g in platform/abi/cpp not found
Repo sync failed
osakanataro@ubuntu:/work/B2G$

・・・

う~ん・・・これのエラーはどこらを見ればいいんだろうか?

osakanataro@ubuntu:/work/B2G$ ./repo status

project abi/cpp/
  missing (run "repo sync")

project bionic/
  missing (run "repo sync")

project bootable/recovery/
  missing (run "repo sync")

project build/
  missing (run "repo sync")

project dalvik/
  missing (run "repo sync")

project device/common/
  missing (run "repo sync")

project device/sprd/
  missing (run "repo sync")

project external/apache-http/
osakanataro@ubuntu:/work/B2G$ ./repo sync abi/cpp
Fetching project platform/abi/cpp
Fetching projects: 100% (1/1), done.
error: revision sprdroid4.0.3_vlx_3.0_b2g in platform/abi/cpp not found
osakanataro@ubuntu:/work/B2G$

「abi/cpp」でのエラーか

osakanataro@ubuntu:/work/B2G$ ./repo list abi/cpp
abi/cpp : platform/abi/cpp
osakanataro@ubuntu:/work/B2G$ ./repo info abi/cpp
error: manifest required for this command -- please run init
Manifest branch: sprdroid4.0.3_vlx_3.0_b2g
Manifest merge branch: master
Manifest groups: all,-notdefault
----------------------------
Project: platform/abi/cpp
Mount path: /work/B2G/abi/cpp
Current revision: sprdroid4.0.3_vlx_3.0_b2g
osakanataro@ubuntu:/work/B2G$

abi/cpp関連で怪しそうな情報をfind/grepで探してみる。

osakanataro@ubuntu:/work/B2G/.repo/projects/abi/cpp.git$ cat config
[core]
        repositoryformatversion = 0
        filemode = true
[user]
        email = osakanataro@~
[remote "sprd"]
        url = http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
        projectname = platform/abi/cpp
        fetch = +refs/heads/*:refs/remotes/sprd/*
osakanataro@ubuntu:/work/B2G/.repo/projects/abi/cpp.git$ cat FETCH_HEAD
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-factoryrom-2
-release' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr0' of http
://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr0-release'
 of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr1' of http
://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr1-release'
 of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-plus-aosp' o
f http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
eb789ea833d8d800662b67914d9c1785a58c2caa                branch 'jb-dev' of http:
//sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
eb789ea833d8d800662b67914d9c1785a58c2caa                branch 'jb-release' of h
ttp://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
eb789ea833d8d800662b67914d9c1785a58c2caa                branch 'master' of http:
//sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'tools_r20' of ht
tp://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
22e70042effef3aca9526d3e22f63eac23de782e        not-for-merge   tag 'FIREFOXOS_t
esttwo' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
a858064180600aed773e7b5e365b43e872dc119d        not-for-merge   tag 'FIREFOXOS_v
osakanataro@ubuntu:/work/B2G/.repo/projects/abi/cpp.git$ cat FETCH_HEAD
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-factoryrom-2-release' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr0' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr0-release' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-mr1-release' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'ics-plus-aosp' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
eb789ea833d8d800662b67914d9c1785a58c2caa                branch 'jb-dev' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
eb789ea833d8d800662b67914d9c1785a58c2caa                branch 'jb-release' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
eb789ea833d8d800662b67914d9c1785a58c2caa                branch 'master' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6426040f1be4a844082c9769171ce7f5341a5528                branch 'tools_r20' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
22e70042effef3aca9526d3e22f63eac23de782e        not-for-merge   tag 'FIREFOXOS_testtwo' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
a858064180600aed773e7b5e365b43e872dc119d        not-for-merge   tag 'FIREFOXOS_v1.2_W13.42.4' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
755b7feb3226223f6b77377a5e748e1ac47cfbd4        not-for-merge   tag 'android-4.0.1_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6e21cf94291ff0ff67ead081e907b21c46b74075        not-for-merge   tag 'android-4.0.1_r1.1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
9bf3f8b31fc175df486596ae123d4416321cc8c4        not-for-merge   tag 'android-4.0.1_r1.2' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
a4f468880c7d2058fed25e19a90ad288c6d22925        not-for-merge   tag 'android-4.0.2_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
1f7abe1dd3a3d37f7c852aa877c576f3cdb4a042        not-for-merge   tag 'android-4.0.3_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
1613612046aeadcad431fbea9e056685904f93a1        not-for-merge   tag 'android-4.0.3_r1.1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
437e3997ed5275a19b7e2cf3b130c765c791c9b9        not-for-merge   tag 'android-4.0.4_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
0a03a7b231c2ae0529e22c8c7604d44f7e3f3e68        not-for-merge   tag 'android-4.0.4_r1.1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
711142b99de01e9129dec2cc7325315e54996d10        not-for-merge   tag 'android-4.0.4_r1.2' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
00d1d44867ab708d09f7259b29ddfe8ab57008d7        not-for-merge   tag 'android-4.0.4_r2' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
dd924f92906085b831bf1cbbc7484d3c043d613c        not-for-merge   tag 'android-4.0.4_r2.1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
e98b9655ab62adbdc22f7acbe083dbec8ee32c29        not-for-merge   tag 'android-4.1.1_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
54d67e380f48d003d8922c17908adc192b375d02        not-for-merge   tag 'android-4.1.1_r1.1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
e519a423ee05d3f3c66e530264626504d66cb7d4        not-for-merge   tag 'android-4.1.1_r2' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
a0ea794ba309c907492e3a4f8da80f604bc6e1ce        not-for-merge   tag 'android-4.1.1_r3' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
ea461d03727143eb07764870765948a0eca9c0a8        not-for-merge   tag 'android-cts-4.0.3_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
c9afdbb55d6ea53b805341ea2dcbffac816483f3        not-for-merge   tag 'android-cts-4.0.3_r2' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
b97e7e49feba85359a8770d731cf4817b31ff1ad        not-for-merge   tag 'android-cts-4.0_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6bee6a867b7ede626161d81419166b5e6a0c1239        not-for-merge   tag 'android-cts-verifier-4.0.3_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
4d171d013d1230af6b2ec7d35b63b2abc05c46df        not-for-merge   tag 'android-cts-verifier-4.0_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
5ddf451125b935e18a6ef60c753a483293790091        not-for-merge   tag 'android-sdk-4.0.3-tools_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
460f661655dc22d49a03ab841c60dc7740041740        not-for-merge   tag 'android-sdk-4.0.3_r1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
6c842d709146619646cb4e38e0f6d6ad8b7d7601        not-for-merge   tag 'android-sdk-adt_r16.0.1' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
117d9f9e9275b88650f0465776b859d982f591f2        not-for-merge   tag 'android-sdk-adt_r20' of http://sprdsource.spreadtrum.com:8085/b2g/platform/abi/cpp
osakanataro@ubuntu:/work/B2G/.repo/projects/abi/cpp.git$

この中に「sprdroid4.0.3_vlx_3.0_b2g」というのはないようだ。
ここらあたりが原因か?

これを別のやつに切り替える方法とかあるんだろうか???


2013/12/04 追記

「sprdroid4.0.3_vlx_3.0_b2g」を検索していたら「Bug 929945 – [Fugu][B2G]Enable 128RAM config for fugu device」というFirefox OSの修正に関する記述を見つけた。
SC7710搭載でメモリが少ないというFuguというデバイス向けの修正である。

コメントを見ていくと、「https://github.com/sprd-ffos/device-sprd」というURLが出てくる。
また、このBugzillaを「FUgu」で検索していくと「http://github.com/prcxuying/b2g-manifest」というのも出てくる。

http://github.com/prcxuying/b2g-manifest に登録されているfugu.xmlを見ると、sprdroid4.0.3_vlx_3.0_b2g を使っていないので、コンパイルできるのではないかと期待。

osakanataro@ubuntu:/work/B2G$ export GITREPO=git://github.com/prcxuying/b2g-manifest
osakanataro@ubuntu:/work/B2G$ ./config.sh fugu
Get git://github.com/prcxuying/b2g-manifest
remote: Counting objects: 1013, done.
remote: Compressing objects: 100% (574/574), done.
remote: Total 1013 (delta 671), reused 737 (delta 420)
Receiving objects: 100% (1013/1013), 211.26 KiB | 113 KiB/s, done.
Resolving deltas: 100% (671/671), done.
From git://github.com/prcxuying/b2g-manifest
 * [new branch]      master     -> origin/master
 * [new branch]      v1-train   -> origin/v1-train
 * [new branch]      v1.0.0     -> origin/v1.0.0
 * [new branch]      v1.0.1     -> origin/v1.0.1
 * [new branch]      v1.1.0hd   -> origin/v1.1.0hd
 * [new branch]      v1.2       -> origin/v1.2
 * [new tag]         B2G_1_0_1_20130213094222 -> B2G_1_0_1_20130213094222
 * [new tag]         B2G_1_1_0_hd_20130530182315 -> B2G_1_1_0_hd_20130530182315
 * [new tag]         B2G_1_1_0_hd_20130530182315_BASE -> B2G_1_1_0_hd_20130530182315_BASE
 * [new tag]         closing-nightly -> closing-nightly

Your Name  [osakanataro]:
Your Email [osakanataro@ubuntu.(none)]: osakanataro@~

Your identity is: osakanataro <osakanataro@~>
is this correct [y/N]? y

Testing colorized output (for 'repo diff', 'repo status'):
  black    red      green    yellow   blue     magenta   cyan     white
  bold     dim      ul       reverse
Enable color display in this user account (y/N)? n

repo has been initialized in /work/B2G
Fetching project platform/development
Fetching project device/sample
Fetching project platform_external_apriori
Fetching project platform_external_elfcopy

<略>
system/extras/: discarding 2 commits
system/media/: discarding 1 commits
system/netd/: discarding 10 commits
system/vold/: discarding 11 commits
u-boot/: discarding 43 commits
vendor/sprd/proprietories/: discarding 15 commits
Run |./build.sh| to start building
osakanataro@ubuntu:/work/B2G$

Firefox OSがSpereadtrum SC8810対応に?


Firefox OSのソースコードにPEAK対応が追加されたよ。というので見てみたら、Spereadtrumチップに対応しているのを発見。

B2G/config.shによれば「tara」というコードネームのマシンが「sp8810ea」と定義されてた。

いつ追加されたのかなぁ?と調べてみると2013/04/04「Add tara device support」だった。

さて、この「sp8810ea」とは何かとゆーと、以前に「SpreadtrumのSC8810(SP8810)とSC9610というCPU」という記事でも紹介したが、
中国にあるSpereadtrum社の製造する、GSMと、中国専用の3G TD-SCDMAに対応した、Cortex-A5ベースのCPU SC8810のことだと思います。
中華Android業界では、なぜかよくわかりませんが、「SC8810」ではなく「SP8810」と表記されることが多いです。

わざわざこいつに対応するとは、中国とか、GSMしかない国とかで、廉価スマートフォンとして、かなり売り込む気まんまんですね。

・・・あれ?
検索したら、ずばりそのもののリリースを発見。

2012/07/16発表のSpreadrum社公式リリース「Spreadtrum Low-Cost Smartphone with HTML5 Operating System Demonstrated at Mobile Asia Congress 2012

ようやく、表に出てきた、という感じみたいですね。

さて、現状発売されていいるSC8810搭載機について、fastcardtechで見る限り

とか、そんな感じの価格です。
K-Touch、Lenovoも出しているのがちょっと意外です。

まぁ、個人的には、MediaTekチップセットに対応するべきなんじゃん?と思うわけですが、そこまではやらないのかなぁ・・・

Firefox OSをビルド中


Firefox OSの開発機「Otoro」「Unagi」ってのは、どうもあまりスペックが高くない端末らしい、という話は把握していたものの、実体がよく分からないなぁ、と放置していました。

で、このたび、「Announcing the Firefox OS Developer Preview Phone!」ということで、Geekphone取り扱いで「Keon」と「Peak」の2機種が入手可能になるということがアナウンスされた。

外見とかスペック(Snapdragon S1 1GHz, HVGA, RAM 512MB)とかを考えると、ZTE V788D(MSM7225A)や、Xperia E(MSM7227A)あたりが該当しそうだなぁ、と

そして、先日手に入れたK-Touch W619も同じQualcommのMSM7225A系統。
もしかしたら動くかなぁ?とビルドしてみることにしました。

とりあえず、ソースファイル群を取得し、確認したところ、otoroとunagiの構成に関するファイルは、「B2G/device/qcom/」ディレクトリにありました。
CPUはどちらもMSM7627A、と予想よりはちょっとだけ上でした。
無線LANはunagiは、NL80211とath6kl_sdio(SDIO接続)
otoroは、ar6000という違いがありそうな感じ。
まぁ、見方が間違っているような気もしますけど・・・

とりあえず、otoro想定で、buildを開始してみてます。

まだ、Build途中ですが、すでにはまった点があるので公開しておきます。

・Ubuntu 12.10にしてたらはまった。
すでにUbuntu 12.10 32bit環境があったので、そこに構築したらビルドが早々にエラーになった。
公式の「Firefox OS ビルドの必要条件」にあるように「デフォルトホストコンパイラの変更方法」をおこなう必要があったようだ。
まぁ、64bit環境にかえた方がよさそう、というのもあったので、Ubuntu 12.04 64bit環境で作り直しました。

Firefox OS側の手順Android側の手順とでパッケージ選択に差異がある
同じAndroid開発環境をベースとしているわりに、差異があった。
とりあえず、両方に書かれているパッケージ選択をそのままやっておいた。

また、javaについては「openjdk-6-jdk」を選択しておいた。

・build.sh実行時に「-j2」を指定したら失敗した
オプションなしで実行したら進んだ。

・割り当てメモリが少ないと失敗しやすい?

make[7]: *** [TabChild.o] エラー 1
make[7]: *** 未完了のジョブを待っています....
arm-linux-androideabi-g++: Internal error: Killed (program cc1plus)
Please submit a full bug report.
See <http://gcc.gnu.org/bugs.html> for instructions.

In the directory  /work/firefox/B2G/objdir-gecko/dom/ipc
The following command failed to execute properly:

こんな感じのエラーがでます。
公式の「Boot to Gecko のビルド」に空きメモリがないから、と書いてあります。

まぁ、仮想マシンで1.2GBの割り当てで構成しているからですね。
もう1回、build.shを実行すると先に進む程度の失敗のようです。

そんなわけで、終わるのにはまだまだ時間がかかりそうです。