2014年1月6日月曜日

Creating a case-sensitive disk image

 OS X 付属のディスクユーティリティを使って大文字と小文字を区別したファイルシステムを作る事が出来る。
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man1/hdiutil.1.html

 build を完了させるには最低でも 25G は必要であるので今後のことを考えると容量は大きいほど良さそう。
 しかし容量を大きくすると SSD 自体の容量が厳しくなるので「スパースディスクイメージ」機能を用いる。この機能を使うと無駄なスペースをディスクとして使用しなくなるので必要なディスク容量だけを使うことになる。
 あと忘れないようボリュームフォーマットに「大文字小文字を区別」と「ジャーなリング」を選択しておく。

 サイトに記載されているコマンドをそのままターミナルで実行してみる。
$ hdiutil create -type SPARSE -fs 'Case-sensitive Journaled HFS+' -size 40g ~/android.dmg
created: /Users/xxxxx/android.dmg.sparseimage

 無駄なスペースを使っていないかどうかを調べるために 40G のディスクイメージが使用しているディスク容量を調べてみると 163M 程度になっている。これなら問題なさそうだ。
$ ls -sk android.dmg.sparseimage 
163844 android.dmg.sparseimage

 この作成したディスクイメージ android.dmg.sparseimage をマウントすることで Android の開発に必要なドライブとして機能する。
$ hdiutil attach ~/android.dmg.sparseimage  -mountpoint /Volumes/android
/dev/disk1           GUID_partition_scheme          
/dev/disk1s1         EFI                            
/dev/disk1s2         Apple_HFS                       /Volumes/android

 都度マウントをするのは面倒なので ~/.bash_profile へ追加しておこう。

 サイトはなんで function にしてあるんだろう。
# mount the android file image
function mountAndroid { hdiutil attach ~/android.dmg -mountpoint /Volumes/android; }

Setting up a Mac OS X build environment

 Mac OS X での build 環境を整える。
http://source.android.com/source/initializing.html

 OS X のデフォルトインストールだとファイルシステムは大文字小文字を区別しない。
 Git リポジトリはこのファイルシステムをサポートしていないため git status などは異常な動作をする。
 常に大文字小文字を区別するファイルシステム上で Android Open Source Project のソースファイルを使う事をお勧めする。
 なおこのファイルシステムは次に説明するディスクイメージを使う事で比較的簡単にできる。
 適切なファイルシステムを使えるようになると最新の OS X 環境で master ブランチを構築することが簡単になるがちょっと前のブランチにはいくつかのツールと SDK が必要になってくる。

 ということだそうだ。
 最新のブランチを build したいので次の手順というのを進めて行けば大丈夫そうだな。

2014年1月5日日曜日

Initializing a Build Environment & Choosing a Branch

http://source.android.com/source/initializing.html

 ここではローカル環境を整備するらしい。
 ローカル環境っていうのは目の前で作業をしている MacBook Air のことだな。

 ソースコードは 8.5G 程度らしいので不要な ipsw などを削除して空き容量を増やそうっと。
 駄目なら外付け HDD で対応だ。
 フルセットの build だと 100G は必要だってさ。

 ソースコードをダウンロードしている間は Life of a Patch を見ておこっと。
http://source.android.com/source/life-of-a-patch.html

 Choosing a Branch
 ブランチを選べ!ということか。
 Nexus5 に入っているビルド番号は KOT49H なのでこれにしたい。
 Codenames, Tags, and Build Numbers を見たら最新だったw
http://source.android.com/source/build-numbers.html

 次はいよいよ来たぞというタイトルだな。
 Setting up a Mac OS X build environment

Downloading and Building

 Downloading and Building
http://source.android.com/source/building.html

 必要となるツールを確認。

$ python -V

Python 2.7.5

$ make -version
GNU Make 3.81
Copyright (C) 2006  Free Software Foundation, Inc.
This is free software; see the source for copying conditions.
There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A
PARTICULAR PURPOSE.

This program built for i386-apple-darwin11.3.0

 JDK は以下からダウンロードしてインストールした。
http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html

$ git --version
git version 1.8.3.4 (Apple Git-47)

 ざっと見るとツールは大丈夫そうだ。
 ただ MacBook Air の SSD ではディスク容量が厳しいかも。

 あと気になるのはファイル名の大文字小文字の区別をしないところなので解決方法を調べてみよう。

OS X って大文字小文字の区別が無かったのか

$ uname -a

Darwin xxxxx-no-MacBook-Air.local 13.0.0 Darwin Kernel Version 13.0.0: Thu Sep 19 22:22:27 PDT 2013; root:xnu-2422.1.72~6/RELEASE_X86_64 x86_64

$ mkdir Aa
$ mkdir aa
mkdir: aa: File exists

 新年そうそうに衝撃的な事実を知った。
  Android のビルド方法を調べているときにあるサイトで書かれていたので試してみた結果が上の File exists だったりする。
 ほんとびっくりした。

 とりあえず先に進もう。

2013年12月19日木曜日

iPhone4s の wi-fi が死んだもよう

 以前も買ったばかりの iPad で同様な現状が発生。

 今度は一年くらい使っている iPhone4s で発生した。
 ぐぐってみると万能な対策案が出ていたのでやってみることにした。
http://support.apple.com/kb/ts1559?viewlocale=ja_JP

 結果はダメだったとしても保証があるので修理依頼をするだけだ。
 それよりも iOS6.1.2 からアップデートすることになってしまうことが残念でならない。

 ダウンロードが終わってただいまソフトウェア更新中である。

 ON/OFF ができるようになってけれどそれだけだ。
 ネットワークに全く接続ができない。

 やはり修理コースだな。
 というわけで引き取り修理を依頼した。
 先日の iPad4 に続いて二台目なんだけどな。

2013年12月12日木曜日

nexus5 をバックアップしてみる。

 まずは Windows8 へ Helium をインストールする。
http://www.clockworkmod.com/carbon

 ダウンロードしている間に導入方法を読んでみる。

----------------------------------------------------------------
Installation Instructions

Install Helium on Android
Install Helium on your PC
Windows Users must also install Android drivers and restart.
Open Helium Desktop on PC
Open Helium on Android (and follow any instructions there)

Helium should now be enabled!

インストール手順

Android上でヘリウムをインストール
お使いのPCにヘリウムをインストール
Windowsユーザはまた、Androidのドライバと再起動をインストールする必要があります。
PC上で開いているヘリウムデスクトップ
オープンAndroid上でヘリウム(そこ任意の指示に従ってください)
ヘリウムは現在有効にする必要があります!
----------------------------------------------------------------

ダウンロードが終わったのでインストールしてみる。







Windows8 へ Helium のインストールが終わったようだ。
次は nexus5 へ Helium をインストールする。
https://play.google.com/store/apps/details?id=com.koushikdutta.backup&hl=ja

Windows8 と nexus5 が手をつないでくれない。

さてどうしたものか。
とりあえずドライバ探しの旅にいくか。

とつげき!
http://tabkul.com/?p=41936






無事に認識された。
やっぱ純正だと楽だな。

nexus5 の Helium を立ち上げるとモードを切り替えるように指示されたのでやってみたら Windows8 側でデバイスの設定が走った。


とりあえず今はここで中断。
再開は後日だな。


立ち上げると nexus5 の画面が変わった。
適当にタップしていくとバックアップができた。

さてリカバリはどうやるんだろうか。

MELSECNET/HのリモートI/O局経由のMODBUS(R)通信について

http://fa-faq.mitsubishielectric.co.jp/faq/show/13661  別ネットワークの先にぶら下げるってどういうことだろう。