カスタムしたSC-04DをStock ROMに戻す

# ざっくりとした手順　
既存ROMの削除→StockROM書き込み→CWMからOTA適用→Stock RecoveryからOTA適用
という流れで作業していきます。ROMは自炊したものか有志公開のものを使いましょう。

# StockROMの焼き直し

```bash
#system領域を消去する。
fastboot erase system -w
******** Did you mean to fastboot format this partition?
Creating filesystem with parameters:
    Size: 14539534336
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 8144
    Inode size: 256
    Journal blocks: 32768
    Label:
    Blocks: 3549691
    Block groups: 109
    Reserved block group size: 871
Created filesystem with 11/887696 inodes and 97200/3549691 blocks
Creating filesystem with parameters:
    Size: 452984832
    Block size: 4096
    Blocks per group: 32768
    Inodes per group: 6912
    Inode size: 256
    Journal blocks: 1728
    Label:
    Blocks: 110592
    Block groups: 4
    Reserved block group size: 31
Created filesystem with 11/27648 inodes and 3566/110592 blocks
erasing 'system'...
OKAY [  0.041s]
erasing 'userdata'...
OKAY [  0.558s]
sending 'userdata' (137559 KB)...
OKAY [ 15.545s]
writing 'userdata'...
OKAY [ 10.929s]
erasing 'cache'...
OKAY [  0.023s]
sending 'cache' (8832 KB)...
OKAY [  1.007s]
writing 'cache'...
OKAY [  2.066s]
finished. total time: 30.198s

# boot領域を削除する。
fastboot erase boot
erasing 'boot'...
OKAY [  0.025s]
finished. total time: 0.028s
```

`ITL41D`(4.0.1)のROMを書き込む

```bash
#　system領域の書き込み
fastboot flash system system.img
erasing 'system'...
OKAY [  0.015s]
sending 'system' (321835 KB)...
OKAY [ 35.979s]
writing 'system'...
OKAY [ 20.241s]
finished. total time: 56.245s

# boot領域の書き込み
fastboot flash boot boot.img
sending 'boot' (8192 KB)...
OKAY [  0.936s]
writing 'boot'...
OKAY [  0.736s]
finished. total time: 1.678s

# recovery領域の書き込み
fastboot flash recovery recovery.img
sending 'recovery' (4386 KB)...
OKAY [  0.517s]
writing 'recovery'...
OKAY [  0.473s]
finished. total time: 0.995s

# radio領域の書き込み
fastboot flash radio radio.img
sending 'radio' (12288 KB)...
OKAY [  1.401s]
writing 'radio'...
OKAY [  2.047s]
finished. total time: 3.455s

# bootloaderを書き込み
fastboot flash bootloader bootloader.img
sending 'bootloader' (2308 KB)...
OKAY [  0.266s]
writing 'bootloader'...
OKAY [  0.439s]
finished. total time: 0.712s
```


Stock ROMの書き込みが終わったら`CWM`を起動させる

```bash
fastboot boot recovery-clockwork-5.5.0.2-maguro.img
downloading 'boot.img'...
OKAY [  0.595s]
booting...
OKAY [  0.330s]
finished. total time: 0.932s
```
メニューから`factry reset`を実行。再起動すると4.0.1に戻ってます。
続いて設定からOTAファイルをダウンロードします。このOTAファイルは署名上の問題でそのまま適用することができませんので、/cache 以下に保存されているOTAファイルを取出して手直しをします。

```bash
adb pull /cache/94ec403ff247ca27ed0565b827ea9701e31a1f79.zip
```

`\META-INF\com\google\android\`以下、`updater-script`の先頭4行を削除し、7zip等を使用して書庫に追加します。

```bash
assert(file_getprop("/system/build.prop", "ro.build.fingerprint") == "samsung/yakjusc/maguro:4.0.1/ITL41D/SC04DOMKKD:user/release-keys" ||
       file_getprop("/system/build.prop", "ro.build.fingerprint") == "samsung/yakjusc/maguro:4.0.2/ICL53F/SC04DOMLA1:user/release-keys");
assert(getprop("ro.product.device") == "maguro" ||
       getprop("ro.build.product") == "maguro");
```

手直しができたら編集済OTAファイルを/sdcard へ配置し、CWMを起動します。

```bash
#CWMをbootする。

adb reboot bootloader
fastboot boot recovery-clockwork-5.5.0.2-maguro.img
downloading 'boot.img'...
OKAY [  0.598s]
booting...
OKAY [  0.331s]
finished. total time: 0.940s
```

`CWM`が起動したらOTAファイルを、`install zip from sdcard`からインストール。
再起動後に端末単体で、なおかつStock RecoceryでOTAが当たるようになっていればOKです。

仕上げに`bootloader`を`Locked`に戻せば作業完了です。

```bash
fastboot oem lock
...
OKAY [  0.201s]
finished. total time: 0.206s
```

# 考察
・`ITL41D`(4.0.1)のROMを焼き直すだけだと、次回のOTA(`ICL53F`)が当たらないっぽい。
　標準リカバリが署名回りでなんかエラー吐いてるので、対策として`CWM`から`install`する。
　`ICL53F`アプデ後のOTAが正常に当たっていけば、公式な状態に戻ってます。

・radio領域のバックアップは`/dev/block/platform`以下を探すといいかもしれない。
　CWM起動時にadb接続すればroot権限であれこれできます。

・CWMの代わりにTWRPを使ったら上手いこといきませんでした。てへぺろ