30-Jan-2013
[うーん…]

現在OpenBSDマシンとして動いている、Pentium Dual-Core E6700を載せたframboise。このマシンは18-Dec-2010に組み替えていますが…このマシン自体は二年しか経過していないものの、マシンの世代としてはPhenom 9500を載せた先代(31-Aug-2008に運用開始)と等しいので四年物として扱っても差し支えはないような気がしています。かなり強引ですけど。

最近非力だなーと感じる場面が増えてきたので、さて組み替えるかなとあれこれ悩んでいるところなのですが…なかなか難しいですね。TDP 65W近辺の4コア以上のCPUでお安い物となると、AMD A8-3820くらいしか候補が見当たりません。2コアならIvy BridgeなCeleron/Pentiumを候補にするんですが。

とりあえず、悩んでいる分にはお金がかからないので悩んでいることにします。そのうちHaswellも出てくるでしょうし、それに伴ってIvy BridgeなCore i3/i5がお安くなる可能性もあるかもしれませんし(どうだか)。58.20kg(22:45)

26-Jan-2013
[うーん…]

24-Jan-2013の続き。これだけ改変してこれくらいの結果を得る(ログは1.6MByteくらいあります)。

src/bin/keymap/Keymap.cppのビルドに失敗するのと、どこかのソースがAppServerLink.hを見失って失敗するのと、stl_algobase.h周りでなんか言われちゃうという三つの問題を解決すれば良いのかな(でもどう直せば良いかよく分からないんだよね)という状態。

haiku-developmentに、work in progressでここまで来てるんだけどどーすりゃいい?って投げて指示を仰ぐのが一番早いかねえ。とはいえ、相手にしてもらえるのかな?

06-Jan-2013の話、実際に自転車で走り回ったのは04-Jan-2013だったりするのだけど…K-01とK-7の二台をバッグに入れて、さらにOptio I-10を持ち歩くのはやっぱり辛いと思っている。自動車で移動するならともかく、自転車や徒歩で移動となると、デジイチ一台にコンデジ一台の組み合わせが限界だろう。

最初はPENTAX DA 18-55mmを付けたK-01+PENTAX DA 50-200mmを付けたK-7の組み合わせで考えていたのだけど、高倍率ズームを装備したGPS付きコンデジ+お気に入りのレンズを付けたK-01もしくはK-7にした方が良さそうだと考えている。コンデジは風景をぱしぱし撮ることを主体に、デジイチには望遠ズームを付けて標識や鉄塔札を撮るなり単焦点を付けて何か気になったものをのんびり撮るとか、そんな感じの分担で。

望遠ズームはお値段考えるとSIGMA (APO) 70-300mmかなあ。APO有りの方が評判は良いんだけど、無しの安さも魅力的(決めかねている)。

問題はコンデジ。光学20倍以上のズーム、ISO3200以上に対応、諭吉さん二枚以内という条件で価格.comを探すとFinePix F770EXR, PowerShot SX260 HS, LUMIX DMC-TZ30, CyberShot DSC-HX30V辺りが候補になるようだ。

価格.comの記事によれば、これらの中で電子コンパスを装備しているのはF770EXR, DSC-HX30Vの二択。静止画重視ならRAWの撮れるF770EXR, 動画重視ならDSC-HX30Vか。これは悩みますねえ。58.25kg(23:25)

24-Jan-2013
[OpenBSD-5.2/amd64でHAIKUをビルドしてみたいんだけどさ]

05-Mar-201208-Mar-2012の続き。結論を先に書くと、未だに実現できていません。何しろ、あの時諦めてずーっと放ったまま、再びちょっといじってみただけなので。

久々にHAIKUのOS本体をビルドに失敗した際のログを眺めてみたら、どうやらhaiku/trunk/build/host/openbsd/endian.hを用意するとちょっとだけ先に進めました(このログは1MB近くあります)。

ソースコードは一年前からあちこち手が入っているようで、jamに対するdiffは以前のものを使えましたが、build_cross_tools_gcc4はdiffを作り直す必要がありました。

buildtoolsはともかく、trunkの中にもホスト環境に依存したコードが随分多数含まれているようで、こいつらをやっつけないと先が無いなーというのが正直な感想です。ファイル名もやたらと長い物が多く、grep <keyword> `find .`なんかで検索しようとすると間違いなくシェルが「引数長すぎ」と悲鳴を上げるので、GNU GLOBAL辺りを使った方が良さそうな感じです(……と書いていますが、ついつい日頃の癖でgrep使っちゃうんですよねえ)。

ぶっちゃけた話、素直にVMware等にUbuntuでも突っ込んでその上で作業した方が早いことは間違いが無いので、この作業は気が向くまで再び凍結するのでありました。57.60kg(03:40)

21-Jan-2013
[(とっくに)ハードウェアの生産を止めていましたか]

イマドキのRiscPC事情はどうなっているのかなー、とCastle Technologyのページを見たらRISC OSのライセンス企業になっちゃってました。リンク先のRISCOS OPENの商品ページを見る限りでは、実機で動かすならRaspberry Pi、そうでなければエミュレータという感じになっているようです。

記憶が間違っていなければ、RISC OSのソースコードは公開されているものの、NetBSDのようにクロス環境でほいっとビルドできるような代物ではない(RISC OS環境が必要)と思うのですが…最近はあんまりチェックしていないのでよく分からないんですよね。

Raspberry Pi、欲しいなあと思いつつまだ入手していません。お金が無いのが一番の理由ではあるんですが、OliunXinoとかも気になるんですよねえ(VIA APCはどうした>俺)。57.70kg(22:30)

19-Jan-2013
[そーゆうもんなのか?]

実はこういう事態で悩んでおったのですが。


uaa@framboise:~$ arm-elf-gcc -v
Using built-in specs.
Target: arm-elf
Configured with: ../configure --target=arm-elf --enable-languages=c --with-newli
b --prefix=/usr/local --enable-interwork --enable-multilib --disable-nls
Thread model: single
gcc version 4.2.4
uaa@framboise:~$ arm-elf-gcc test.c -o test.o
uaa@framboise:~$
uaa@framboise:~$ /usr/local/arm-elf/bin/gcc -v
Using built-in specs.
Target: arm-elf
Configured with: ../configure --target=arm-elf --enable-languages=c --with-newli
b --prefix=/usr/local --enable-interwork --enable-multilib --disable-nls
Thread model: single
gcc version 4.2.4
uaa@framboise:~$ /usr/local/arm-elf/bin/gcc test.c -o test.o
uaa@framboise:~$

uaa@framboise:~$ arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/arm-none-eabi/4.7.1/lto-wrapper
Target: arm-none-eabi
Configured with: ../configure --target=arm-none-eabi --enable-languages=c --pref
ix=/usr/local --enable-interwork --enable-multilib --with-newlib --disable-nls -
-disable-libssp --disable-libgomp --disable-libmudflap --with-gmp=/usr/local --d
isable-lto
Thread model: single
gcc version 4.7.1 (GCC)
uaa@framboise:~$ arm-none-eabi-gcc test.c -o test.o
uaa@framboise:~$
uaa@framboise:~$ /usr/local/arm-none-eabi/bin/gcc -v
Using built-in specs.
COLLECT_GCC=/usr/local/arm-none-eabi/bin/gcc
Target: arm-none-eabi
Configured with: ../configure --target=arm-none-eabi --enable-languages=c --pref
ix=/usr/local --enable-interwork --enable-multilib --with-newlib --disable-nls -
-disable-libssp --disable-libgomp --disable-libmudflap --with-gmp=/usr/local --d
isable-lto
Thread model: single
gcc version 4.7.1 (GCC)
uaa@framboise:~$ /usr/local/arm-none-eabi/bin/gcc test.c -o test.o
gcc: error trying to exec 'cc1': execvp: No such file or directory
uaa@framboise:~$

gcc-4.2.4では問題無かったのにgcc-4.7.1ではなんで呼び出し方変えるとエラーになるんだよ、と。

この手の問いを出すと大抵は「gccのインストールに失敗してるんじゃね?」「GCC_EXEC_PREFIXの設定間違ってるんじゃね?」的な反応があるようなんですが、野良ビルドして突っ込んだGCCだし別にGCC_EXEC_PREFIX設定しなきゃなんないっていう状況でもないのでそれとは何か違う気がするんですよね。こんな風に。


uaa@framboise:/usr/local/libexec/gcc/arm-elf/4.2.4$ ls
cc1*            collect2*       install-tools/
uaa@framboise:/usr/local/libexec/gcc/arm-elf/4.2.4$

uaa@framboise:/usr/local/libexec/gcc/arm-none-eabi/4.7.1$ ls
cc1*            collect2*       install-tools/  lto-wrapper*    plugin/
uaa@framboise:/usr/local/libexec/gcc/arm-none-eabi/4.7.1$

とりあえず-print-search-dirsを付けて、どこのディレクトリを探しているかをチェックしてみることにしました。すると…


uaa@framboise:~$ arm-elf-gcc -print-search-dirs
install: /usr/local/lib/gcc/arm-elf/4.2.4/
programs: =/usr/local/libexec/gcc/arm-elf/4.2.4/:/usr/local/libexec/gcc/arm-elf/
4.2.4/:/usr/local/libexec/gcc/arm-elf/:/usr/local/lib/gcc/arm-elf/4.2.4/:/usr/lo
cal/lib/gcc/arm-elf/:/usr/libexec/gcc/arm-elf/4.2.4/:/usr/libexec/gcc/arm-elf/:/
usr/lib/gcc/arm-elf/4.2.4/:/usr/lib/gcc/arm-elf/:/usr/local/lib/gcc/arm-elf/4.2.
4/../../../../arm-elf/bin/arm-elf/4.2.4/:/usr/local/lib/gcc/arm-elf/4.2.4/../../
../../arm-elf/bin/
libraries: =/usr/local/lib/gcc/arm-elf/4.2.4/:/usr/lib/gcc/arm-elf/4.2.4/:/usr/l
ocal/lib/gcc/arm-elf/4.2.4/../../../../arm-elf/lib/arm-elf/4.2.4/:/usr/local/lib
/gcc/arm-elf/4.2.4/../../../../arm-elf/lib/
uaa@framboise:~$
uaa@framboise:~$ /usr/local/arm-elf/bin/gcc -print-search-dirs
install: /usr/local/lib/gcc/arm-elf/4.2.4/
programs: =/usr/local/arm-elf/bin/../libexec/gcc/arm-elf/4.2.4/:/usr/local/arm-e
lf/bin/../libexec/gcc/:/usr/local/libexec/gcc/arm-elf/4.2.4/:/usr/local/libexec/
gcc/arm-elf/4.2.4/:/usr/local/libexec/gcc/arm-elf/:/usr/local/lib/gcc/arm-elf/4.
2.4/:/usr/local/lib/gcc/arm-elf/:/usr/libexec/gcc/arm-elf/4.2.4/:/usr/libexec/gc
c/arm-elf/:/usr/lib/gcc/arm-elf/4.2.4/:/usr/lib/gcc/arm-elf/:/usr/local/arm-elf/
bin/../lib/gcc/arm-elf/4.2.4/../../../../arm-elf/bin/arm-elf/4.2.4/:/usr/local/a
rm-elf/bin/../lib/gcc/arm-elf/4.2.4/../../../../arm-elf/bin/:/usr/local/lib/gcc/
arm-elf/4.2.4/../../../../arm-elf/bin/arm-elf/4.2.4/:/usr/local/lib/gcc/arm-elf/
4.2.4/../../../../arm-elf/bin/
libraries: =/usr/local/arm-elf/bin/../lib/gcc/arm-elf/4.2.4/:/usr/local/arm-elf/
bin/../lib/gcc/:/usr/local/lib/gcc/arm-elf/4.2.4/:/usr/lib/gcc/arm-elf/4.2.4/:/u
sr/local/arm-elf/bin/../lib/gcc/arm-elf/4.2.4/../../../../arm-elf/lib/arm-elf/4.
2.4/:/usr/local/arm-elf/bin/../lib/gcc/arm-elf/4.2.4/../../../../arm-elf/lib/:/u
sr/local/lib/gcc/arm-elf/4.2.4/../../../../arm-elf/lib/arm-elf/4.2.4/:/usr/local
/lib/gcc/arm-elf/4.2.4/../../../../arm-elf/lib/
uaa@framboise:~$

uaa@framboise:~$ arm-none-eabi-gcc -print-search-dirs
install: /usr/local/lib/gcc/arm-none-eabi/4.7.1/
programs: =/usr/local/libexec/gcc/arm-none-eabi/4.7.1/:/usr/local/libexec/gcc/ar
m-none-eabi/4.7.1/:/usr/local/libexec/gcc/arm-none-eabi/:/usr/local/lib/gcc/arm-
none-eabi/4.7.1/:/usr/local/lib/gcc/arm-none-eabi/:/usr/local/lib/gcc/arm-none-e
abi/4.7.1/../../../../arm-none-eabi/bin/arm-none-eabi/4.7.1/:/usr/local/lib/gcc/
arm-none-eabi/4.7.1/../../../../arm-none-eabi/bin/
libraries: =/usr/local/lib/gcc/arm-none-eabi/4.7.1/:/usr/local/lib/gcc/arm-none-
eabi/4.7.1/../../../../arm-none-eabi/lib/arm-none-eabi/4.7.1/:/usr/local/lib/gcc
/arm-none-eabi/4.7.1/../../../../arm-none-eabi/lib/
uaa@framboise:~$
uaa@framboise:~$ /usr/local/arm-none-eabi/bin/gcc -print-search-dirs
install: /usr/local/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.7.1/
programs: =/usr/local/arm-none-eabi/bin/../libexec/gcc/arm-none-eabi/4.7.1/:/usr
/local/arm-none-eabi/bin/../libexec/gcc/:/usr/local/arm-none-eabi/bin/../lib/gcc
/arm-none-eabi/4.7.1/../../../../arm-none-eabi/bin/arm-none-eabi/4.7.1/:/usr/loc
al/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.7.1/../../../../arm-none-eabi/bi
n/
libraries: =/usr/local/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.7.1/:/usr/lo
cal/arm-none-eabi/bin/../lib/gcc/:/usr/local/arm-none-eabi/bin/../lib/gcc/arm-no
ne-eabi/4.7.1/../../../../arm-none-eabi/lib/arm-none-eabi/4.7.1/:/usr/local/arm-
none-eabi/bin/../lib/gcc/arm-none-eabi/4.7.1/../../../../arm-none-eabi/lib/
uaa@framboise:~$

これだと何が何やらなので、読みやすくなるようにちょっと書き換えてみます。


・arm-elf-gcc -print-search-dirs を実行した場合
install: 
/usr/local/lib/gcc/arm-elf/4.2.4/
programs: =
/usr/local/libexec/gcc/arm-elf/4.2.4/
/usr/local/libexec/gcc/arm-elf/4.2.4/
/usr/local/libexec/gcc/arm-elf/
/usr/local/lib/gcc/arm-elf/4.2.4/
/usr/local/lib/gcc/arm-elf/
/usr/libexec/gcc/arm-elf/4.2.4/
/usr/libexec/gcc/arm-elf/
/usr/lib/gcc/arm-elf/4.2.4/
/usr/lib/gcc/arm-elf/
/usr/local/lib/gcc/arm-elf/4.2.4/../../../../arm-elf/bin/arm-elf/4.2.4/
/usr/local/lib/gcc/arm-elf/4.2.4/../../../../arm-elf/bin/
libraries: =
/usr/local/lib/gcc/arm-elf/4.2.4/
/usr/lib/gcc/arm-elf/4.2.4/
/usr/local/lib/gcc/arm-elf/4.2.4/../../../../arm-elf/lib/arm-elf/4.2.4/
/usr/local/lib/gcc/arm-elf/4.2.4/../../../../arm-elf/lib/

・/usr/local/arm-elf/bin/gcc -print-search-dirs を実行した場合
install:
/usr/local/lib/gcc/arm-elf/4.2.4/
programs: =
/usr/local/arm-elf/bin/../libexec/gcc/arm-elf/4.2.4/
/usr/local/arm-elf/bin/../libexec/gcc/
/usr/local/libexec/gcc/arm-elf/4.2.4/
/usr/local/libexec/gcc/arm-elf/4.2.4/
/usr/local/libexec/gcc/arm-elf/
/usr/local/lib/gcc/arm-elf/4.2.4/
/usr/local/lib/gcc/arm-elf/
/usr/libexec/gcc/arm-elf/4.2.4/
/usr/libexec/gcc/arm-elf/
/usr/lib/gcc/arm-elf/4.2.4/
/usr/lib/gcc/arm-elf/
/usr/local/arm-elf/bin/../lib/gcc/arm-elf/4.2.4/../../../../arm-elf/bin/arm-elf/4.2.4/
/usr/local/arm-elf/bin/../lib/gcc/arm-elf/4.2.4/../../../../arm-elf/bin/
/usr/local/lib/gcc/arm-elf/4.2.4/../../../../arm-elf/bin/arm-elf/4.2.4/
/usr/local/lib/gcc/arm-elf/4.2.4/../../../../arm-elf/bin/
libraries: =
/usr/local/arm-elf/bin/../lib/gcc/arm-elf/4.2.4/
/usr/local/arm-elf/bin/../lib/gcc/
/usr/local/lib/gcc/arm-elf/4.2.4/
/usr/lib/gcc/arm-elf/4.2.4/
/usr/local/arm-elf/bin/../lib/gcc/arm-elf/4.2.4/../../../../arm-elf/lib/arm-elf/4.2.4/
/usr/local/arm-elf/bin/../lib/gcc/arm-elf/4.2.4/../../../../arm-elf/lib/
/usr/local/lib/gcc/arm-elf/4.2.4/../../../../arm-elf/lib/arm-elf/4.2.4/
/usr/local/lib/gcc/arm-elf/4.2.4/../../../../arm-elf/lib/

・arm-none-eabi-gcc -print-search-dirs を実行した場合
install: 
/usr/local/lib/gcc/arm-none-eabi/4.7.1/
programs: =
/usr/local/libexec/gcc/arm-none-eabi/4.7.1/
/usr/local/libexec/gcc/arm-none-eabi/4.7.1/
/usr/local/libexec/gcc/arm-none-eabi/
/usr/local/lib/gcc/arm-none-eabi/4.7.1/
/usr/local/lib/gcc/arm-none-eabi/
/usr/local/lib/gcc/arm-none-eabi/4.7.1/../../../../arm-none-eabi/bin/arm-none-eabi/4.7.1/
/usr/local/lib/gcc/arm-none-eabi/4.7.1/../../../../arm-none-eabi/bin/
libraries: =
/usr/local/lib/gcc/arm-none-eabi/4.7.1/
/usr/local/lib/gcc/arm-none-eabi/4.7.1/../../../../arm-none-eabi/lib/arm-none-eabi/4.7.1/
/usr/local/lib/gcc/arm-none-eabi/4.7.1/../../../../arm-none-eabi/lib/

・/usr/local/arm-none-eabi/bin/gcc -print-search-dirs を実行した場合
install:
/usr/local/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.7.1/
programs: =
/usr/local/arm-none-eabi/bin/../libexec/gcc/arm-none-eabi/4.7.1/
/usr/local/arm-none-eabi/bin/../libexec/gcc/
/usr/local/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.7.1/../../../../arm-none-eabi/bin/arm-none-eabi/4.7.1/
/usr/local/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.7.1/../../../../arm-none-eabi/bin/
libraries: =
/usr/local/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.7.1/
/usr/local/arm-none-eabi/bin/../lib/gcc/
/usr/local/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.7.1/../../../../arm-none-eabi/lib/arm-none-eabi/4.7.1/
/usr/local/arm-none-eabi/bin/../lib/gcc/arm-none-eabi/4.7.1/../../../../arm-none-eabi/lib/
uaa@framboise:~$

相対ディレクトリ(..)の羅列で読みにくくなっている部分を注意深く手作業で直し、検索対象となるディレクトリをsort|uniqします。


・arm-elf-gcc -print-search-dirs を実行した場合
install: 
/usr/local/lib/gcc/arm-elf/4.2.4/
programs: =
/usr/lib/gcc/arm-elf/
/usr/lib/gcc/arm-elf/4.2.4/
/usr/libexec/gcc/arm-elf/
/usr/libexec/gcc/arm-elf/4.2.4/
/usr/local/arm-elf/bin/
/usr/local/arm-elf/bin/arm-elf/4.2.4/
/usr/local/lib/gcc/arm-elf/
/usr/local/lib/gcc/arm-elf/4.2.4/
/usr/local/libexec/gcc/arm-elf/
/usr/local/libexec/gcc/arm-elf/4.2.4/
libraries: =
/usr/lib/gcc/arm-elf/4.2.4/
/usr/local/arm-elf/lib/
/usr/local/arm-elf/lib/arm-elf/4.2.4/
/usr/local/lib/gcc/arm-elf/4.2.4/

・/usr/local/arm-elf/bin/gcc -print-search-dirs を実行した場合
install:
/usr/local/lib/gcc/arm-elf/4.2.4/
programs: =
/usr/lib/gcc/arm-elf/
/usr/lib/gcc/arm-elf/4.2.4/
/usr/libexec/gcc/arm-elf/
/usr/libexec/gcc/arm-elf/4.2.4/
/usr/local/arm-elf/arm-elf/bin/
/usr/local/arm-elf/arm-elf/bin/arm-elf/4.2.4/
/usr/local/arm-elf/bin/
/usr/local/arm-elf/bin/arm-elf/4.2.4/
/usr/local/arm-elf/libexec/gcc/
/usr/local/arm-elf/libexec/gcc/arm-elf/4.2.4/
/usr/local/lib/gcc/arm-elf/
/usr/local/lib/gcc/arm-elf/4.2.4/
/usr/local/libexec/gcc/arm-elf/
/usr/local/libexec/gcc/arm-elf/4.2.4/
libraries: =
/usr/lib/gcc/arm-elf/4.2.4/
/usr/local/arm-elf/arm-elf/lib/
/usr/local/arm-elf/arm-elf/lib/arm-elf/4.2.4/
/usr/local/arm-elf/lib/
/usr/local/arm-elf/lib/arm-elf/4.2.4/
/usr/local/arm-elf/lib/gcc/
/usr/local/arm-elf/lib/gcc/arm-elf/4.2.4/
/usr/local/lib/gcc/arm-elf/4.2.4/

・arm-none-eabi-gcc -print-search-dirs を実行した場合
install: 
/usr/local/lib/gcc/arm-none-eabi/4.7.1/
programs: =
/usr/local/arm-none-eabi/bin/
/usr/local/arm-none-eabi/bin/arm-none-eabi/4.7.1/
/usr/local/lib/gcc/arm-none-eabi/
/usr/local/lib/gcc/arm-none-eabi/4.7.1/
/usr/local/libexec/gcc/arm-none-eabi/
/usr/local/libexec/gcc/arm-none-eabi/4.7.1/
libraries: =
/usr/local/arm-none-eabi/lib/
/usr/local/arm-none-eabi/lib/arm-none-eabi/4.7.1/
/usr/local/lib/gcc/arm-none-eabi/4.7.1/

・/usr/local/arm-none-eabi/bin/gcc -print-search-dirs を実行した場合
install:
/usr/local/arm-none-eabi/lib/gcc/arm-none-eabi/4.7.1/
programs: =
/usr/local/arm-none-eabi/arm-none-eabi/bin/
/usr/local/arm-none-eabi/arm-none-eabi/bin/arm-none-eabi/4.7.1/
/usr/local/arm-none-eabi/libexec/gcc/
/usr/local/arm-none-eabi/libexec/gcc/arm-none-eabi/4.7.1/
libraries: =
/usr/local/arm-none-eabi/arm-none-eabi/lib/
/usr/local/arm-none-eabi/arm-none-eabi/lib/arm-none-eabi/4.7.1/
/usr/local/arm-none-eabi/lib/gcc/
/usr/local/arm-none-eabi/lib/gcc/arm-none-eabi/4.7.1/
uaa@framboise:~$

gccのバグを踏んだような気もしなくもないんですが、/usr/local/arm-none-eabi/bin/の下を叩くのではなくarm-none-eabi-gccを呼び出すのが正しいという話をどこかで見たような気がするので(これかな?)、判断がつきません。58.20kg(07:45)

16-Jan-2013
[Google Play導入メモ]

Android 4.0端末にGoogle Playを突っ込んだ際の、作業メモ。俺専用。同様の作業を行う場合は自己責任で。

結局のところ、信用できそうなvending.apkとGoogleLoginService.apkを入手し、これらを/system/appにどう置くか、という話に帰結するようだ(他に必要なファイルがあれば、それも)。という訳で、root化されていることが絶対条件。

root化については端末に応じた方法になるのでここでは書かない(書きようがない)が、recoveryを使う場合はこれが必ずしも英語版である保証は無い、という点に注意が必要だ。今回はこれが中国語版だったおかげで相当時間を費やしてしまった。

vending.apkはXDA Developersの掲示板にあるcom.android.vending-3.5.15.apk(MD5:79c3ad225f3f4fc2f08b520070c4dae9)を使い、GoogleLoginService.apkはandroidfilehost.comにあるもの(MD5:2381b44342555b7672a8a71e109d313b)を使用した。なお、これを書いている時点におけるvendingのバージョンは3.10.10(手作業でインストールした場合、Google Playは自動更新の対象にならないようだ)

多くのサイトではこれらのファイルを/system/appに置く際にRoot Explorerもしくはその類似品(ESファイルエクスプローラー等)を使うようだが、個人的にはADB shellから作業した方が確実だしその手のAPKを探す手間も省けるのではないかと考えている。root化の際のrecovery書き込みにも使ったので。

ADBのコマンドは、Androidメモが非常に役に立った。この端末ではディスクをこのようにマウントしているので(Windowsのコマンドプロンプトが追加した改行文字は意図的に残している)、


shell@android:/ $ mount
mount
rootfs / rootfs ro,relatime 0 0
tmpfs /dev tmpfs rw,nosuid,relatime,mode=755 0 0
devpts /dev/pts devpts rw,relatime,mode=600 0 0
proc /proc proc rw,relatime 0 0
sysfs /sys sysfs rw,relatime 0 0
none /acct cgroup rw,relatime,cpuacct 0 0
tmpfs /mnt/asec tmpfs rw,relatime,mode=755,gid=1000 0 0
tmpfs /mnt/obb tmpfs rw,relatime,mode=755,gid=1000 0 0
none /dev/cpuctl cgroup rw,relatime,cpu 0 0
/dev/block/mmcblk0p17 /system ext4 ro,relatime,user_xattr,barrier=1,nodelalloc,d
ata=ordered 0 0
/dev/block/mmcblk0p18 /data ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,d
ata=ordered 0 0
/dev/block/mmcblk0p15 /cache ext4 rw,nosuid,nodev,relatime,user_xattr,barrier=1,
nodelalloc,data=ordered 0 0
/dev/block/mmcblk0p16 /cust ext4 ro,relatime,user_xattr,barrier=1,data=ordered 0
 0
/dev/block/vold/179:19 /mnt/sdcard2 vfat rw,dirsync,nosuid,nodev,noexec,relatime
,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iochars
et=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:33 /mnt/sdcard vfat rw,dirsync,nosuid,nodev,noexec,relatime,
uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,iocharse
t=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
/dev/block/vold/179:33 /mnt/secure/asec vfat rw,dirsync,nosuid,nodev,noexec,rela
time,uid=1000,gid=1015,fmask=0002,dmask=0002,allow_utime=0020,codepage=cp437,ioc
harset=iso8859-1,shortname=mixed,utf8,errors=remount-ro 0 0
tmpfs /mnt/sdcard/.android_secure tmpfs ro,relatime,size=0k,mode=000 0 0
shell@android:/ $

ADB shellからsu; mount -o remount,rw -t ext4 /dev/block/mmcblk0p17 /system; chmod 777 /system/app; exitとした後に、adb push 各種のファイル /system/appで転送できる(adb installでvending.apkはインストールできないらしい)。転送終了後は、念のためchmod 755 /system/appを行った(予めls -d /system/appで確認し、その状態に戻した)。

日本語化は、https://github.com/caplio/APK-Repakageの記述に従い、ADB shellからsetprop persist.sys.language ja; setprop persist.sys.country JPを設定した後に再起動。

この手の知識、断片的なものではなくもっと体系化されたものが欲しいところなんだけど、日本語の書籍でまとまっているものはありませんかねえ。Androidの起動シーケンスやら、adbを使った操作の実例とか。どちらかというとアプリケーションよりもシステム側に寄った話。

開発者向けのドキュメントを片っ端から目を通すとか、実機がある以上ADB shellでつつき回す(ディレクトリを歩き回る)方が早いといえば早いんだろうけど…58.50kg(22:10)

17-Jan-2013追記:Google Playもちゃんと自動更新されます。

27-Jan-2013追記:使用したrecovery(Geno Mod Recovery v6.0.1.2)のスクリーンショットだけ、載せておきます。時間があれば訳してみたいところですが…

timgp2751.jpg timgp2754.jpg

timgp2752.jpg timgp2755.jpg

15-Jan-2013
[生物災害。(3)]

胃の周りの症状(むかむか)が取れませんねえ。65%くらいは回復した感じでしょうか。

体重は増えてはいますが、つかの間の56kg台で終わりそうです。

先月の頭辺りから、やる気スイッチ入れた人が妙に増えているのはなんなんですかね…電車内における、ドア前争奪戦/改札に向けての徒競走(福男選び)は初電ではなくラッシュの時間帯でやってくれって感じなんですが。

あと、早朝、駅まで自転車で移動する際もなんか挑んでくる若いのがいて、何の嫌がらせなんだろうと。クロスバイク(GIANT CROSS2)なんて大したスピードは出やしないんだから、さっさと抜けばいいのに。自転車にも車にもナメられるなら、もうちょい違うのに乗った方が良いんですかねえ…ESCAPEとか(でも乗り方荒いから数日で壊しそうな予感)。

とりあえず、新年/新年度に数日だけちょっかい出してくる輩とは違う、という根性は見習いたいところですな。56.95kg(03:35)

14-Jan-2013
[生物災害。(2)]

見事に二次感染を食らい、気分は悪い(吐きそう)めまいはする胃が痛いのコンボで苦しんでおりました。

35%程度復活した状況で、体重は随分減っております。過激なダイエットですなあ。56.15kg(07:35)

11-Jan-2013
[生物災害。]

娘がロタウイルスか何かを拾ってきたらしく(発生時期と、白色の下痢便からおそらくノーウォークウイルスよりはこちらの可能性が高いのではないかと考えているのですが、診断するのはお医者さんの仕事なので何とも)、嘔吐と下痢でもうてんやわんやの状態です。

という訳で、VIA APCのファームウェアアップデート(1.0.2)が出ているみたいなんですが試したくても試せない状況です。おそらく、適切にフォーマットされたSDカードにファームウェアの.zipを展開し、これをAPCに装着して起動すれば書き換えられるのだと思うのですが。58.60kg(22:45)

27-Jan-2013追記:作業時に撮影したスクリーンショットを三枚ほど載せておきますね。

timgp2726.jpg timgp2727.jpg timgp2729.jpg

08-Jan-2013
[家電品の入れ替え]

こういう情報を晒すのも、まあある意味泥棒に餌を与えてるようなもので避けた方が良い情報って奴になるんですかねえ。というか結婚してからもうすぐ10年になるので(ってことは妻に渡すプレゼントとかもなんか考えとかないといけないのか…)、あれこれ痛んだり壊れたりしてくるもんなんです。

象印 NH-LS10 → 日立 RZ-SX100J
炊飯器。普通のIHからスチーム圧力IHとやらに変わって、確かに味も変わったような気がするけども…まだ一度しか炊いていないのでよく分からない。掃除はちょっと面倒になった箇所もあり、楽になった箇所もありかなあ。選定理由は、今まで使っていたものより一ランク上の価格で、お店で人気のあった商品だから。
三菱 25T-JFA2 → ソニー KDL-32EX550
液晶TV。前に使っていたのはブラウン管のアナログ専用機で、最近スピーカーから音が出なくなることがあったのと(おばあちゃんの知恵袋:21世紀でも有効な空手チョップで直るのでどこかの接触がおかしいのだろう)、TV番組の字幕が見づらくなってきたのが買い替えの理由。選定理由は、HDMIが4端子あること。とはいえ、CATVのSTBはコンポーネント端子に逃がせたので、実際は3つでも足りたかもしれない。
ドウシシャ DOT-240 → 象印 ET-TD22
オーブントースター。これだけ実は結婚当初からではなく二度目か三度目くらいの買い換えだったり。お値段を考えると消耗品的に使っちゃうんですよねえ…もっときちんと掃除すれば長く使えるだろとか言われそうなんですが。850W→1000Wになったので、よく焼ける反面油断するとすぐ焦げるし、電子レンジなどとの併用注意か。他にも色々あったけど、お店の目立つ場所に安いお値段で置かれていたというのが選定の理由。

あまり時間が無かったということもあり、競合機種との比較検討はあまり真面目にやっていません。1円でも安く買うなら送料無料のネット通販を血眼になって探せば実現できるのでしょうが、要らなくなった家電品を引き取ってもらえるという理由で近所の店で買っています。

それにしても、最近の家電って難しいですね、特にTV。TVを買い換えるにしても、昔なら配線をつなぎ直せばそれで終了だったのですが…今のTVはLANに繋げばネットワークの設定が必要になるし、TVに繋いだSTBとHDDレコーダとWiiは4:3表示→16:9表示に切り替えなければならないしで結構面倒です。

一番納得できないのはパナソニックのHDDレコーダ(DMR-BW690)の挙動で、HDMIに繋いだらメニュー表示は何もしなくてもしっかり16:9表示に切り替わるくせに、録画した番組はきちんと16:9の設定を行わないと表示がおかしくなるという…なんなんですかね、これは。繋いだ相手を認識できているんなら、その程度の設定は自動でやって欲しいもんですが。59.15kg(22:05)

17-Jan-2013追記:日立の炊飯器を選んだ理由、もう一つありました。蒸気カット機能です。子供が居る環境では炊飯器から出てくる蒸気は危ないということで、これが出てこないだけでも多少は気楽なんですよ。

06-Jan-2013
[うーん]

自転車で走り回った際のGPSログを公開してみたいと思いつつ、自宅がバレるという面倒な問題があるのでなかなかそうもいかないという。

とりあえず、自宅→橋本駅→相模総合補給廠→けやき会館→村富線→キャンプ座間→座間〜磯部の田んぼ道→八景の棚→下当麻の田んぼ道→田名塩田→水道みち→自宅のルートで本当に走行距離が40km近くになるのかどうか、というところが気になっておりまして。

塔マップのコメントにも書いたのですが、水道みちって1km毎にこんな感じの石柱が建っているんでしょうかね。

timgp0781.jpg timgp2711.jpg

自分が見かけたのは12kmのと14kmので、11kmと13kmのは見落としたのかそれとも撤去されたか…ちょっとよく分かりません。ここまで来るとくたくたの状態で走っていたし。

写真へのジオタグ付加は相変わらずK-01/O-GPS1頼みの状態で、GPSロガー他は活用できていません。O-GPS1は、カメラの電源を入れてから測位が終わるまでに結構時間がかかるので撮影のテンポが狂うのがちょっと困ったところです(カメラの電源を入れっぱなしにしても、移動中に自動的に電源が切れてしまうので結局入れ直す羽目になる)。

カメラ側のGPS機能の向上に期待したいところですが、やっぱり専用機(GPSロガー)があるなら測位はこちらに任せた方が良いのかなあと考えています。とはいえ、相変わらずログを取るだけの状態から抜け出せていないのですが。59.05kg(06:50)

01-Jan-2013
[本年もよろしくお願いします]

娘ももう一歳一ヶ月となり、立ち上がってあちこち歩き回って目が離せなくなっている状況になると、日々の感覚というのは非常に希薄なものになりますね。気が付いたらもうそんな時期か、と。

正直なところ、実家の挨拶回りをして残りはいつもの生活…いつもの時間に起こし(と言っても今日は子供に起こされたけど)、いつもの時間に食事を取り、いつもの時間に入浴していつもの時間に寝かすという、正月でも生活は休めないという状況です。

昔と違ってこの時期でもお店が開いている(休まずに働いているスタッフが居る)ことと、この御時世でも正月に休ませてくれる会社には感謝ですかねえ。

親馬鹿年賀状(毎年子供の写真を貼っているアレ)、個人的にはあんまり好きじゃなかったりするんですがいざ作る側になると…親類向け(親馬鹿モードon)と友人向け(親馬鹿モードoff)に作り分ける時間なんて無い!ということで親馬鹿モードonがデフォになってしまいます。多分来年の年賀状もonとなるはずです。

ちょっとした成長記録ということで、小さな写真を一枚載せてみますか。

imgp2316.jpg

子供の写真の扱いも色々思うことがあって、個人的には今後も別に載せても良いじゃないのとは思うんですが、この子については本人が望むまでの間は日記に載せるのは止めておくつもりです。

価格.com辺りなんかでは子供の顔全体をボカして載せている作例をたまに見かけるんですが、それって作例としての意味を為さない気がします。他にも、何故か口元だけボカし入れるとか、手書きでサングラスっぽいものを上書きしているのもありましたが…ここまで来ると、もはや個人情報の保護というよりも被写体を馬鹿にしているだけとしか(教科書の作家の顔写真とかに落書きをしたり目のところを鉛筆とか画鋲でぷしぷし刺すような行為と同じ)。

自分はそういうことはしたくないので、娘と相談して許諾を得るまでは公開しないという選択肢を使います。まあ、もともと人物撮りは色々と面倒なのでやらない以上、今までと何も変わらないとも言いますけどね。58.80kg(25:00)