2019年の年末に断捨離をしていたら、2011年のGoogle I/OでもらったGalaxy Tab 10.1が出てきたので、こいつにAndroid 8.1をインストールしてみることにしました。
2011年製ですから、当然Googleからは公式ROMなんてものは提供されてません。でもコミュニティレベルでは、まだまだ開発が続いているのです。
準備
Mac OSで作業をしましたが、WindowsでもLinuxでもできるはずです。
1. heimdallのインストール
SamsungのAndroidには、リカバリーモードの他に、odinモードと呼ばれるモードがあります。
odinモードはSamsung特有の機能のようで、元々Windows用にしかツールがなかったのですが、これをMacでも使えるようにしたのが、heimdallです。
しかし、これも開発が止まってしまっている模様。。。
いろいろと調べた結果、Heimdall-1.4.1-Unofficial-Signed.dmgがOS X El Capitan以降に唯一対応していましたので、下のURLからダウンロードして、インストールします。
ターミナルを開いて、heimdall とコマンドを実行すれば、いろいろとヘルプが出てきます。

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"とファイル名に入っているものをダウンロードします。

フォーラムの説明によると、Android 8.1のバージョンでは、カメラに若干不具合があるとのこと。
カメラを使いたい人は、Android 7のがいいかも。
ちなみにダウンロード先がなくなってたりするときは、ファイル名でGoogle検索すれば、どこか別のところからダウンロードできます。
私はaosp-8.1-p4wifi-20181011.zipをダウンロードしました。
Android 8.1
Android 7.1.2
4. OpenGApps のダウンロード
カスタムロムはAOSPなので、当然Google Apps(Gmailとか)はインストールされていません。
Google Play Storeが使えないと不便なので、OpenGAppsをインストールします。
必要最小限でいいので、私はpicoバージョンをダウンロードしました。

これでようやく準備完了です。
タブレットの充電は完了しましたか?それでは始めましょう。
5. odinモードに切り替える
[Power] + [Volume down] ボタンを同時押しして、しばらく待ちます。
すると、このような画面にになります。左がリカバリーで、右がodinモードです。
[Volume up]でodinモードに入ります。
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] ボタンを同時押しして、この画面に戻ってきます。
今度は左側を選択して、リカバリーモードに切り替えます。
ちゃんとflashできていれば、TWRPのロゴが見えるはずです。BigSysと書かれているのを確認しておきましょう。
9. ROMのflash
[Advanced] → [ADB Sideload]ボタンを押して、sideloadモードをスタートします。
ターミナルから、下記のようにコマンドを実行します。
$> adb sideload aosp-8.1-p4wifi-20181011.zip
しばらく待ちます。
完了したら [Reboot System]ボタンを押して、再起動しましょう。
起動までの時間がちょっと長いのですが、しばらく待ちます。
キタキタ―――(゚∀゚)―――― !!
Oreoだね。
10. OpenGAppsのインストール
再びTWRPに戻り、[Advanced] → [ADB Sideload]ボタンを押して、sideloadモードをスタートします。
ターミナルから、下記のようにコマンドを実行します。
$> adb sideload open_gapps-arm-8.1-pico-20191230.zip
完了したら再起動します。
ちゃんとGoogle Play Storeが入ってますね。
最後に
同じような感じで、Nexus 7にAndroid 7.1.2をインストールすることもできます。押入れに眠っている古いAndroidがあったら、試してみてください。
あともしサクサク動かしたいのであれば、Android 7.1.2のがいいですね、やっぱり。なんたって、2011年製タブレットですから!