IsorecRecoveryIssue » History » Version 1
Denis 'GNUtoo' Carikli, 03/07/2020 05:00 PM
1 | 1 | Denis 'GNUtoo' Carikli | h1. IsorecRecoveryIssue |
---|---|---|---|
2 | |||
3 | On several Samsung Android smartphones, included devices supported by Replicant 6.0, the RECOVERY partition is not used by the stock bootloader. |
||
4 | |||
5 | This affects at least the following devices: |
||
6 | * [[GalaxySIIGTI9100|Galaxy SII (GT-I9100)]] |
||
7 | * [[GalaxyNoteGTN7000|Galaxy Note (GT-N7000)]] |
||
8 | * [[GalaxySIIGTI9100G|Galaxy S II (GT-I9100G)]] |
||
9 | |||
10 | What happens with the stock OS and old versions of Android distributions is that both the boot kernel and the recovery are in the KERNEL partition. |
||
11 | |||
12 | In practice in Replicant 6.0: |
||
13 | * The boot.img is a zImage with an initramfs for both the recovery and the normal boot. That boot.img can be found inside the replicant-6.0 installation zip and it is installed to the KERNEL partition during the Replicant installation. |
||
14 | * The recovery-i9100.img boots directly into the recovery and probably doesn't have the standard boot initramfs |
||
15 | |||
16 | However as distributions like LineageOS tend to use recoveries like TWRP, it was a problem for such distributions. |
||
17 | |||
18 | So people from XDA came with a scheme called "isorec (isolated recovery)":https://forum.xda-developers.com/galaxy-s2/orig-development/isorec-isolated-recovery-galaxy-s2-t3291176 which "made it into LineageOS 13":https://github.com/CyanogenMod/android_kernel_samsung_smdk4412/commit/9bfbaf337207359ef6aefe0a329a3b760054a6b7. |
||
19 | |||
20 | And Replicant 6.0 is based on LineageOS 13, that is probably in Replicant too, even if it's not used for the Replicant installation and recoveries. |
||
21 | |||
22 | So if the RECOVERY partition contains valid lzop-compressed data, which contains a valid cpio archive, then the image flashed in KERNEL will use that as an initramfs for the recovery. |
||
23 | |||
24 | TODO: |
||
25 | * Move that in a separate page |
||
26 | * Look if it applies as-is to the GT-N7000, GT-I9100G |