How to install to A/B slot devices?



  • I understand how this layout works, but I'm having trouble.
    Say my current slot is A. Is the right thing to do to

    • have twrp flashed on boot_a
    • flash halium to boot_b
    • enter recovery on A
    • run twrp-installer.zip
    • enter recovery on B
    • run install script

    unfortunately, either the twrp installer is bad/not working because I can access twrp shell from adb, but don't have touch functionality and it will not boot into twrp on the halium-boot slot, so I'm assuming that the UB installer script won't do anything.

    I'm on the essential ph-1



  • I don't have info, but this is the case on other devices like the Pixel XL. it's mentioned on a github issue here:
    https://www.bountysource.com/issues/61605333-device-port-marlin-google-pixel-xl-1st-gen

    It seems like they figured a work around?

    The notes say:

    Specific features
    Dual-boot
    This is an A/B device, so dual boot is possible: I'm currently running Android P in slot A along with Halium being installed in slot B.
    TODO: Add dual-boot installation instructions
    No recovery
    A/B partition scheme means there's no recovery partition anymore. Instead, it's located in initrams of the kernel. At normal boot, bootloader puts skip_initramfs flag into cmdline and Android obeys that. Halium needs initramfs, as some scripts are run there, so there's a dirty hack in the kernel to ignore skip_initrams. Thus, installing TWRP will break Halium and prevent it from booting.
    TODO: Research the way Android boots and replicate that behaviour in Halium

    I think the answer might be:
    Halium needs initramfs, as some scripts are run there, so there's a dirty hack in the kernel to ignore skip_initrams.


Log in to reply