2011年製のタブレットにAndroid 8.1をインストールする

2019年の年末に断捨離をしていたら、2011年のGoogle I/OでもらったGalaxy Tab 10.1が出てきたので、こいつにAndroid 8.1をインストールしてみることにしました。

![IMG_20200101_172839.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/0cd5b124-2b8d-7ef6-86c2-b2078569a949.jpeg)

2011年製ですから、当然Googleからは公式ROMなんてものは提供されてません。でもコミュニティレベルでは、まだまだ開発が続いているのです。

# 準備

Mac OSで作業をしましたが、WindowsでもLinuxでもできるはずです。

## 1. heimdallのインストール

SamsungのAndroidには、**リカバリーモード**の他に、**odinモード**と呼ばれるモードがあります。

odinモードはSamsung特有の機能のようで、元々Windows用にしかツールがなかったのですが、これをMacでも使えるようにしたのが、heimdallです。

https://glassechidna.com.au/heimdall/

しかし、これも開発が止まってしまっている模様。。。

いろいろと調べた結果、**Heimdall-1.4.1-Unofficial-Signed.dmg**がOS X El Capitan以降に唯一対応していましたので、下のURLからダウンロードして、インストールします。

https://bitbucket.org/benjamin_dobell/heimdall/downloads/

ターミナルを開いて、heimdall とコマンドを実行すれば、いろいろとヘルプが出てきます。

<img width="1053" alt="Screen Shot 2020-01-01 at 6.35.31 PM.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/86d1c2db-d79d-a4d6-36f5-3d8da1f6f32a.png">

## 2. TWRP BigSysのダウンロード

カスタム・リカバリーとしては、CWMとTWRPが有名ですよね。ここではTWRPで話を進めます。

Androidが巨大化した結果、ページング技術が導入されたようです。
これによって、TWRPとTWRP BigSysの2バージョンができました。
今回使うのはTWRP BigSysの方です。
インストールはあとで。とりあえずダウンロードしておきます。

TWRP BigSysはここからダウンロードできます。
https://forum.xda-developers.com/devdb/project/dl/?id=29165

**twrp311-20180416-BIGSYS.zip**をダウンロードしたら、展開しておきます。

**Android 7.1.2をインストールする場合は、TWRP2.8のがうまくできました。
ダウンロードはここからできます。
https://androidfilehost.com/?fid=24052804347793947



## 3. OS ROMのダウンロード

いよいよOS ROMのダウンロードです。
Google I/O 2011でもらったGalaxy Tab 10.1は、"GT-P7510 / p4wifi"というデバイスです。
なので、"p4wifi"とファイル名に入っているものをダウンロードします。

<img width="523" alt="Screen Shot 2020-01-01 at 6.47.54 PM.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/1adcb15c-1eee-5f58-78b5-76042bd57018.png">


フォーラムの説明によると、Android 8.1のバージョンでは、カメラに若干不具合があるとのこと。
カメラを使いたい人は、Android 7のがいいかも。
ちなみにダウンロード先がなくなってたりするときは、ファイル名でGoogle検索すれば、どこか別のところからダウンロードできます。

私は**aosp-8.1-p4wifi-20181011.zip**をダウンロードしました。

### Android 8.1

・[フォーラムページ](http://forum.xda-developers.com/galaxy-tab-10-1/development/dev-kernel-3-18-galaxy-tab-10-1-t3688948)

・[ROMのダウンロードページ](https://forum.xda-developers.com/devdb/project/?id=22856#downloads)


### Android 7.1.2

・[フォーラムページ](https://forum.xda-developers.com/galaxy-tab-10-1/development/rom-android-7-0-nougat-t3471350)

・[ROMのダウンロードページ](https://forum.xda-developers.com/devdb/project/?id=17224#downloads)


## 4. OpenGApps のダウンロード

カスタムロムはAOSPなので、当然Google Apps(Gmailとか)はインストールされていません。

Google Play Storeが使えないと不便なので、OpenGAppsをインストールします。
必要最小限でいいので、私は**pico**バージョンをダウンロードしました。

https://opengapps.org/

<img width="596" alt="Screen Shot 2020-01-01 at 6.56.10 PM.png" src="https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/dc81d447-bbd7-fd3b-4550-64853e3b0d1c.png">

これでようやく準備完了です。

-----------

タブレットの充電は完了しましたか？それでは始めましょう。

# 5. odinモードに切り替える

[Power] + [Volume down] ボタンを同時押しして、しばらく待ちます。

![IMG_20200101_190030.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/cac6209e-9220-c6aa-8759-25beaa76af49.jpeg)

すると、このような画面にになります。左がリカバリーで、右がodinモードです。

![IMG_20200101_190131.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/a826cce9-4882-c586-2f06-ee473e6e59c3.jpeg)

[Volume up]でodinモードに入ります。

![IMG_20200101_190611.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/fb83192f-a3c4-cadd-e9f3-d4af34f3f115.jpeg)

MacとタブレットをUSBケーブルで接続しましょう。

# 6. Heimdallでパーティション・テーブルを確認する

Heimdallコマンドを使って、パーティションを確認します。

```
$> heimdall print-pit --no-reboot > pit.txt

$> cat pit.txt

Heimdall v1.4.1

Copyright (c) 2010-2014 Benjamin Dobell, Glass Echidna
http://www.glassechidna.com.au/

This software is provided free of charge. Copying and redistribution is
encouraged.

If you appreciate this software and you would like to support future
development please consider donating:
http://www.glassechidna.com.au/donate/

Initialising connection...
Detecting device...
Claiming interface...
Setting up interface...

Initialising protocol...
Protocol initialisation successful.

Beginning session...

Some devices may take up to 2 minutes to respond.
Please be patient!

Session begun.

Downloading device's PIT file...
PIT file download successful.

Entry Count: 17
Unknown 1: 0
Unknown 2: 0
Unknown 3: 0
Unknown 4: 0
Unknown 5: 0
Unknown 6: 0
Unknown 7: 0
Unknown 8: 0

...

--- Entry #7 ---
Binary Type: 0 (AP)
Device Type: 2 (MMC)
Identifier: 8
Attributes: 1 (Read/Write)
Update Attributes: 0
Partition Block Size/Offset: 512
Partition Block Count: 10
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: SOS
Flash Filename: recovery.img
FOTA Filename: 

...

--- Entry #15 ---
Binary Type: 0 (AP)
Device Type: 2 (MMC)
Identifier: 16
Attributes: 1 (Read/Write)
Update Attributes: 0
Partition Block Size/Offset: 512
Partition Block Count: 600
File Offset (Obsolete): 0
File Size (Obsolete): 0
Partition Name: HID
Flash Filename: hidden.img
FOTA Filename: 

...

Ending session...
Releasing device interface...
```

ふむふむ、実に興味深い。Custom ROMをインストールしたことのある人であれば、説明しなくても眺めるだけで、なんとなく分かると思います。

# 7. TWRP BigSysのインストール

さてさて、ようやくインストールです。
先程ダウンロードした **twrp311-20180416-BIGSYS.zip**を展開します。
必要なのは、`recovery.img` と`hidden.img`です。

```
.
├── META-INF
│   ├── CERT.RSA
│   ├── CERT.SF
│   ├── MANIFEST.MF
│   └── com
│       └── google
│           └── android
│               ├── update-binary
│               └── updater-script
├── recovery
│   ├── busybox
│   ├── hidden.img ←これ
│   └── recovery.img ←これ
└── recovery\ source
```

ターミナルから、これらをflashします。
コマンドが完了すれば自動的に再起動します。

```
$> heimdall flash --SOS recovery/recovery.img --resume --no-reboot

$> heimdall flash --HID recovery/hidden.img --resume
```

# 8. リカバリーモードに切り替える

再び[Power] + [Volume down] ボタンを同時押しして、この画面に戻ってきます。

![IMG_20200101_192307.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/ea8c7d33-6f4c-cb78-e933-6e781ec66b96.jpeg)

今度は左側を選択して、リカバリーモードに切り替えます。
ちゃんとflashできていれば、TWRPのロゴが見えるはずです。**BigSys**と書かれているのを確認しておきましょう。

![IMG_20200101_174505.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/595ec096-8585-8fdf-38fb-eed96c3e609a.jpeg)

# 9. ROMのflash

[Advanced] → [ADB Sideload]ボタンを押して、**sideloadモード**をスタートします。

![Screenshot_2020-01-01-21-54-31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/52c45833-afb7-5ae2-fdc9-0e7323aaf8c9.png)

ターミナルから、下記のようにコマンドを実行します。

```
$> adb sideload aosp-8.1-p4wifi-20181011.zip
```

![Screenshot_2020-01-01-22-00-17.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/e6d56beb-81c8-d698-deb8-73605336f7dc.png)

しばらく待ちます。

![Screenshot_2020-01-01-22-02-35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/af0fc4e5-b3e6-7413-b142-2abb2d2074ca.png)

完了したら [Reboot System]ボタンを押して、再起動しましょう。

起動までの時間がちょっと長いのですが、しばらく待ちます。

![IMG_20200101_192134.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/2873538c-24ce-ef8e-591a-1bc92dc1b1c5.jpeg)

キタキタ―――(ﾟ∀ﾟ)―――― !!

![IMG_20200101_200649.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/51c4f7c3-70cb-44ac-5d6d-010c03640ad1.jpeg)

Oreoだね。

![IMG_20200101_172802.jpg](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/94bee7bb-85a0-e504-5172-9654ae763d6a.jpeg)

# 10. OpenGAppsのインストール

再びTWRPに戻り、[Advanced] → [ADB Sideload]ボタンを押して、**sideloadモード**をスタートします。

ターミナルから、下記のようにコマンドを実行します。

```
$> adb sideload open_gapps-arm-8.1-pico-20191230.zip
```

![Screenshot_2020-01-01-22-18-00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/e8168fa0-89bf-621d-22df-efe726e7c527.png)

完了したら再起動します。

ちゃんとGoogle Play Storeが入ってますね。

![Screenshot_20200101-202344.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/ce252fc6-090e-b4d2-5ed3-5ed86beaa366.png)

ちょっとモサッとした感じがあるのですが、ちゃんと使えます。
![Screenshot_20200101-202622.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39529/177cf5fc-3b49-24e0-0211-698b30f19593.png)

# 最後に

同じような感じで、Nexus 7にAndroid 7.1.2をインストールすることもできます。押入れに眠っている古いAndroidがあったら、試してみてください。

あともしサクサク動かしたいのであれば、Android 7.1.2のがいいですね、やっぱり。なんたって、2011年製タブレットですから！