最近のSamsung端末ファームウェアをダウングレードする方法の探求
(このページは工事中です)
このページは
Samsung端末にファームウェアを書込むにはOdinツールが使われるが、ブートローダバージョンが下がるような書込みを実行しようとするとエラーになり、書込みは完遂できない。このページではそのような書込みを実行する方法を探求する。
予備知識
上記ページのフォームのMy Model Numberは例えばSM-N960Fといったような文字列である(この例はGalaxy Note 9の一モデルの場合)。
ブートローダバージョンはファームウェアのファイル名(例えばN960FXXS2CSBA_N960FOXM2CSA2_XSG.zip)の第1節(前記の例ではN960FXXS2CSBA)の末尾から5番目の数字1桁(前記の例ではXXSとCSBに挟まれた数字「2」)である。
ブートローダは、ファームウェアを展開するとBL_で始まるファイル(前記の例ではBL_N960FXXS2CSBA_CL15135523_QB22281778_REV00_user_low_ship.tar.md5)内にある。以下ではこれをBLファイルと呼ぶ。
BLファイルを展開すると、.bin.lz4という拡張子を持つ5つのファイルが得られる。これらは圧縮ファイルであり、伸長すると.lz4拡張子を取り除いたファイル名の次の5つのファイルが得られる。
cm.bin
keystorage.bin
param.bin
sboot.bin
up_param.bin
Odinでダウングレードを試みるとどうなるか
rooted端末におけるdd
端末上で実行されるUNIXコマンドddを用いて端末の特定パーティションにバイナリを書き込むことができる。
端末パーティションを識別するには、端末の/dev/block/by-nameフォルダにあるシンボリックリンクが便利である。SM-N960Fの例では、このフォルダに次の3つのシンボリックリンクが存在するので、対応する名前の.binファイルはそこへ書き込めばよいと認識できる。
KEYSTORAGE ->
PARAM ->
UP_PARAM ->
Heimdall
(2021-11-22)