2011年8月8日月曜日

お前らガジェ獣の持ち物晒せよ



ブログのネタが無いんす…

ほぼ毎日持ち歩いてるガジェットはこんな感じ…

スマフォメイン:Samsung GalaxyS IISC-02C w/ docomo定額データSIM
サクサクなんだが面白くない端末…GPSは相変わらずのSamsung品質でぐずぐずだしMotorolaメインに戻したい…

スマフォサブ:htc 7 Mozart w/ docomo音声SIM
最近購入…WP7は楽しいがメインとして使うにはまだちょっと厳しいか…

フィーチャーフォン:docomo L-04B w/ docomo音声SIM
お財布専用

モバイルルーター:docomo L-09C w/Xi SIM
最近、都内だとFOMAが激重なのでコイツかWiMAX無いと厳しい感じ。
バッテリーのもちは悪くないのだが充電に時間がかかるのがマイナスポイントか


がっつり外で作業する時はThinkpad X1が追加される感じ

2011年8月2日火曜日

Samsung Galaxy S II SC-02CにOxygen v2.2を焼いてみた





htc Desireをカスタムして遊んでた人で知らない人は居ないであろうAdamG様のOxygenROMがSGS2にやって来たのでSC-02Cに焼いてみた

Oxygen Forum Oxygen v2.2 [02/08/2011]

焼き方はCyanogenModと同じでCWMRecoveryからFlashするだけ、ラクチン

2011年7月19日火曜日

Samsung Galaxy S II SC-02CでCyanogenMod7




xda-developers - [ROM][GRJ22] CyanogenMod 7 for Samsung Galaxy S II

SGS2向けのCyanogenMod7がリリースされていたのでとりあえずSC-02Cに入れてみた。
国際版向けだがSC-02Cでもパッと見普通に動いている…

インストールは簡単、CWMRecoveryで焼くだけ。
ちょこっとだけスクリプトを書き換える必要があるけどすぐに分かるはず。

2011年6月29日水曜日

Samsung Galaxy S II SC-02Cのディスプレイカラーバランスを調整する。


rootedじゃないと出来ないよ!

イジくるのは/system/etcの中にあるmdnie_tune_*というファイル
今回はmdnie_tune_ui_standard_modeをイジります。

元ネタは8796先生のこのエントリ
8796.jp管理日誌 - [電話] Galaxy SII GT-I9100の画面モードを弄る

mdnie_tune_ui_standard_modeは設定>画面>スクリーンモードの標準を選択した時に読み込まれるファイルです。

デフォルトだとこんな感じになってます、中身

//start
0x0001,0x0000, //
0x002c,0x0fff, //DNR bypass 0x003C
0x002d,0x1900, //DNR bypass 0x0a08
0x002e,0x0000, //DNR bypass 0x1010
0x002f,0x0fff, //DNR bypass 0x0400
0x003A,0x000d, //HDTR DE_off CS : de on = d , de off = 9
0x003B,0x0001, //DE SHARPNESS(0~1023) off
0x003C,0x0000, //NOISE LEVEL
0x003F,0x001e, //CS GAIN 30
0x0042,0x0030, //DE TH (MAX DIFF)
0x0028,0x0000, //Register Mask
//end


んで書き換えたのがコレ

//start
0x0001,0x0045, //0x0000から0x0045に
0x002c,0x0fff, //DNR bypass 0x003C
0x002d,0x1900, //DNR bypass 0x0a08
0x002e,0x0000, //DNR bypass 0x1010
0x002f,0x0fff, //DNR bypass 0x0400
0x003A,0x000d, //HDTR DE_off CS : de on = d , de off = 9
0x003B,0x0001, //default 1DE SHARPNESS(0~1023) off
0x003C,0x0000, //NOISE LEVEL
0x003F,0x001e, //CS GAIN 30
0x0042,0x0030, //DE TH (MAX DIFF)

0x005b,0x0064, //追加
0x0063,0x7a00, //追加 青色調整
0x0065,0x0088, //追加 赤色調整

0x0028,0x0000, //Register Mask
//end


仕様書が無いと分からんけどなんとなくこんな感じ
0x0001…モード指定
0x005b…モード絡み?

0x0063…青色調整、実際に使われるのは頭ふたつ…0xff00とかにするとスゴク青いです。
0x0065…赤色調整、実際に使われるのはお尻のふたつ…0x00ffとかにするとスゴク赤いです。

0x0064がミドリかと思ったけど違うみたい…多分0x80固定
SGS2の液晶はなんか青いので0x0063ちょい下げの0x0065ちょい上げな感じにするとイイ感じ。

カーネル側で調整する方が良さそうだけど…

2011年6月26日日曜日

Samsung Galaxy S II SC-02Cを純正カーネルのままrootedにする方法




やっとブツ手に入ったので純正カーネルのままrootedになってみた…

用意するもの


1)GalaxyS II SC-02C 2台
2)Linux環境
3)文鎮になったら新しい端末買えばいいや!なココロ

全体の流れ


1)secure=0なカスタムカーネル焼く
2)とりあえず素の状態の/system(mmcblk0p9)をdump
3)su流しこむ…busyboxとかSuperuser.apkとかはお好みで
4)su入りの/system(mmcblk0p9)をdump
5)/system(mmcblk0p9)をOdin3もしくはheimdallで焼ける形式に変換する。
6)別のSGS2にsu入りfactoryfs.imgを焼く
7)カーネル(mmcblk0p5)をdump
8)カスタムカーネル焼いた方のSGS2に7)の純正カーネルを焼く、おでん食べたい。

カスタムカーネルを用意する、焼く


面倒くさいので省略

dumpする



dd if=/dev/block/mmcblk0p9 of=/sdcard/dump/mmcblk0p9.img bs=4096
dd if=/dev/block/mmcblk0p5 of=/sdcard/dump/mmcblk0p5.img bs=4096


/system(mmcblk0p9)をOdin3もしくはheimdallで焼ける形式に変換する。


http://forum.xda-developers.com/showthread.php?t=1081239
ここ見れば分かる、英語読めない?知らんがな…

ddでdumpした/systemはext4なので

mkdir system
mount -o loop mmcblk0p9.img system

てな感じでマウント出来る。

あとはxdaに書いてある通り

./mkuserimg.sh -s /home/hoge/sc02c/system ./factoryfs.img ext4 ./temp 612M

てな感じでOdin3で焼ける形式に変換する…一応simg2imgをmakeってunpack出来るかも確認しとくとベター
11/7/1 最初512MBと書いてましたがSC-02Cの/systemサイズに合わせる場合612MBになります。



純正カーネルあっぷする気なんて無いよ、何も考えずにUK版カスタムカーネル焼いてワンセグ使えないだのGPS動かないだの言ってる人はもう1~2台お金払ってSGS2買ってください。

2011年6月24日金曜日

Samsung Galaxy S II SC-02Cのカーネルビルドメモ

SC-02Cのroot取るのにカーネルごにょごにょする必要あるのでそれのメモ

モジュールを差し替えないとWiFiエラーで起動しなかったりするよ…


カーネルソースの入手


https://opensource.samsung.com/
SamsungのサイトからGT-I9100のカーネルソースをDLしてくる。
SEARCHの所にGT-I9100って入れて検索すれば出てきます。

クロスコンパイラの準備


安藤恐竜さんのサイト参考に

$ wget http://www.codesourcery.com/public/gnu_toolchain/arm-none-linux-gnueabi/arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2
$ sudo tar jxvf arm-2009q3-67-arm-none-linux-gnueabi-i686-pc-linux-gnu.tar.bz2 -C /opt


initramfs用意


面倒くさいので省略

カーネルソース修正


とりあえず展開して

$tar xf GT-I9100_Kernel_Gingerbread.tar.gz


c1_rev02_jpn_ntt_defconfigのCONFIG_INITRAMFS_SOURCE=""にinitramfsのパス書く

initramのdefault.propをこんな感じに編集

ro.secure=0
ro.allow.mock.location=0
ro.debuggable=0
persist.service.adb.enable=1

adb shellとかするとイキナリ#な感じになりまsu

ビルドする



$export PATH=/opt/arm-2009q3/bin:$PATH
$export ARCH=arm
$export CROSS_COMPILE=arm-none-linux-gnueabi-
$make c1_rev02_jpn_ntt_defconfig
$make -j4

lzopパッケージ入れておく必要あります。

arch/arm/boot/にzImage出来るのでHeimdallで焼くか

$tar cvf SC02C_kernel.tar zImage

てな感じにtarっておでんで焼く

ざっとこんな感じ…まだ実機入手出来てないので動作は未確認

2011年6月18日土曜日

Sidekick4G rfs to ext4



Sidekick4GはGalaxyS同様/system、/data、/cacheがrfsなのでこれをext4にしてみる…rfsのままでも別にストレス感じないですけど…

ext4対応kernel作成


initramfsイジるだけなんでそんなに大変じゃないけど説明するの大変なので細かいところは書かない

1)jbd2.koとext4.ko用意する…epic4gのカスタムROMとかから引っこ抜いてくるのが楽か
2)init.rc編集
kernel moduleをinsmodしてやる

insmod /lib/modules/jbd2.ko
insmod /lib/modules/ext4.ko


3)rfsで/systemとかマウントしてるところの上にext4でマウントするためのコマンド追加
これでext4とrfsの両方に対応できる

mount ext4 /dev/block/stl9 /system noatime nodiratime errors=continue nobh data=writeback barrier=0 noauto_da_alloc
mount rfs /dev/block/stl9 /system ro check=no

mount ext4 /dev/block/stl10 /data nosuid nodev noatime nodiratime errors=continue nobh data=writeback barrier=0 noauto_da_alloc
mount rfs /dev/block/stl10 /data nosuid nodev check=no

mount ext4 /dev/block/stl11 /cache nosuid nodev noatime nodiratime errors=continue nobh data=writeback barrier=0 noauto_da_alloc
mount rfs /dev/block/stl11 /cache nosuid nodev check=no


recovery.rcとかも同じ感じで編集…まぁしなくてもいいんですけど…

4)CWMRecoveryのadbでsuになれなかったのでdefault.propをro.secure=0な感じにしておいた。

5)ext4対応なinitramfs使ってカーネルビルドする…んでheimdall使って焼く

/systemと/dataをext4に変換


1)[ROM][CWM] Stock Deodexed KD1ここにあるCWM3XX.zipつかってCWMRecoveryに入る

2)/systemと/dataをバックアップ

busybox tar cf /sdcard/system.tar /system || halt
busybox tar cf /sdcard/data.tar /data || halt


3)/system、/data、/cacheをext4でフォーマットする

adb push jbd2.ko /tmp
adb push ext4.ko /tmp
adb shell insmod /tmp/jbd2.ko
adb shell insmod /tmp/ext4.ko
adb shell umount /system
adb shell umount /data
adb shell umount /cache
adb push fsck.ext4 /tmp
adb push mkfs.ext4 /tmp
adb push mke2fs.conf /etc
adb push tune2fs /tmp
adb shell chmod 0755 /tmp -R
adb shell chmod 0755 /etc -R
adb shell /tmp/mkfs.ext4 -L /system -b 4096 -m 0 -F /dev/block/stl9
adb shell /tmp/tune2fs -c 100 -i 30d -m 0 /dev/block/stl9
adb shell /sbin/mount -t ext4 /dev/block/stl9 /system
adb shell /tmp/mkfs.ext4 -L /data -b 4096 -m 0 -F /dev/block/stl10
adb shell /tmp/tune2fs -c 100 -i 30d -m 0 /dev/block/stl10
adb shell /sbin/mount -t ext4 /dev/block/stl10 /data
adb shell /tmp/mkfs.ext4 -L /cache -b 4096 -m 0 -F /dev/block/stl11
adb shell /tmp/tune2fs -c 100 -i 30d -m 0 /dev/block/stl11
adb shell /sbin/mount -t ext4 /dev/block/stl11 /cache

umountうまく出来ねーとかの場合はCWMRecovery再立ち上げするとうまくいったりする
元ネタはEpic4GのDameon87さん作One Click EXT4 Installer

4)バックアップしてた/systemと/dataを元に戻す

busybox tar xf /sdcard/system.tar -C /
busybox tar xf /sdcard/data.tar -C /


5)リブート

ざっとこんな感じ…