うかつな失敗のメモ githubからcloneできない

実は、github.comからcloneができない、という現象に悩んでいました。

現象
git cloneをすると、以下のメッセージで403エラーとなる。

$ git clone https://github.com/CyanogenMod/cm-kernel.git
Initialized empty Git repository in /home/work/muchtel/cm-kernel/.git/
fatal: https://github.com/CyanogenMod/cm-kernel.git/info/refs download error - The requested URL returned error: 403
$

ちなみに、~/.gitconfig以下の設定を追加する前は、証明書エラーがでていました。

[http]
        sslVerify = false

で・・・解決した方法ですが・・・/usr/local/binにインストールされていたgitが「1.6.3.3」であったためでした。

うちの環境はCentOS5なので、rpmforgeレポジトリを導入していて、そこから/usr/binに対してgit 1.7.6.4がインストールされていたんですが、PATHで/usr/local/binが優先されていたために使われていなかったという次第。

/usr/local/binのgitを使わなくして問題は解決しました。

で、こんな恥をかいておくのは、ググった時に、このエラーで失敗しているとき、gitのバージョンが古いため、という事例が見当たらなかったためです。
誰かの役に立ちますように・・・

Rstream A1でAdobe Flashを使う

Rstream A1のCPUはARM v6だから、ARM v7用に作られているAdobe Flash Playerが非対応・・・ということになっています。

しかし、世の中には、どういう風にやったんだか、ARM v6用に改変されたAdobe Flash Playerというのが存在していたりします。

xdaのAndroid Apps and Gamesにある「[UPDATED APP] FLASH PLAYER 10.2 FOR ARMv6 AND ARMv7 ANDROID PHONES」が、おそらく震源っぽいです。

最新がどういう風になっているのか、はっきりとわかりませんでしたが、おそらくは、以下のページにあるものを組み合わせるのが一番良さそうな雰囲気でした。

xdaのGalaxy 3 Themes and Appsにある「Working Flash Player 11.0.1.153 for ARMv6
xdaのOptimus One, P500, V Themes and Appsにある「how flash player 10.3 work in stock rom[Guide]
xdaのOptimus One, P500, V Themes and Appsにある「Adobe Flash Player 10.3 on ARMv6

具体的には「Working Flash Player 11.0.1.153 for ARMv6」から、adobe flash player 11 v11.0.1.153 armv6.apk を入手。このapkは単体では使えません。
/system/lib/に置くファイル群を「how flash player 10.3 work in stock rom[Guide]」から、lib.zipを入手します。

lib.zipの中身を/system/lib/ に展開し、アクセス権を644に設定。
apkを普通にインストールすれば、Flashが動作するようになります。

Flashがきちんと動いているか確認するにはAdobeの「Check the status of Flash Player version」にアクセスしたところ、バージョンは「10.3.185.360」と出ました。

これは、おそらく/system/lib のファイルがFlash 10.3のファイルであるからっぽいです。

注:Flashを有効にするとシステム負荷があがるようで誤動作によるキー連打が発生する可能性が上がります。

CWM Recoveryから適用できるflashplayer-11.0.1.153-for-armv6.zipを用意しました。
上記のzipをダウンロードしてSDカードに置き、ROM Managerもしくは、直接CMW Recoveryから適用してください。

— (2012/01/24追記) —
MUCHTEL A1純正Android 2.2では、/systemの容量が足らないため、導入できません。
/system/appにある不要なアプリを消さないと入りません。
うちではFaceBook.*, FacebookWidget_Home2.apk, Gmail.apk, Maps.apk, Street.apk, VoiceSearch.apk, YouTube.apk を削除しました。
特にGmail.apk, Maps.apk, Street.apk, VoiceSearch.apk, YouTube.apk は、AndroidMarket経由で最新版が/data/appにインストールされるので、不要ですし。
標準でインストールされているTouchPal関連のファイルはTouchPal本体がTouchPal_M1.apkで、そこから呼び出される各言語毎の設定ファイルがChsHandWritePack.apk(Chinese Handwriting), ChsPack.apk(Chinese PinYinとChinese Bihua
), ChtPack.apk(Chinese ZhuYin), EnglishPack.apk(English)であるようだ。
全部消すとまずいので、ChsHandWritePack.apk, ChsPack.apk, ChtPack.apkを消した。

Rstream A1をCM7.1にしてカメラとか使う手法 2012/01/03版

Rstream A1をCM7.1にしてカメラとか使う手法 2012/01/09版にて新しいkernel適用手順を案内しています。

—- 以下は古い手順です —-
いままでRstream A1にCyanogenMod7.1をインストールした場合、カメラが全く動かないという現象が発生していました。
このたび、at_not_foundさんにより、この現象を回避する方法が開発されました。
要点としては
・どうやら他の類似機種とカメラとボタン周りのハードウェアが違う(MUCHTEL A1全般が?)
・カーネルとカメラドライバ周りをMUCHTEL A1に併せて再構成
といった感じです。

いまのところ、「終話ボタン(6)で、画面が消えるスリープモードに入ってしまう」と「検索キー(2)がバックキー扱いになる」、という問題がありますが、それ以外はおおむね良好そうな感じで動作中です。

なお、終話ボタンの動作については、「Spare parts」の「End button behavior」を変更することで、スリープにしないという動作をさせることができます。(情報元:500yen さんより「Rstream A1 + CM7.1 で終話ボタンでスリープする動作は Spare Parts の End button behavior で変更が出来ました」)

以下に手順をMUCHTEL A1純正Android 2.2.2にアップデートするところから手順を書いていきます。
すでにCyanogenMod7が適用されている場合は、手順8から行ってください。

(2011/01/04手順修正:ROM Managerからアップデート差分を適用する手順に変更しました)

手順1
とりあえず、MUCHTEL A1純正Android 2.2にあげる。
いまのところ、どんな状態になっても、電源を切って、「ボリュームUP」+「ボリュームDOWN」を押しながら電源を入れて入るFTMモードになり、その状態でMUCHTEL版SUT1.7.4を実行すれば、かならずAndroid 2.2.2になることは確認している。

詳しい手法はRstream A1にMUCHTEL A1純正 Android 2.2を書き込むを参照のこと。

手順2
上記のAndroid 2.2が起動している状態でCM7の.nb0形式のfirmwareを書き込む。
今回使ったのはBoston Maniaの[Rom 2.3.4] CyanogenMod 7 EA v1 (nb0) である。
([Rom 2.3.4] CyanogenMod 7 EA v3 (nb0) でも確認したが、電源オンロゴがBostonになる)
なお、書き込み後は、以下の状態となる。

CyanogenMod 7 EA v1の場合
モデル番号: Z71
Androidバージョン: 2.3.4
ベースバンドバージョン: MP1_850
カーネルバージョン: 2.6.32.9-SuperAosp root@CML#1
Modバージョン: CyanogenMod-7_EAv1
ビルド番号: GRJ22
ClockworkMod Recovery v2.5.1.3
電源投入直後のロゴが「Android」

CyanogenMod 7 EA v3の場合
モデル番号: Boston
Androidバージョン: 2.3.4
ベースバンドバージョン: MP1_850
カーネルバージョン: 2.6.32.9-SuperAosp root@CML#1
Modバージョン: CyanogenMod-7_EAv3
ビルド番号: GRJ22
ClockworkMod Recovery v4.0.0.5
電源投入直後のロゴが「Bonston」

また、どちらも「フロントパネルのボタン動作がいままでと違う割り当てになる」「カメラが動かない」という問題は発生する。

書き込みには、SUT 1.7.0をパソコンにインストールし、CM7の.nb0タイプのfirmwareを書き込む、という手法を使う。
標準のRecoveryにある「Download nb0 from sdcard」では、上記にあげたnb0ファイルは正当なものとして認識してくれなかった。
また、MUCHTEL版のSUT 1.7.4は、FTMモードで書き換えを行うが、SUT1.7.0では、Android OSが起動している状態でないと、ツールが認識してくれなかった。
このため、正常に起動しない状況に陥っている場合は、必ずMUCHTEL A1版に戻す必要がある。

手順3
ROM Managerの動作要件を満たすため、ネットワークにつながる設定(ClockworkMod recoveryとかをダウンロードする)、と、Android Marketの設定(ROM Managerを最新版にして、CM7.1のzipファイルダウンロードを可能とするため)を行う。
後者のAndroid Marketの設定はCM7.1のzipファイルを別途ダウンロードしてくるのであれば、不要。

手順4
ROM Managerを起動する。

手順5
ROM Managerから、「ClockworkMod Recoveryを導入」を実行。
機種はCommtiva Z71を選択する。

手順6
「ROMをダウンロード」を選択し、
Freeのくくりにある「CyanogenMod」を選択し、「CyanogenMod 7.1.0」を選択して、ダウンロード。
「ROM Pre-Installation(ROMインストール前処理)」では「Wipe Dalvik Cache」のみ選択。

なお、ここでダウンロードできるCyanogenMod 7.1.0ではなく、[Rom 2.3.7] CyanogenMod 7 EA v7.2 (zip) でも良い。(個人的にはこっちのカスタマイズ具合の方が好みですが、手順9以降のROM Manager操作が動作しません。その場合、手順Aを行ってください。)
こちらを行う場合はROM Managerで「SDカードからROMをインストール」を選択し、SDCARDにコピーした上記のzipファイルを指定する。

手順7
再起動し、Recoveryモードで自動実行される。
完了すると、再起動する。

起動が完了すると以下の表記でブートしているはず。
モデル番号: Z71
Androidバージョン: 2.3.7
ベースバンドバージョン: MP1_850
カーネルバージョン: 2.6.35.13-Cyanogenmod rmcc@glskard #1
Modバージョン: CyanogenMod-7.1.0-Z71
ビルド番号: GWK74
ClockworkMod Recovery v2.5.1.3
電源投入直後のロゴは、先ほどの状態がそのまま維持される。

CyanogenMod 7 EA v7.2の場合は以下となる。
モデル番号: Boston
Androidバージョン: 2.3.7
ベースバンドバージョン: MP1_850
カーネルバージョン: 2.6.32.9-EA edgar@ubuntu #37
Modバージョン: CM7.1_EAv7.2
ビルド番号: GWK74
ClockworkMod Recovery v4.0.0.8

「フロントパネルのボタン動作がいままでと違う割り当てになる」「カメラが動かない」という問題は直っていない状態。





手順8
CM7.1をMUCHTEL A1用に修正するファイルをSDカードにコピーする。
これに含まれる修正は以下です。
・MUCHTEL A1向け修正kernel
・MUCHTEL A1向け修正libcamera
・MUCHTEL A1向け修正qwerty.klファイル
・日本語フォント(モトヤ)

修正ファイル:update.zip形式のkernel修正+カメラ修正+qwerty.kl修正ファイル+日本語フォントをダウンロードする。

手順9
手順8でダウンロードしたmuchtela1-cm7-custom-afnf33.zipを、/sdcard/にコピーする。

手順10
ROM Managerを起動する。
なお、RecoveryのバージョンがClockworkMod Recovery 2.5.1.3以外である場合、この後の手順が正常動作しません。
手順5と同様に「ClockworkMod Recoveryを導入」から機種は「Commtiva Z71」を選択し、ClockworkMod Recoveryを2.5.1.3にしてから以下の手順を行ってください。
もしくは、手順10~12の代わりに手順Aを行ってください。

手順11
「SDカードからROMをインストール」を選択し、先ほどコピーしたmuchtela1-cm7-custom-afnf33.zipを指定する。
「ROM Pre-Installation(ROMインストール前処理)」では「Wipe Dalvik Cache」のみ選択。

手順12
再起動し、Recoveryモードで自動実行される。
完了すると、再起動する。

作業完了後は「カーネルバージョン: 2.6.35.13.rstream-a1 afnf@ubuntu #33」になる。
(それ以外の情報は、手順7終了時と同じとなる)


手順A
ClockworkMod Recoveryを直接操作して、アップデートzipを適用します。
1. 電源をオフします。
2. 「ボリュームUP」と「シャッターボタン」を押しながら電源を入れ、Recoveryモードに入ります。
3. 「ボリュームUP」をうまく押して「install zip from sdcard」に合わせます。(ボタンを1回押すと2つ進むが、押しっぱなしにすると1つしか進まない)
4. 「シャッターボタン」を押します
5. 「choose zip from sdcard」が選択されていることを確認し、「シャッターボタン」を押します
6. 「ボリュームUP」か「ボリュームDOWN」をうまく操作し、先ほど転送したmuchtela1-cm7-custom-afnf33.zipに合わせます。。(ボタンを1回押すと2つ進むが、押しっぱなしにすると1つしか進まない)
7. 「シャッターボタン」を押します
8. 適用が開始されるので、終わるのを待ちます。終わると、再度「choose zip from sdcard」のところになります。
9. 何回かボリュームUPを押していると「Back menu button enabled.」という表示が出ます。
10. でたら、何か当たりさわりがないところを選び「シャッターボタン」を押します。
11. そうすると、「+++++Go Back+++++」という項目が増えるので、そこにカーソルを合わせ、
  最初のメインメニューに戻り、「reboot system now」を選びます
12. 終了

— 以下、資料用 —
【謎端末】Rstream A1【SIMフリー】の17~19より

17 : ◆afnf4199GA :2012/01/03(火) 03:01:54.89 ID:6+yJDTeh
CM7.1でカメラが動かない件の対処。

1. カーネルをrmcc(https://github.com/rmcc/commtiva-kernel-z71.git)から取得
2. arch/arm/mach-msm/board-fxx.cのI2C_BOARD_INFO(“ov5642af”, 0xFD)を0x3Cに書き換え
3. drivers/media/video/msm/msm_camera.c、sdata->flash_dataがnullなのでinfo.flash_enabled = 1;に変更
4. .configはmuchtel222から抜いたものをベースにoldconfigで修正したものを使用
5. カーネルビルド
6. CM7.1のinitramfsでブートイメージ生成
7. CM7.1を適用したデバイスに7をfastboot flash boot
8. CM7.1版の/system/lib/liboemcamera.soについて、文字列”00fd”を”003c”に書き換え
9. QualcommCameraHardware.cpp(https://github.com/CyanogenMod/android_device_commtiva_z71.git)を
  ov5642af向けに修正(picture_sizes-1、sensorTypes+1、ov5642→ov5642af)
10. mmでlibcamera.soを生成して/system/libに書き戻す

18 : ◆afnf4199GA :2012/01/03(火) 03:04:27.58 ID:6+yJDTeh
っていうのが面倒な人は、
http://www.mediafire.com/?fb2xjfa2jj4dbfc
sha1sum:e51899d08a660cd84898a1dc7879bb90ddf4dd93
これ落として、fastbootモードから以下を実行。

fastboot flash boot rstream-a1-mod33.img
fastboot reboot
→通常起動
adb shell mount -o remount,rw / /system
adb push libcamera.so /system/lib
adb push liboemcamera.so /system/lib
adb push qwerty.kl /system/usr/keylayout
adb shell chmod 644 /system/usr/keylayout/qwerty.kl
→もう一回再起動

3G通話、3Gデータ通信は未テスト。
終話キーでスリープになってしまう不具合有り。
他は大丈夫だと思う。

なんでこんな修正が必要なのかっていう所だけど、
少なくともカメラ周りとボタン周りはハードが違うみたい。
あとi2c fake addressってのもポイントだったが、これは良く分からん。

19 : ◆afnf4199GA :2012/01/03(火) 03:07:07.53 ID:6+yJDTeh
以上です。

誰か追試してくださいな。

あけましておめでとうございます

2011年はOSAKANA TARO名義での技術blogを本格的に始めた初年度でした。

Xperia X10 mini proに関して匿名でやってた方について結構好評だったということと、
新しく買ったASUS Eee Note EA800について2chに専門スレもないのでちゃんとわかる形で残していこう、
という2つの視点から初めてみましたが、個人的にはかなり好調に延びていったかなぁ、というところでした。

2012年はどういったあたりを取り扱っていくことになるかなぁ、と
いうあたりで、今年もよろしくお願いいたしますっと