ジャンル不定の日記です。

LinegeOSを入れてみた

CM11を導入したSC-02Cをメインスマホとして使ってるが、CyanogenModが終了しちゃってるからいつかは別のROM導入しなきゃな・・・
という感じだったが、サブのSC-02CにCyanogenModの後継ぽいLinegeOSを入れてみた。
Android 7.1相当の14.1を入れた。

LinegeOSの公式にSC-02Cは無かったがGT-i9100(グローバル版GALAXY S II)があったので拾ってきてTWRPから入れようとしたのだが、
プログレスが終了ちょっと前のところで動いてるんだが伸びなくなった。
ちょっと調べたら、CyanogenModでもそうらしいが、14以降は領域を拡張しないと入らないぽい。

めんどくさいんで導入中止にしようかとも思ったが、
system上書き中に止まっちゃったぽくて明らかに文鎮化してるんでPITの変更した。

PITの変更は以前の記事を参考に。
この時作ったPITを今まで使ってたが、標準だとdataが少ないんで3倍に拡張して仮想SDをその分減らしたもの。
今回はsystemの拡張をする必要があるが、dataの1個手前なんでdataを縮小して後ろに影響しないようにするのが楽かと思ったが、
dataは3倍にしてもあまり余裕はないので仮想SDの方が削りたく、
dataの縮小だとサイズが中途半端になるから手間はどっちもどっちかな・・・
というわけで、仮想SDを削ることにした。

以前の変更の際にわかったが、PITファイルは4byteが1ブロックになっててパーティション名の4ブロック前が開始位置でその次のブロックがサイズ。
単位はセクタ(512byte)単位でリトルエンディアン(1byteずつ逆順)になってる。

パーティション名はfdiskで確認できるが、
systemがFACTORYFS
dataがDATAFS
仮想SDがUMS
となっている。

PITファイルでFACTORYFSの開始位置が 00400500 となっているが16進にすると 0x054000 。
サイズが 00201300 となっているが16進にすると0x132000 。
16進とか2心の暗算はできないが、前回の変更の値を見ると16進で 0x100000 が512MBぽい。
0x200000 の1GiBにすることにした。
なのでサイズの部分が、
00201300 → 00002000

DATAFSは標準だと開始位置が 00601800 サイズが 00004000 だがサイズの方は3倍(6GiB)に拡張してるんで 0000C000 になってる。
今回は手前のFACTORYFSが拡張してるんで開始位置をずらすが、
FACTORYFSの開始位置とサイズを16進で足せばDATAFSの開始位置になる。
「0x054000 + 0x200000」でググれば 0x254000 と答え教えてくれる。
リトルエンディアンにすると 00402500 。
サイズの方は前回から変更せず 0000C000 にする。

UMSも開始位置が後ろにズレて、ここを縮小してsystemの増加分を吸収する。
開始位置はDATAFSの時と同じ算出方法で、DATAFSの開始位置にサイズを足す。
「0x254000 + 0xC00000」でググれば 0xE54000 と答え教えてくれる。
リトルエンディアンにすると 0040E500 。
サイズは前回の時も同じ計算したが、後ろにあるHIDDENの開始位置からUMSの開始位置を引く。
HIDDENの開始位置は 00A0C801 で16進にすると 0x01C8A000
「0x01C8A000 - 0xE54000」でググれば 0xE36000 と答え教えてくれる。
リトルエンディアンにすると 0060E300 。



標準からの変更箇所が赤で囲んだところで、青で囲んだところは変更しないが計算に必要な箇所。


WindowsのOdinでPITの書き込みをしたが、OdinでのPITだけの書き込み初めてだったが、イメージは無しでPITだけの変更できた。heimdallでそれやるとエラー出た。
というか、LinuxのheimdallはなんかうまくいかんのでWindows使うの面倒だがflashの際はOdinでやってる。

# fdisk /dev/block/mmcblk0
Found valid GPT with protective MBR; using GPT


Command (m for help): p
Disk /dev/block/mmcblk0: 30777344 sectors, 2740M
Logical sector size: 512
Disk identifier (GUID): 52444e41-494f-2044-4d4d-43204449534b
Partition table holds up to 128 entries
First usable sector is 34, last usable sector is 30777310

Number  Start (sector)    End (sector)  Size       Code  Name
   1            8192           49151       20.0M   0700  EFS
   2           49152           51711       1280K   0700  SBL1
   3           53248           55807       1280K   0700  SBL2
   4           57344           73727       8192K   0700  PARAM
   5           73728           90111       8192K   0700  KERNEL
   6           90112          106495       8192K   0700  RECOVERY
   7          106496          311295        100M   0700  CACHE
   8          311296          344063       16.0M   0700  MODEM
   9          344064         2441215       1024M   0700  FACTORYFS
  10         2441216        15024127       6144M   0700  DATAFS
  11        15024128        29925375       7276M   0700  UMS
  12        29925376        30769151        412M   0700  HIDDEN
予定通りの結果になってた。

TWRPでwipeしてLinegeOS 14.1をinstallしたら成功した。
OpenGApps入れようとしたらエラーになったが、バージョンごとに違うの知らずに4.4用の入れようとしてたからだった。7.1用の入れたら成功した。
初回起動時にブートアニメーションから中々進まなかったが、やたら長いが終わった。2回目以降はすぐに起動する。

GPSが機能してないぽかったんだが、wifi ONで今まで気づかなかったがCM11も機能してないぽい?
スピーカー・マイク、カメラ、センサー類など正常だった。
CM11より微妙に重い気もしないではない。
当面サブ機はLinegeOS使っていくことにする。
メインはしばらくはCM11のまま。