Install on the realme 8i

Release 1 is coming, not yet available. Nothing here can be installed today.

Open Mapple replaces Android on the phone. Installing it erases all of Android’s data. Back up first, and read the whole guide before you start.

This guide has not been run on a phone yet. The first real install is still to come, so some steps may need a fix. Keep your backup until you have booted Open Mapple and everything you need is back.

What you need

1. Download the release

git clone -b spaced-1.0 https://github.com/open-mapple/mapple_releases
cd mapple_releases
gh release download spaced-1.0 -D assets

Without gh, download the files from the release page into assets/ by hand.

2. Verify your download

Save this line, the release’s public key, as allowed_signers:

Release key not set.

Then check the release’s signature:

ssh-keygen -Y verify -f allowed_signers -I open-mapple-release -n mapple-release -s MANIFEST.sig < MANIFEST

It must print Good "mapple-release" signature for open-mapple-release. Anything else: stop, and don’t use these files. MANIFEST lists every file of the release with its SHA-256; the script in the next step checks the signature and every file against it again before it uses them.

3. Put it together on your Mac

./release.sh

The script downloads iOS 16.7.16 (20H392) for the iPhone X from Apple’s servers (about 6.2 GB) and checks it against a pinned size and SHA-256. Running it is your consent to that download. Open Mapple never ships iOS. If you already have that file, give it instead: ./release.sh --ipsw iPhone10,3,iPhone10,6_16.7.16_20H392_Restore.ipsw.

It makes the iOS parts from the IPSW and builds the root. The root image needs sudo: the script prints the command and stops; run it, then run the script again. You end up with out/root.img (for fastboot) and out/mapple-...-PERSONAL.zip (for the recovery).

The zip and the root contain iOS. They are for you and your phone only: don’t share them.

4. Back up

Back up your personal data from Android itself, while it is running. Photos, messages, app data: use Android’s own backup, your apps’ exports or a cloud service. A dump of the partitions can’t stand in for this: userdata is encrypted, and a copy of it is not a backup you can restore from.

Copy your files off the phone:

adb pull /sdcard/ spaced-backup/sdcard

Then, in the recovery, save the partitions you can’t get back any other way. TWRP may ask for your passcode to decrypt the data partition: enter it or cancel, the backup below and the installer work either way.

for p in boot lk lk2 nvram nvdata nvcfg persist protect1 protect2; do
  adb exec-out dd if=/dev/block/by-name/$p bs=4M > spaced-backup/$p.img
done

Keep the partition table as well. Check each copy against sha256sum on the phone before you go on.

5. Install

  1. adb reboot bootloader
  2. fastboot flash userdata root.img. From here Android’s data is gone.
  3. fastboot reboot recovery
  4. In the recovery: adb sideload mapple-...-PERSONAL.zip (or install it from an SD card or OTG drive). If TWRP asks for a passcode to decrypt the data partition, enter it or cancel; the installer works both ways. Wait for “Done”.
  5. Reboot.

The zip checks the phone, the root and every block it is about to rely on before it writes anything. It copies the touch and Wi-Fi firmware off your phone, keeps a copy of your boot partition, then puts the boot loader in front of Android’s and reads every write back.

The first boot takes a few minutes. Later boots take about a minute.

If something goes wrong

Safe boot

If a boot setting stops the phone from starting, hold Volume Down from the “Booting Darwin / XNU” screen and keep holding until the loader prints safe boot: it listens for 3 seconds, and letting go early gives a normal boot. The phone starts on the built-in settings instead of the saved ones, with Wi-Fi and Bluetooth off.

Back to Android

adb reboot bootloader
fastboot flash boot spaced-backup/boot.img

Then boot the recovery and format data. Android starts as new; put your files back with adb push.

Unbricking

If the phone doesn’t reach Android, the recovery or fastboot, use MediaTek’s boot ROM mode.