[Google Pixel]android7.1.1/NMF26Vへアップデート

Android OS

OnePlus 3Tも最新版にしたので、Google Pixelも。

最近、メイン端末の座をOnePlus 3Tに譲っていましたが、
android7.0にした途端、バグがあったりで、

「やっぱりGoogleデバイス最高だよね」

と改めて安定したOS環境にぬくぬくとしています。

Google端末のアップデート

久しぶりにGoogle Pixelのアップデートをしたので、自分の記憶代わりに記録してみようかなと。

現在の環境

  • bootlaoder アンロック済み
  • root化済み
  • OSはUbuntu Gnome16.10

という状態です。

アップデートファイル

Googleが毎回、公式で出してくれますのでありがたいものです。

今回は、Factory Imageの方を使います。
OTAファイルは、/system以下を改編しているとアップデートできないので、使えません。

ダウンロードしたのは

  • sailfish-nmf26v-factory-8ba1f89e.zip

です。

アップデートスクリプトは。

先ほどの「sailfish-nmf26v-factory-8ba1f89e.zip」を展開してみると、シェルスクリプトとWindows用のバッチファイルが入っています。

「flash-all.sh」「flash-all.bat」を実行してしうまうと、「Factory Image」のファイル名が示すとおり、完全に初期化されてしまいます。

今までは、

OTAアップデートができないから、初期化するか

と安易に初期化していましたが、手動でのアップデートも出来るみたいなのでトライ。

それなら、手動アップデート

こちらのサイトでいうところ、単純に必要な領域だけ焼いてしまえばいいってことですね。

XDAのとおり、これを実行していきます。

# fastboot flash bootloader bootloader-sailfish-*.img
# fastboot reboot-bootloader
# fastboot flash radio radio-sailfish-*.img
# fastboot reboot-bootloader
# fastboot flash boot_a boot.img
# fastboot flash boot_b boot.img
# fastboot flash system system.img
# fastboot flash system_b system_other.img
# fastboot flash vendor vendor.img
# fastboot flash modem modem.img
# fastboot reboot

ちなみに、古いfastbootバイナリだと実行できませんので、最新版にアップデートする必要があります。

アップデート後にやったこと。

初期化されないとはいえ、それは/data以下の領域だけの話ですので、

  • カスタムリカバリ=TWRP
  • root化

などについては、再度実行する必要があります。
これ以外にやったことは

  • カスタムKernelのインストール
  • フォントの変更
  • SELinuxをPermissiveに変更

といったところです。

TWRPのインストール

こちらから

  • twrp-3.0.2-0-RC1-fastboot-sailfish.img
  • twrp-pixel-installer-sailfish-3.0.2-0-RC1.zip

をダウンロード。

最初にimgファイルを焼かずに起動だけ。

# fastboot boot twrp-3.0.2-0-RC1-fastboot-sailfish.img

TWRPが起動したら、ZIPファイルをインストールすれば終わりです。

root化

SuperSUをTWRP経由でインストールするだけ。

カスタムKernelのインストール。

Google Pixelで公開されているカスタムKernelは、ぱっと見た感じ

  1.  [KERNEL] [Jan 3] ElementalX-P-1.03
  2. [KERNEL] [NMF26U] [Jan 4] Stock Kernel + SafetyNet Patch
  3. [KERNEL] franco.Kernel – r6 – 6th December

こんなのが盛り上がっているようです。

試したのは「1」の「ElementalX-P」です。
これも、franco kenelも有名ですね。

androidアプリもあります。

 

ElementalX-PはTWRPからインストールするだけ。

おわり。

フォントの変更

ここからちょっと面倒。

フォントの変更には

  • 追加したいフォントを/system/fontsにコピー
  • /system/etc/fonts.xmlの編集

の2つの作業が必要です。

Root ExplorerやSolid Explorerなど/systemディレクトリをマウントできるファイラーでの作業が楽かなと思います。

fonts.xmlの編集

/system/etc/ディレクトリからfonts.xmlを取り出して、編集します。
変更したいフォント名は

  • SomcUDGothic-Regular.ttf

です。
編集箇所は344行目あたり。

編集前

 <family lang="ja">
 <font weight="400" style="normal" index="0">NotoSansCJK-Regular.ttc</font>
 </family>

編集後

 <family lang="ja">
 <font weight="400" style="normal" index="0">SomcUDGothic-Regular.ttf</font>
 <font weight="700" style="bold" index="1">SomcUDGothic-Regular.ttf</font>
 </family>

これを/system/etc/ディレクトリへ戻しましょう。
オリジナルファイルをきちんとバックアップしておくのを忘れずに。

パーミッションは「644」
チェックボックスにチェックが入りませんでしたが、これで「適用」をタッチしたら適用されました。

肝心のフォントは/system/font/ディレクトリへ。

パーミッションは同じく「644」

再起動すれば、オッケーです。

SELinux=Permissiveへ

関係ない人には関係ないし、セキュリティレベルも低下するので、気をつけてください。
通常、anrdoidは「Enforcing」の状態です。

調べるにはadb shellを使うか、Terminalアプリを使います。

$ su
# getenforce
Enforcing

EnforcingをPermissiveにするコマンドを唱えます。

# setenforce 0
# getenforce
Permissive

これだけです。

ただし、再起動のたびにEnforcingに戻ってしまいます。
そこで起動時に「setenforce 0」を実行出来るようにします。

空ファイルを作り、エディターで開いて、次の内容を記入。

#!/system/bin/sh
/system/bin/setenforce 0

自分は「selinux.sh」と名づけて保存しました。
このファイルを

/su/su.d/ディレクトリ内に入れて、パーミッションを「755」にセット。

再起動してみて、Terminalアプリからgetenforceコマンドを使って、「Permissive」となるのを確認してください。

あとはカメラの問題だけ解決されれば、最高なんだけどなぁ。

 

booleeをフォローする
BOOLEE STREET.net

コメント