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$

CentOS6ベースでカスタムLiveCDを作る

CentOS6ベースでカスタムLiveCDを作ろうとして、何点か悩んだ。
(「CentOS6でカスタムインストールDVD作成」という記事もあります)

BIOSブートで悩んだ点
・ブートオプションに「quiet rhgb」がついていると画面がちゃんと表示されない
  → isolinux/isolinux.cfg を編集して対処

EFIブートで悩んだ点
・grubより先に進まない
001
上記の画面のまま進まない。

ブート選択を表示させてから、「b」でブートしようとすると、黒画面になるが、キーを何か入力するとgrubに戻る状態

→ LiveCDのisoファイルのEFI/BOOT/grub.confを見るとgrub.conf内の指定が「EFI/boot/~」
 大文字小文字の違いにより必要なファイルがとってこれていない模様

そんな訳で、最終的に作成できたKickStart用ファイルは以下となります。

lang en_US.UTF-8
#keyboard us
keyboard jp106
#timezone US/Eastern
timezone --utc Asia/Tokyo
auth --useshadow --enablemd5
selinux --enforcing
firewall --disabled
rootpw --plaintext password

#repo --name=base   --baseurl=ftp://ftp.redhat.com/pub/redhat/rhel/beta/6Server-beta2/$basearch/os/
#repo --name=base   --baseurl=http://mirror.centos.org/centos/6/os/$basearch
repo --name=base   --baseurl=http://ftp.riken.jp/Linux/centos/6/os/$basearch
repo --name=update --baseurl=http://ftp.riken.jp/Linux/centos/6/updates/$basearch
repo --name=epel   --baseurl=http://download.fedoraproject.org/pub/epel/6/$basearch

%packages
@core
anaconda-runtime
bash
kernel
syslinux
passwd
policycoreutils
chkconfig
authconfig
rootfiles

%end

%post --nochroot

cat > /root/postnochroot-install << EOF_postnochroot
sed -i "s/ quiet / /"             \$LIVE_ROOT/isolinux/isolinux.cfg
sed -i "s/ rhgb / /"              \$LIVE_ROOT/isolinux/isolinux.cfg
#
sed -i "s/ quiet / /"             \$LIVE_ROOT/EFI/BOOT/isolinux.cfg
sed -i "s/ rhgb / /"              \$LIVE_ROOT/EFI/BOOT/isolinux.cfg
sed -i "s/\/EFI\/boot\//\/EFI\/BOOT\//"    \$LIVE_ROOT/EFI/BOOT/isolinux.cfg
sed -i "s/ quiet / /"             \$LIVE_ROOT/EFI/BOOT/grub.conf
sed -i "s/ rhgb / /"              \$LIVE_ROOT/EFI/BOOT/grub.conf
sed -i "s/\/EFI\/boot\//\/EFI\/BOOT\//"    \$LIVE_ROOT/EFI/BOOT/grub.conf
sed -i "s/ quiet / /"             \$LIVE_ROOT/EFI/BOOT/BOOTX64.conf
sed -i "s/ rhgb / /"              \$LIVE_ROOT/EFI/BOOT/BOOTX64.conf
sed -i "s/\/EFI\/boot\//\/EFI\/BOOT\//"    \$LIVE_ROOT/EFI/BOOT/BOOTX64.conf

EOF_postnochroot

/bin/bash -x /root/postnochroot-install 2>&1 | tee /root/postnochroot-install.log

%end

このファイルの原型は「https://projects.centos.org/trac/livecd/browser/trunk/CentOS6」にあるrhel6beta-livecd-minimal.ksです。
「post –nochroot」のところはrhel6beta-livecd-desktop.ksを参考にしています。

主な変更点
・レポジトリ指定をCentOS+EPEL
・rootパスワードは「password」とする
・タイムゾーンとキーボードを日本向け
・langは、コンソールで使うため英語のまま

isoイメージ作成の手法については「Creating a LiveCD image」にあるとおり。

# LANG=C livecd-creator --config=livecd.ks --fslabel=CentOS-minimal

で実行しています。

USB電力計 サンワサプライ TAP-TST10をLinuxで使ってみた

サンワサプライから発売された「ワットモニターUSB TAP-TST10」というUSB接続タイプの電力計をLinuxで使ってみた。

埜中公博さんの「SANWA SUPPLY TAP-TST10 control tool」を使ってデータ取得しました。
githubにある「taptst10ctl.py」をCentOS6で動作させてみました。
(2013/11/19: 公開場所が変わりました「https://github.com/nonakap/taptst10ctl」。USBのデバイスへのアクセス手法の違いで「taptst10ctl.py」と「taptst10ctl0.py」があります)

# python taptst10ctl.py
Traceback (most recent call last):
  File "taptst10ctl.py", line 42, in <module>
    import usb.core
ImportError: No module named usb.core
#

あー・・・pyusbが入ってないからか・・・
pyusb-1.0.0a2.zipをダウンロードしてきて「python setup.py install」

# python taptst10ctl.py
Traceback (most recent call last):
  File "taptst10ctl.py", line 60, in <module>
    dev.set_configuration()
  File "/usr/lib/python2.6/site-packages/usb/core.py", line 547, in set_configuration
    self._ctx.managed_set_configuration(self, configuration)
  File "/usr/lib/python2.6/site-packages/usb/core.py", line 92, in managed_set_configuration
    self.backend.set_configuration(self.handle, cfg.bConfigurationValue)
  File "/usr/lib/python2.6/site-packages/usb/backend/libusb10.py", line 503, in set_configuration
    _check(_lib.libusb_set_configuration(dev_handle, config_value))
  File "/usr/lib/python2.6/site-packages/usb/backend/libusb10.py", line 403, in _check
    raise USBError(_str_error[ret], ret, _libusb_errno[ret])
usb.core.USBError: [Errno 16] Resource busy
#

「Resource busy」と何か別のプログラムが使っているらしい。

USBRH driver for Linux を CentOS 5 で使う」で紹介されている手法、手動でusbhidの認識を解除してみる方法を行ってみた。

# cd /sys/bus/usb/drivers/usbhid
#  ls -l
lrwxrwxrwx 1 root root    0  7月 17 09:38 2013 4-2:1.0 -> ../../../../devices/pci0000:00/0000:00:12.1/usb4/4-2/4-2:1.0
--w------- 1 root root 4096  7月 17 09:25 2013 bind
lrwxrwxrwx 1 root root    0  7月 17 09:25 2013 module -> ../../../../module/usbhid
--w------- 1 root root 4096  7月 17 09:25 2013 new_id
--w------- 1 root root 4096  7月 17 09:25 2013 remove_id
--w------- 1 root root 4096  7月 17 09:25 2013 uevent
--w------- 1 root root 4096  7月 17 09:25 2013 unbind
# echo "4-2:1.0" > unbind
# ls
bind  module  new_id  remove_id  uevent  unbind
#

これでusbhidを解除できたので、改めて実行。

# .taptst10ctl.py
No.,DateTime,Watt,kWh
1,2013/07/13 07:50,0.0,0.00
2,2013/07/13 08:00,47.0,0.00
3,2013/07/13 08:10,44.8,0.01
4,2013/07/13 08:20,18.5,0.01
5,2013/07/13 08:30,18.5,0.01
6,2013/07/13 08:40,18.1,0.02
<略>
637,2013/07/17 18:00,87.4,2.76
638,2013/07/17 18:10,83.8,2.78
639,2013/07/17 18:20,83.3,2.79
640,2013/07/17 18:30,82.8,2.80
641,2013/07/17 18:40,80.9,2.82
#

ちなみに、時々、以下のような感じで実行に失敗します。
その場合は、再実行すれば、だいたい大丈夫です。

# ./taptst10ctl.py
Traceback (most recent call last):
  File "./taptst10ctl.py", line 92, in <module>
    data = dev.read(ENDPOINT, 17, intf, 1000)
  File "/usr/lib/python2.6/site-packages/usb/core.py", line 654, in read
    self.__get_timeout(timeout)
  File "/usr/lib/python2.6/site-packages/usb/backend/libusb10.py", line 559, in intr_read
    timeout)
  File "/usr/lib/python2.6/site-packages/usb/backend/libusb10.py", line 641, in __read
    timeout))
  File "/usr/lib/python2.6/site-packages/usb/backend/libusb10.py", line 403, in _check
    raise USBError(_str_error[ret], ret, _libusb_errno[ret])
usb.core.USBError: [Errno 110] Operation timed out
#

USB電力計 サンワサプライ TAP-TST10のWindowsでの利用方法

サンワサプライから発売された「ワットモニターUSB TAP-TST10」というUSB接続タイプの電力計っぽいのをAmazonで購入した。

Windowsで使う場合の話を書くのを忘れていた。

TAP-TST10をWindowsにつなぐと以下の様な感じで認識される。

devman-001
devman-003
devman-002

そう、特殊なドライバ無しに、認識される。

では、どうやって、計測したデータを取り出すのか?

専用のアプリケーションを使って、計測データを取り出すことになる。
gra-40days

↑は、2日ちょっといろいろ通電させてみた後に、アプリで計測データを拾ってみたところ。
「計測データ」ボタンを押すと、TAP-TAT10内に保存されている計測済みのデータを収集し、このようなグラフにしてくれるのはいいのですが、横軸(X-Axis)が「40日」で、縦軸(Y-Axis)が「1500ワット」なんて設定になっているところに、「3日」と「100ワット以内の消費電力」なもんだから、小さくてよく分からない。

gra-7days

「7日」「300ワット」にすると↑のような感じになります。

上記のインタフェースを見ればわかるように、基本的には「計測済みデータの表示」用のアプリケーションです。

「いま使っている消費電力は、ずばりいくら!?」

という疑問には答えられないものになっています。

このアプリのスゴイところは、なんと、このご時世にVisual Basic 6.0で作成されているということ。
なので、アプリのインストーラがVB6.0関連DLLをインストールしてきます。

いやー、2013年にもなってそんなソフトがあるとは思いませんでしたよ。
appli
しかも、今時、program files以下に、収集したデータをMDB形式で保存ですよ!

まとめ
・Windows上ではHIDデバイス認識となり、特殊なドライバは不要
・特殊なアプリを使わないと収集したデータを取り出すことはできない
・アプリに、リアルタイム表示機能は搭載されていない
・データ収集間隔は「10分」。変更できるかどうかは不明
・初回電源オン時から強制的に10分カウントが開始される模様
・専用アプリはVB6.0で作られてる

参考:csv出力の内容

No.,DateTime,Watt,kWh
    1,2013/07/13-06:37:11,0,0
    2,2013/07/13-06:47:11,47,0
    3,2013/07/13-06:57:11,44.8,0.01
    4,2013/07/13-07:07:11,18.5,0.01
    5,2013/07/13-07:17:11,18.5,0.01
    6,2013/07/13-07:27:11,18.1,0.02
    7,2013/07/13-07:37:11,18.5,0.02
    8,2013/07/13-07:47:11,18.7,0.02
    9,2013/07/13-07:57:11,17.9,0.03
<略>
  486,2013/07/16-15:27:11,59.6,0.78
  487,2013/07/16-15:37:11,60.3,0.79
  488,2013/07/16-15:47:11,59.5,0.8
  489,2013/07/16-15:57:11,60.1,0.81
  490,2013/07/16-16:07:11,59.6,0.82
  491,2013/07/16-16:17:11,60.1,0.83
  492,2013/07/16-16:27:11,61.1,0.84
  493,2013/07/16-16:37:11,59.9,0.85
  494,2013/07/16-16:47:11,60.2,0.86
  495,2013/07/16-16:57:11,60.5,0.87
  496,2013/07/16-17:07:11,60.5,0.88
  497,2013/07/16-17:17:11,61.5,0.89

USB電力計 サンワサプライ TAP-TST10をLinuxにつなげてみた

サンワサプライから発売された「ワットモニターUSB TAP-TST10」というUSB接続タイプの電力計っぽいのをAmazonで購入した。

ちょうどタイミングが良かったらしく、送料込みで 6082円でした。
(Amazonマーケットプレイス:NANOS-S。青森県弘前発送。発注から発送まで2日弱、到着まで+1日)

Windows8につなげたら、標準のHIDドライバだけで認識。
専用アプリを使うと、測定済みのデータが収集できる、という感じのものだった。
リアルタイム計測の表示は、専用アプリ内には見当たらなかった。

さて・・・Linuxにつなげてみますか!!

# dmesg | tail -4
usb 2-2: new full speed USB device using uhci_hcd and address 2
usb 2-2: configuration #1 chosen from 1 choice
drivers/usb/input/hid-core.c: timeout initializing reports
hiddev96,hidraw96: USB HID v1.10 Device [Weltrent Semiconductor, Inc. HID Device] on usb-0000:00:1d.0-2
# lsusb | grep Weltrend
Bus 002 Device 002: ID 040b:2201 Weltrend Semiconductor
#

なぜか「Weltrend Semiconductor」と「Weltrent Semiconductor」の2種類の表記がある。
さらに詳細をlsusb -vで見てみると下記の通りだが、検索してみたところ「Weltrend Semiconductor」が正当のようだ。

# lsusb -v -s 002:002

Bus 002 Device 002: ID 040b:2201 Weltrend Semiconductor
Device Descriptor:
  bLength                18
  bDescriptorType         1
  bcdUSB               1.10
  bDeviceClass            0 (Defined at Interface level)
  bDeviceSubClass         0
  bDeviceProtocol         0
  bMaxPacketSize0        64
  idVendor           0x040b Weltrend Semiconductor
  idProduct          0x2201
  bcdDevice            0.02
  iManufacturer           1 Weltrent Semiconductor, Inc.
  iProduct                2 HID Device
  iSerial                 0
  bNumConfigurations      1
  Configuration Descriptor:
    bLength                 9
    bDescriptorType         2
    wTotalLength           50
    bNumInterfaces          1
    bConfigurationValue     1
    iConfiguration          0
    bmAttributes         0xa0
      Remote Wakeup
    MaxPower              100mA
    Interface Descriptor:
      bLength                 9
      bDescriptorType         4
      bInterfaceNumber        0
      bAlternateSetting       0
      bNumEndpoints           2
      bInterfaceClass         3 Human Interface Device
      bInterfaceSubClass      0 No Subclass
      bInterfaceProtocol      0 None
      iInterface              0
        HID Device Descriptor:
          bLength                 9
          bDescriptorType        33
          bcdHID               1.10
          bCountryCode            0 Not supported
          bNumDescriptors         1
          bDescriptorType        34 Report
          wDescriptorLength      71
         Report Descriptors:
           ** UNAVAILABLE **
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x82  EP 2 IN
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
      Endpoint Descriptor:
        bLength                 7
        bDescriptorType         5
        bEndpointAddress     0x01  EP 1 OUT
        bmAttributes            3
          Transfer Type            Interrupt
          Synch Type               None
          Usage Type               Data
        wMaxPacketSize     0x0040  1x 64 bytes
        bInterval               1
        UNRECOGNIZED:  09 21 00 01 00 01 22 47 00
#

単純にUSBで接続するにあたり、「USB HID Controller WT65xxシリーズ」を使っているだけのようで、このベンダは電力計とは直接つながりはなさそうな感じである。

# cat /proc/bus/usb/devices
<略>
T:  Bus=02 Lev=01 Prnt=01 Port=01 Cnt=01 Dev#=  2 Spd=12  MxCh= 0
D:  Ver= 1.10 Cls=00(>ifc ) Sub=00 Prot=00 MxPS=64 #Cfgs=  1
P:  Vendor=040b ProdID=2201 Rev= 0.02
S:  Manufacturer=Weltrent Semiconductor, Inc.
S:  Product=HID Device
C:* #Ifs= 1 Cfg#= 1 Atr=a0 MxPwr=100mA
I:  If#= 0 Alt= 0 #EPs= 2 Cls=03(HID  ) Sub=00 Prot=00 Driver=usbhid
E:  Ad=82(I) Atr=03(Int.) MxPS=  64 Ivl=1ms
E:  Ad=01(O) Atr=03(Int.) MxPS=  64 Ivl=1ms
<略>
#

ざっと検索してみたところ、「ID 040b:2201」というデバイスの例は見当たらないようだ。
(ID 040b:2011とかはある)

USBプロトコル解析とかになると、機材無いからできないねん・・・