From 8f2be9638a687f7bc88f1f13b9b918b9335be290 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BAben=20Carneiro?= Date: Mon, 4 Mar 2024 10:39:56 +0000 Subject: [PATCH 1/3] Add OnePlus devices to installer - Add Nord N10 5G (billie) - Add Nord N100 (billie2) --- v2/devices/billie.yml | 201 +++++++++++++++++++++++++++++++++++++++++ v2/devices/billie2.yml | 201 +++++++++++++++++++++++++++++++++++++++++ 2 files changed, 402 insertions(+) create mode 100644 v2/devices/billie.yml create mode 100644 v2/devices/billie2.yml diff --git a/v2/devices/billie.yml b/v2/devices/billie.yml new file mode 100644 index 00000000..8e5ee9c7 --- /dev/null +++ b/v2/devices/billie.yml @@ -0,0 +1,201 @@ +name: "OnePlus Nord N10 5G" +codename: "billie" +formfactor: "phone" +aliases: [lito, 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..d6a1bda2 --- /dev/null +++ b/v2/devices/billie2.yml @@ -0,0 +1,201 @@ +name: "OnePlus Nord N100" +codename: "billie2" +formfactor: "phone" +aliases: [bengal, 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 9976b4aa5d88ef16d07f8dcdbdf9ef5212f66bd8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BAben=20Carneiro?= Date: Thu, 7 Mar 2024 18:05:10 +0000 Subject: [PATCH 2/3] Add Lenovo Tab M10 HD 2nd Gen Wifi (X306F) --- v2/devices/amar_row_wifi.yml | 187 +++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 v2/devices/amar_row_wifi.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: [] From 34ce7c5a61b21ded0304071646bf097b71930e40 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=BAben=20Carneiro?= Date: Tue, 12 Mar 2024 09:08:17 +0000 Subject: [PATCH 3/3] Remove platform lito and bengal form aliases on Oneplus N1o and Oneplus N100 --- v2/devices/billie.yml | 2 +- v2/devices/billie2.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/v2/devices/billie.yml b/v2/devices/billie.yml index 8e5ee9c7..216d14e3 100644 --- a/v2/devices/billie.yml +++ b/v2/devices/billie.yml @@ -1,7 +1,7 @@ name: "OnePlus Nord N10 5G" codename: "billie" formfactor: "phone" -aliases: [lito, OnePlusN10] +aliases: [OnePlusN10] doppelgangers: [] user_actions: confirm_model: diff --git a/v2/devices/billie2.yml b/v2/devices/billie2.yml index d6a1bda2..d0e1e76b 100644 --- a/v2/devices/billie2.yml +++ b/v2/devices/billie2.yml @@ -1,7 +1,7 @@ name: "OnePlus Nord N100" codename: "billie2" formfactor: "phone" -aliases: [bengal, OnePlusN100] +aliases: [OnePlusN100] doppelgangers: [] user_actions: confirm_model: