What to build
- I build Lineage 15.1 from source. With some complications, but apparently it is possible and this inspired me to go further and build following versions
- But first I go through treblization
- Then I build Android GSI 10
- Then I build Lineage 16 from source
Android history
There are articles explaining how Android has evolved visually. But I'm interested in another aspect of its evolution. This is my list of technical details introduced in specific Android versions
- Android 8 - VNDK
- Android 10 - APEX container format
Backup
Super critical data
Even if backups will work fine I have a list of things that I'd like to perform manually.
- Transfer 2FA applications to another device
- Download photos and notes. And download "Downloads"
You can add your valuable items to the list by doing the following exercise. Look at every application and imagine that you delete it, then ask yourself: What will I lose when it's deleted? What if I never can open this app?
Software backup
adb provides some backup functionality. I will use version 1.0.41 from SDK 34.0.3-10161052. You can download Android SDK Platform Tools or, if you have Android Studio installed, copy it from C:\Users\<username>\AppData\Local\Android\Sdk\platform-tools
. I used Minimal ADB and Fastboot before but apparently it's an unofficial repack, so it can be sketchy depending on where you download it from.
No root required, only the developer mode, but it only copies installed APKs including system apps.
adb backup -apk -shared -all -f C:\Users\neupo\shield_upgrade\backup_shield.ab
-apk
include APK, so when it restores the system it doesn't need to download it from the store. Especially I like to have identical version that I kept on the device and never update. That happened with very good guitar tuner. It was simple functional and elegant. But after a few years they added a shit load of crap: many more pages and buttons, subscription to pro version, advertisements. What was wrong in the previous version? Or another example, Weather Underground. The forecast was so nicely represented on one screen that I fell in love with that app and weather forecasts in general. Once the developers decided to make a major release, they completely re-wrote it. It has become absolutely unusable. Sometimes you just want to keep what you like.-shared
to save SD card content-all
nothing to do with other flags, this one means to include all packages (it's possible to specify packages for backup, but we do a full backup)-system
include system applications too (I think NVIDIA stuff will go into this category)- maybe you will want APK expansions with
-oob
Full system backup
As mentioned in these answers [ 1 ] [ 2 ] one can do a full backup of
- boot
- system
- data (there is a trick to include the Internal Storage)
by booting into TWRP and doing so called NANDroid backup (IDK, it's just a big "Backup" button on the main screen)
Once you find a TWRP image for your device, Nvidia Shield. Download TWRP 3.7.0: twrp-3.7.0_9-0-shieldtablet.img
from TWRP website, rename it to twrp.img and install on the tablet:
adb reboot bootloader
# when device at the booloader screen
fastboot flash recovery twrp.img
# be ready to press a key combo
fastboot reboot
Before the tablet/phone boots up hold Volume Down + Power buttons. This way we end up in the same bootloader, select Recovery Mode and it will load TWRP.
For more details read here
I assume this is equivalent to connecting via ssh and dd
every partition.
Android flavors
I honestly don't know why I chose Lineage. You can choose from many other ROMs/mods/OSes
- CyanogenMod (for Shield)
- Resurrection Remix OS Seems like a popular thing, because I find it as a first ROM that I have to install before installing GSI in the process of preparing Shield for Treble system. Link
- OmniROM Well, I need to dig into that when I'll have time. Link
- Arrow OS Another AOSP-based creation, I've never heard about it. Link
- postmarket OS Nvidia Shield Tablet
- Android Open Source Project Android Open Source Project (AOSP) is True Android as I call it. Here's some tips
Build the ROM
Lineage OS for Shield (github)
ROMs
- XDA 15.1. Another tutotial says "Android 9", but this is not true, maybe they meant < 9.
- My howto for Lineage 15.1 from source
- My howto for Lineage 16 from source
Docs
- install ROM to the device
- build new/custom kernel
- proprietary blobs
- another version from LineageOs Roms
Versions
Lineage | Android | Codename | Branch |
---|---|---|---|
15.1 | 8.1 | Oreo | lineage-15.1 |
16 | 9 | Pie | lineage-16.0 |
17 | 10 | Q | lineage-17.0 |
18 | 11 | R | lineage-18.0 |
19 | 12 | S | lineage-19.0 |
20 | 13 | T | lineage-20 |
Install
I wrote for myself simplified version of this wiki page.
- Reboot into recovery:
adb reboot bootloader
, select Recovery Mode - Wipe -> Format Data. yes
- done... Back, back, (on the Wipe page again) Advanced Wipe, select System, Cache, Swipe to Wipe (pun not intended)
- done... Back, back, back.
- Advanced -> ADB Sideload, Swipe
adb sideload ..\lineage-15.1-20230624-UNOFFICIAL-shieldtablet.zip
- Back, ADB Sideload, Swipe
adb sideload ..\open_gapps-arm-8.1-nano-20220215.zip
adb reboot
Play Store
Add "Open" GAPPS. I mean this in not open like open source, but "open" because it's just sneaked versions from Nexus ROMs.
So I select ARM + 8.1 + nano (minimal installation for Play Store, no Google apps)
Downsides of installing GAPPS:
- On the first boot it will start with "checking for updates" crap. Solution: just press back, it will not go to previous page as illogical as it sounds, it will skip this step.
Verify
This is my short checklist.
Hardware:
- Wi-Fi (sort of essential step in the first onboarding)
- Speakers
- Bluetooth
- Camera (optional)
- Video encoder (play video from youtube)
Software:
- Play Store
Resources
- HOWTO: Unpack, Edit, and Re-Pack Boot Images
- On NVIDIA Open Source Resources you can find a stock image for Shield Tablet K1 and restore it (for example following this video)
- Reproducible builds
Next steps
- F2FS filesystem
- Linux for Tegra. Yeah, no Android, bye-bye Java
- Try some software for rooted devices: Droid Explorer, YouTube Vanced, Adaway, Greenify, Viper4Android, Titanium Backup
- Become a maintainer for LineageOS
- Alternative kernel