From e1aafcf9f23ce19f24b21df52ff4073f65913096 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BAben=20Carneiro?= Date: Tue, 12 Mar 2024 09:38:00 +0000 Subject: [PATCH 1/2] Add new devices to UUBports Installer - Add Lenovo Tab M10 HD 2nd Gen Wifi (amar_row_wifi) - Add OnePlus Nord N10 (billie) - Add OnePlus Nord N100 (billie2) --- v2/devices/amar_row_wifi.yml | 187 ++++++++++++++++++++++++++++++++ v2/devices/billie.yml | 201 +++++++++++++++++++++++++++++++++++ v2/devices/billie2.yml | 201 +++++++++++++++++++++++++++++++++++ 3 files changed, 589 insertions(+) create mode 100644 v2/devices/amar_row_wifi.yml create mode 100644 v2/devices/billie.yml create mode 100644 v2/devices/billie2.yml diff --git a/v2/devices/amar_row_wifi.yml b/v2/devices/amar_row_wifi.yml new file mode 100644 index 00000000..5351fa53 --- /dev/null +++ b/v2/devices/amar_row_wifi.yml @@ -0,0 +1,187 @@ +name: "Lenovo Tab M10 HD 2nd Gen Wifi" +codename: "amar_row_wifi" +formfactor: "tablet" +aliases: [amar_row_wifi, X306F] +doppelgangers: [] +user_actions: + confirm_model: + title: "Confirm your model" + description: "Please check that your device is a Lenovo Tab M10 HD Wifi (X306F)." + confirm_os: + title: "Confirm OS version" + description: "Your device must be running the Android 11 stock firmware before installing Ubuntu Touch. You can flash the device using spflash tools" + link: "https://github.com/rubencarneiro/amar_row_wifi/releases/download/1.0/Firmware.tar.xz" + unlock_phone: + title: "Unlock the bootloader" + description: "Before installing Ubuntu Touch you must unlock the bootloader of your phone manually. Follow the steps in the linked page if you haven't already." + link: "https://unlocktechy.com/lenovo-tab-m10-hd-gen-2-unlock-bootloader" + bootloader: + title: "Reboot to Bootloader" + description: "With the device powered off, press and hold the VOLUME DOWN + POWER until you see the fastboot on screen and plug the device into your PC via USB." + image: "phone_power_down" + button: true + bootloader_from_fastbootd: + title: "Reboot to Bootloader" + description: 'With the device still at the fastbootd screen, use the volume buttons to select "Reboot to bootloader".' + image: "phone_power_down" + button: true + recovery: + title: "Reboot to Recovery" + description: 'With the device still at the "FastBoot Mode", use the Volume buttons to switch to "Recovery Mode" and push the power button to confirm your selection.' + image: "phone_power_up" + button: true + fastbootd: + title: "Reboot to fastbootd mode" + description: 'With the device still at the "FastBoot Mode", use the Volume buttons to switch to "Recovery Mode" and push the power button to confirm your selection. Then select "Fastboot mode" from the list.' + image: "phone_power_up" + button: true +unlock: + - "confirm_model" + - "confirm_os" + - "unlock_phone" +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. This is necessary for first time installations." + type: "checkbox" + - var: "partition" + name: "Partitioning" + tooltip: "Changes partition sizes as required. Only necessary for first time installations." + type: "checkbox" + value: true + - var: "bootstrap" + name: "Bootstrap" + tooltip: "Flash system partitions using fastboot" + type: "checkbox" + value: true + prerequisites: [] + steps: + ### Ensure we always start in bootloader mode + - actions: + - adb:reboot: + to_state: "bootloader" + fallback: + - core:user_action: + action: "bootloader" + ### Ensure the bootloader has been unlocked already + - actions: + - fastboot:wait: + - actions: + - fastboot:assert_var: + variable: "unlocked" + value: "yes" + fallback: + - core:user_action: + action: "unlock_phone" + ### Flash important partitions (if requested) + - actions: + - core:download: + group: "firmware" + files: + - url: "https://github.com/rubencarneiro/amar_row_wifi/releases/download/1.0/boot.img" + checksum: + sum: "d2410a0a730ceeeef19d30773dabe118c818af006c3c52e960b3aeee87cfa9c5" + algorithm: "sha256" + - url: "https://github.com/rubencarneiro/amar_row_wifi/releases/download/1.0/recovery.img" + checksum: + sum: "582afc66f61b9060e936638bf347eccc8eca81e5c6014e4b79e2f33835648902" + algorithm: "sha256" + - url: "https://github.com/rubencarneiro/amar_row_wifi/releases/download/1.0/dtbo.img" + checksum: + sum: "41bef15140c81d701ea0ff0bf9e0cd293c2419d12606d930496ae551c1e8e716" + algorithm: "sha256" + - url: "https://github.com/rubencarneiro/amar_row_wifi/releases/download/1.0/vbmeta.img" + checksum: + sum: "debc86fc6832bbc8f76cbeca2319a8768c03c19ac8d67dca61bf414b52ba2fb9" + algorithm: "sha256" + condition: + var: "bootstrap" + value: true + - actions: + - fastboot:flash: + partitions: + - partition: "boot" + file: "boot.img" + group: "firmware" + - partition: "recovery" + file: "recovery.img" + group: "firmware" + - partition: "dtbo" + file: "dtbo.img" + group: "firmware" + - partition: "vbmeta" + file: "vbmeta.img" + group: "firmware" + flags: + - "--disable-verity" + - "--disable-verification" + condition: + var: "bootstrap" + value: true + ### Set up logical partitions (if requested) + - actions: + - fastboot:reboot_fastboot: + fallback: + - core:user_action: + action: "fastbootd" + condition: + var: "partition" + value: true + - actions: + # Remove all unused logical partitions + - fastboot:delete_logical_partition: + partition: "product" + # Increase space for system_a for UT installation + - fastboot:resize_logical_partition: + partition: "system" + size: 3978565472 + condition: + var: "partition" + value: true + - actions: + - fastboot:reboot_bootloader: + fallback: + - core:user_action: + action: "bootloader_from_fastbootd" + condition: + var: "partition" + value: true + ### Wipe userdata (if requested) + - actions: + - fastboot:erase: + partition: "userdata" + condition: + var: "wipe" + value: true + - actions: + - fastboot:format: + partition: "userdata" + type: "ext4" + condition: + var: "wipe" + value: true + ### Systemimage installation steps + - actions: + - fastboot:reboot_recovery: + fallback: + - core:user_action: + action: "recovery" + - actions: + - systemimage:install: + verify_recovery: true + - actions: + - adb:reboot: + to_state: "recovery" + fallback: + - core:user_action: + action: "recovery" + slideshow: [] diff --git a/v2/devices/billie.yml b/v2/devices/billie.yml new file mode 100644 index 00000000..216d14e3 --- /dev/null +++ b/v2/devices/billie.yml @@ -0,0 +1,201 @@ +name: "OnePlus Nord N10 5G" +codename: "billie" +formfactor: "phone" +aliases: [OnePlusN10] +doppelgangers: [] +user_actions: + confirm_model: + title: "Confirm your model" + description: "Please check that your device is a OnePlus N10 5G (billie)." + confirm_os: + title: "Confirm OS version" + description: "Your device must be running the Android 10 stock firmware OxygenOS_10.5.7 before installing Ubuntu Touch.If you are using Global Version use the OxygenOS_10.5.7 for global." + link: "https://onepluscommunityserver.com/list/Unbrick_Tools/OnePlus_Nord_N10_5G/EU_BE89BA/Q/OnePlus_Nord_N10_5G_EU_OxygenOS_10.5.7.zip" + unlock_phone: + title: "Unlock the bootloader" + description: "Before installing Ubuntu Touch you must unlock the bootloader of your phone manually. Follow the steps in the linked page if you haven't already." + link: "https://community.oneplus.com/thread/64487" + bootloader: + title: "Reboot to Bootloader" + description: "With the device powered off, press and hold the VOLUME DOWN button and plug the device into your PC via USB. After some seconds you'll see the fastboot mode." + image: "phone_power_down" + button: true + bootloader_from_fastbootd: + title: "Reboot to Bootloader" + description: 'With the device still at the fastbootd screen, use the volume buttons to select "Reboot to bootloader".' + image: "phone_power_down" + button: true + recovery: + title: "Reboot to Recovery" + description: 'With the device still at the "FastBoot Mode", use the Volume buttons to switch to "Recovery Mode" and push the power button to confirm your selection.' + image: "phone_power_up" + button: true + fastbootd: + title: "Reboot to fastbootd mode" + description: 'With the device still at the "FastBoot Mode", use the Volume buttons to switch to "Recovery Mode" and push the power button to confirm your selection. Then select "Fastboot mode" from the list.' + image: "phone_power_up" + button: true +unlock: + - "confirm_model" + - "confirm_os" + - "unlock_phone" +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. This is necessary for first time installations." + type: "checkbox" + - var: "partition" + name: "Partitioning" + tooltip: "Changes partition sizes as required. Only necessary for first time installations." + type: "checkbox" + value: true + - var: "bootstrap" + name: "Bootstrap" + tooltip: "Flash system partitions using fastboot" + type: "checkbox" + value: true + prerequisites: [] + steps: + ### Ensure we always start in bootloader mode + - actions: + - adb:reboot: + to_state: "bootloader" + fallback: + - core:user_action: + action: "bootloader" + ### Ensure the bootloader has been unlocked already + - actions: + - fastboot:wait: + - actions: + - fastboot:assert_var: + variable: "unlocked" + value: "yes" + fallback: + - core:user_action: + action: "unlock_phone" + ### As this is an A/B device, force all future operations in "a" slot. + - actions: + - fastboot:set_active: + slot: "a" + ### Flash important partitions (if requested) + - actions: + - core:download: + group: "firmware" + files: + - url: "https://github.com/rubencarneiro/billie/releases/download/1.0/boot.img" + checksum: + sum: "65e9ad9b1e879d123a1de6482556feb1703710897fe67f1de8abf1c3a33337df" + algorithm: "sha256" + - url: "https://github.com/rubencarneiro/billie/releases/download/1.0/recovery.img" + checksum: + sum: "d5d985ffdc93720d6f5702006a9dc488bd8f62f854347a6b6e08eef83832d5d4" + algorithm: "sha256" + - url: "https://github.com/rubencarneiro/billie/releases/download/1.0/dtbo.img" + checksum: + sum: "984f270a8edf8c8f8be10215e07a030dc9cd822929df6f1ff7c4a9b4ad897b05" + algorithm: "sha256" + - url: "https://github.com/rubencarneiro/billie/releases/download/1.0/vbmeta.img" + checksum: + sum: "4f1b180cc3a485c4eb2d996010ef5a2bc307bba0178bfa5411c6fa7220819d83" + algorithm: "sha256" + condition: + var: "bootstrap" + value: true + - actions: + - fastboot:flash: + partitions: + - partition: "boot" + file: "boot.img" + group: "firmware" + - partition: "recovery" + file: "recovery.img" + group: "firmware" + - partition: "dtbo" + file: "dtbo.img" + group: "firmware" + - partition: "vbmeta" + file: "vbmeta.img" + group: "firmware" + condition: + var: "bootstrap" + value: true + ### Set up logical partitions (if requested) + - actions: + - fastboot:reboot_fastboot: + fallback: + - core:user_action: + action: "fastbootd" + condition: + var: "partition" + value: true + - actions: + # Remove all unused logical partitions + - fastboot:delete_logical_partition: + partition: "system_ext_a" + - fastboot:delete_logical_partition: + partition: "system_ext_b" + - fastboot:delete_logical_partition: + partition: "product_a" + - fastboot:delete_logical_partition: + partition: "product_b" + # Remove _b variants of used partitions + - fastboot:delete_logical_partition: + partition: "system_b" + - fastboot:delete_logical_partition: + partition: "vendor_b" + - fastboot:delete_logical_partition: + partition: "odm_b" + # Increase space for system_a for UT installation + - fastboot:resize_logical_partition: + partition: "system_a" + size: 3221225472 + condition: + var: "partition" + value: true + - actions: + - fastboot:reboot_bootloader: + fallback: + - core:user_action: + action: "bootloader_from_fastbootd" + condition: + var: "partition" + value: true + ### Wipe userdata (if requested) + - actions: + - fastboot:erase: + partition: "userdata" + condition: + var: "wipe" + value: true + - actions: + - fastboot:format: + partition: "userdata" + type: "ext4" + condition: + var: "wipe" + value: true + ### Systemimage installation steps + - actions: + - fastboot:reboot_recovery: + fallback: + - core:user_action: + action: "recovery" + - actions: + - systemimage:install: + verify_recovery: true + - actions: + - adb:reboot: + to_state: "recovery" + fallback: + - core:user_action: + action: "recovery" + slideshow: [] diff --git a/v2/devices/billie2.yml b/v2/devices/billie2.yml new file mode 100644 index 00000000..d0e1e76b --- /dev/null +++ b/v2/devices/billie2.yml @@ -0,0 +1,201 @@ +name: "OnePlus Nord N100" +codename: "billie2" +formfactor: "phone" +aliases: [OnePlusN100] +doppelgangers: [] +user_actions: + confirm_model: + title: "Confirm your model" + description: "Please check that your device is a OnePlus N100 (billie2)." + confirm_os: + title: "Confirm OS version" + description: "Your device must be running the Android 10 stock firmware OxygenOS_10.5.2 if is EU version before installing, or OxygenOS_10.5.3 if is Global Version Ubuntu Touch." + link: "https://onepluscommunityserver.com/list/Unbrick_Tools/OnePlus_Nord_N100/EU_BE83BA/Q/OnePlus_Nord_N100_EU_OxygenOS_10.5.2.zip or https://onepluscommunityserver.com/list/Unbrick_Tools/OnePlus_Nord_N100/Global_BE81AA/Q/OnePlus_Nord_N100_Global_OxygenOS_10.5.3.zip" + unlock_phone: + title: "Unlock the bootloader" + description: "Before installing Ubuntu Touch you must unlock the bootloader of your phone manually. Follow the steps in the linked page if you haven't already." + link: "https://community.oneplus.com/thread/64487" + bootloader: + title: "Reboot to Bootloader" + description: "With the device powered off, press and hold the VOLUME UP button and plug the device into your PC via USB. After some seconds you'll see the fastboot mode." + image: "phone_power_down" + button: true + bootloader_from_fastbootd: + title: "Reboot to Bootloader" + description: 'With the device still at the fastbootd screen, use the volume buttons to select "Reboot to bootloader".' + image: "phone_power_down" + button: true + recovery: + title: "Reboot to Recovery" + description: 'With the device still at the "FastBoot Mode", use the Volume buttons to switch to "Recovery Mode" and push the power button to confirm your selection.' + image: "phone_power_up" + button: true + fastbootd: + title: "Reboot to fastbootd mode" + description: 'With the device still at the "FastBoot Mode", use the Volume buttons to switch to "Recovery Mode" and push the power button to confirm your selection. Then select "Fastboot mode" from the list.' + image: "phone_power_up" + button: true +unlock: + - "confirm_model" + - "confirm_os" + - "unlock_phone" +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. This is necessary for first time installations." + type: "checkbox" + - var: "partition" + name: "Partitioning" + tooltip: "Changes partition sizes as required. Only necessary for first time installations." + type: "checkbox" + value: true + - var: "bootstrap" + name: "Bootstrap" + tooltip: "Flash system partitions using fastboot" + type: "checkbox" + value: true + prerequisites: [] + steps: + ### Ensure we always start in bootloader mode + - actions: + - adb:reboot: + to_state: "bootloader" + fallback: + - core:user_action: + action: "bootloader" + ### Ensure the bootloader has been unlocked already + - actions: + - fastboot:wait: + - actions: + - fastboot:assert_var: + variable: "unlocked" + value: "yes" + fallback: + - core:user_action: + action: "unlock_phone" + ### As this is an A/B device, force all future operations in "a" slot. + - actions: + - fastboot:set_active: + slot: "a" + ### Flash important partitions (if requested) + - actions: + - core:download: + group: "firmware" + files: + - url: "https://github.com/rubencarneiro/billie2/releases/download/1.0/boot.img" + checksum: + sum: "9558a382154ecccbf0fcac75dd13f4865523158d86e347b05a46511139dedaab" + algorithm: "sha256" + - url: "https://github.com/rubencarneiro/billie2/releases/download/1.0/recovery.img" + checksum: + sum: "fa249bf4d71fcc135456af90ca4e8d8175e3d10dbc5053792a0cf5ba14114d29" + algorithm: "sha256" + - url: "https://github.com/rubencarneiro/billie2/releases/download/1.0/dtbo.img" + checksum: + sum: "47eac9731ffbdea4373acb60eeb30837642d3e69773a65f71125b304390225dc" + algorithm: "sha256" + - url: "https://github.com/rubencarneiro/billie2/releases/download/1.0/vbmeta.img" + checksum: + sum: "06ad2b775ec21134aa935eb6e0a48514198822ee7bfb1773f27cc006a0c6e427" + algorithm: "sha256" + condition: + var: "bootstrap" + value: true + - actions: + - fastboot:flash: + partitions: + - partition: "boot" + file: "boot.img" + group: "firmware" + - partition: "recovery" + file: "recovery.img" + group: "firmware" + - partition: "dtbo" + file: "dtbo.img" + group: "firmware" + - partition: "vbmeta" + file: "vbmeta.img" + group: "firmware" + condition: + var: "bootstrap" + value: true + ### Set up logical partitions (if requested) + - actions: + - fastboot:reboot_fastboot: + fallback: + - core:user_action: + action: "fastbootd" + condition: + var: "partition" + value: true + - actions: + # Remove all unused logical partitions + - fastboot:delete_logical_partition: + partition: "system_ext_a" + - fastboot:delete_logical_partition: + partition: "system_ext_b" + - fastboot:delete_logical_partition: + partition: "product_a" + - fastboot:delete_logical_partition: + partition: "product_b" + # Remove _b variants of used partitions + - fastboot:delete_logical_partition: + partition: "system_b" + - fastboot:delete_logical_partition: + partition: "vendor_b" + - fastboot:delete_logical_partition: + partition: "odm_b" + # Increase space for system_a for UT installation + - fastboot:resize_logical_partition: + partition: "system_a" + size: 3221225472 + condition: + var: "partition" + value: true + - actions: + - fastboot:reboot_bootloader: + fallback: + - core:user_action: + action: "bootloader_from_fastbootd" + condition: + var: "partition" + value: true + ### Wipe userdata (if requested) + - actions: + - fastboot:erase: + partition: "userdata" + condition: + var: "wipe" + value: true + - actions: + - fastboot:format: + partition: "userdata" + type: "ext4" + condition: + var: "wipe" + value: true + ### Systemimage installation steps + - actions: + - fastboot:reboot_recovery: + fallback: + - core:user_action: + action: "recovery" + - actions: + - systemimage:install: + verify_recovery: true + - actions: + - adb:reboot: + to_state: "recovery" + fallback: + - core:user_action: + action: "recovery" + slideshow: [] From 5e4e47726c4cda1eff381de413c0b5820e7c0b7e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BAben=20Carneiro?= Date: Tue, 12 Mar 2024 09:45:06 +0000 Subject: [PATCH 2/2] Add compatible installer var to configs --- v2/devices/amar_row_wifi.yml | 1 + v2/devices/billie.yml | 1 + v2/devices/billie2.yml | 1 + 3 files changed, 3 insertions(+) diff --git a/v2/devices/amar_row_wifi.yml b/v2/devices/amar_row_wifi.yml index 5351fa53..4763aeff 100644 --- a/v2/devices/amar_row_wifi.yml +++ b/v2/devices/amar_row_wifi.yml @@ -41,6 +41,7 @@ unlock: - "unlock_phone" operating_systems: - name: "Ubuntu Touch" + compatible_installer: ">=0.9.6-beta" options: - var: "channel" name: "Channel" diff --git a/v2/devices/billie.yml b/v2/devices/billie.yml index 216d14e3..1a83cbfc 100644 --- a/v2/devices/billie.yml +++ b/v2/devices/billie.yml @@ -41,6 +41,7 @@ unlock: - "unlock_phone" operating_systems: - name: "Ubuntu Touch" + compatible_installer: ">=0.9.6-beta" options: - var: "channel" name: "Channel" diff --git a/v2/devices/billie2.yml b/v2/devices/billie2.yml index d0e1e76b..8abf4f84 100644 --- a/v2/devices/billie2.yml +++ b/v2/devices/billie2.yml @@ -41,6 +41,7 @@ unlock: - "unlock_phone" operating_systems: - name: "Ubuntu Touch" + compatible_installer: ">=0.9.6-beta" options: - var: "channel" name: "Channel"