diff --git a/v2/devices/merlin.yml b/v2/devices/merlin.yml new file mode 100644 index 00000000..955d2670 --- /dev/null +++ b/v2/devices/merlin.yml @@ -0,0 +1,158 @@ +name: "Xiaomi Redmi Note 9" +codename: "merlin" +aliases: [] +formfactor: "phone" +doppelgangers: [] +user_actions: + recovery: + title: "Reboot to Recovery" + description: "With the device powered off, hold Volume Up + Power." + image: "phone_power_up" + button: true + bootloader: + title: "Reboot to Bootloader" + description: "With the device powered off, hold Volume Down + Power." + image: "phone_power_down" + button: true + confirm_model: + title: "Confirm your model" + description: "Please double-check that your device is the following model: Xiaomi Redmi Note 9 (merlin)." + confirm_firmware: + title: "Confirm your firmware" + description: "Please double-check that your device is running the latest available stock Android 10 firmware." + link: "https://github.com/ubuntu-touch-miatoll/ubuntu-touch-merlin/blob/main/FIRMWARE.md" + unlock: + title: "OEM unlock" + description: "If you haven't done so already, make sure to OEM unlock your device first." + link: "https://en.miui.com/unlock/" +unlock: + - "confirm_model" + - "confirm_firmware" + - "unlock" +handlers: + bootloader_locked: + actions: + - fastboot:oem_unlock: +operating_systems: + - name: "Ubuntu Touch" + options: + - var: "channel" + name: "Channel" + tooltip: "The release channel" + link: "https://docs.ubports.com/en/latest/about/process/release-schedule.html" + type: "select" + remote_values: + systemimage:channels: + - var: "wipe" + name: "Wipe Userdata" + tooltip: "Wipe personal data" + type: "checkbox" + - var: "bootstrap" + name: "Bootstrap" + tooltip: "Flash system partitions using fastboot" + type: "checkbox" + value: true + prerequisites: [] + steps: + - actions: + - core:download: + group: "firmware" + files: + - url: "https://github.com/ubuntu-touch-redmi-mt6768/ubuntu-touch-merlin/releases/download/20210927/recovery.img" + name: "recovery.img" + checksum: + sum: "4d523f43afe6d2dd04995f38dc9f17552893e8a916c22df73ca699c911fc4478" + algorithm: "sha256" + - url: "https://github.com/ubuntu-touch-redmi-mt6768/ubuntu-touch-merlin/releases/download/20210927/dtbo.img" + name: "dtbo.img" + checksum: + sum: "1a3ac5db3b5371cd3f319aca99629214fc9c816e41fe754c500bf71672f6f9f0" + algorithm: "sha256" + - url: "https://github.com/ubuntu-touch-redmi-mt6768/ubuntu-touch-merlin/releases/download/20210927/super.zip" + name: "super.zip" + checksum: + sum: "4565b1f9e4111b28e393771c415578774826516d7c54191bde1facc351912381" + algorithm: "sha256" + - url: "https://dl.google.com/developers/android/qt/images/gsi/vbmeta.img" + name: "vbmeta.img" + checksum: + sum: "f6da5489fd877cb69cf61fa721cfd6d77e530084aefe9b96664f818947ff61f6" + algorithm: "sha256" + condition: + var: "bootstrap" + value: true + - actions: + - core:unpack: + group: "firmware" + files: + - archive: "super.zip" + dir: "unpacked" + condition: + var: "bootstrap" + value: true + - actions: + - adb:reboot: + to_state: "bootloader" + fallback: + - core:user_action: + action: "bootloader" + condition: + var: "bootstrap" + value: true + - actions: + - fastboot:format: + partition: "userdata" + type: "ext4" + condition: + var: "wipe" + value: true + - actions: + - fastboot:flash: + partitions: + - partition: "vbmeta" + file: "vbmeta.img" + group: "firmware" + flags: + - "--disable-verity" + - "--disable-verification" + - partition: "boot" + file: "recovery.img" + group: "firmware" + - partition: "recovery" + file: "recovery.img" + group: "firmware" + - partition: "dtbo" + file: "dtbo.img" + group: "firmware" + - partition: "super" + file: "unpacked/super.img" + group: "firmware" + condition: + var: "bootstrap" + value: true + - actions: + - fastboot:reboot: + fallback: + - core:user_action: + action: "recovery" + condition: + var: "bootstrap" + value: true + - actions: + - adb:reboot: + to_state: "recovery" + fallback: + - core:user_action: + action: "recovery" + condition: + var: "bootstrap" + value: false + - actions: + - systemimage:install: + - actions: + - adb:reboot: + to_state: "recovery" + fallback: + - core:user_action: + action: "recovery" + slideshow: []