Oneplus Nord N100 BE83BA B2013 Ubuntu Touch manual install
-
Hi all, a few years ago I was using Ubuntu Touch (UT) on Sony Xperia X (suzu), but the experience was underwhelming, so I switched to LineageOS 20. But I now again consifer UT, since I got a new used phone.
Short story:
I got a used Oneplus N100 phone BE2013 (OxygenOS 11.0.15.BE83BA).
I see that the ratings of UT are good for Oneplus N100.
Also this phone is an A/B phone. I would like to install UT in one slot, and have Android 11 or Lineageos in the other slot. Can be the data partition split to data_a and data_b? I know that I need to resize a few partitions, perhaps split data partition (gdisk) and flash manually, preferably from RAM booted TWRP with dd (after backup with dd). Super partition is an issue. Can it be listed or mounted? It contains system, vendor etc.Long story:
I entered Developer mode, enabled ADB debug, OEM unlock (must have wifi connected). Installed adb and fastboot on PC. Connected the USB cable from PC to phone. Rebooted to fastboot: adb reboot bootloader or Up+Down+Poweron.
I typed in the following command on PC: fastboot flashing unlock, then fastboot reboot.
I downloaded and ran the UBports installer appimage, and as per instructions I clicked on the download link to the MSM downgrade to Oxygenos 10.5.2 (for BE2013). Also I found a similar OTA image but cannot downgrade on phone.
I use Linux, but can install Windows 7 in Virtualbox and do USB passthrough so that the MSM tool has hardware access to the phone, if it works.
Also this phone is an A/B phone. I assume that UBports installer installs UT to slot A, which should have Android 10 as mentioned above (O 10.5.2).
Slot B is unbootable.
So I found fastboot flash images for the downgrade:
https://sourceforge.net/projects/fastbootroms/files/OnePlus Nord/All great, but some flash images (like system, vendor etc.) are in super partition on the device, since they do not show up in fastboot:
fastboot getvar all. The result is:
(bootloader) parallel-download-flash:yes (bootloader) hw-revision:10000 (bootloader) unlocked:yes (bootloader) off-mode-charge:1 (bootloader) charger-screen-enabled:1 (bootloader) battery-soc-ok:yes (bootloader) battery-voltage:4406 (bootloader) version-baseband: (bootloader) version-bootloader: (bootloader) erase-block-size: 0x1000 (bootloader) logical-block-size: 0x1000 (bootloader) variant:SM_ UFS (bootloader) partition-type:fsc:raw (bootloader) partition-size:fsc: 0x20000 (bootloader) partition-type:fsg:raw (bootloader) partition-size:fsg: 0x200000 (bootloader) partition-type:modemst2:raw (bootloader) partition-size:modemst2: 0x200000 (bootloader) partition-type:modemst1:raw (bootloader) partition-size:modemst1: 0x200000 (bootloader) partition-type:ALIGN_TO_128K_2:raw (bootloader) partition-size:ALIGN_TO_128K_2: 0x1A000 (bootloader) partition-type:catecontentfv:raw (bootloader) partition-size:catecontentfv: 0x100000 (bootloader) partition-type:catefv:raw (bootloader) partition-size:catefv: 0x80000 (bootloader) partition-type:storsec_b:raw (bootloader) partition-size:storsec_b: 0x20000 (bootloader) partition-type:reserve4:raw (bootloader) partition-size:reserve4: 0xFD0000 (bootloader) partition-type:reserve3:raw (bootloader) partition-size:reserve3: 0xFD0000 (bootloader) partition-type:reserve2:raw (bootloader) partition-size:reserve2: 0xFD0000 (bootloader) partition-type:reserve1:raw (bootloader) partition-size:reserve1: 0x7E8000 (bootloader) partition-type:hyp_log:raw (bootloader) partition-size:hyp_log: 0xFD0000 (bootloader) partition-type:qsee_log:raw (bootloader) partition-size:qsee_log: 0xFD0000 (bootloader) partition-type:android_log:raw (bootloader) partition-size:android_log: 0xFD0000 (bootloader) partition-type:kernel_log:raw (bootloader) partition-size:kernel_log: 0xFD0000 (bootloader) partition-type:abl_log:raw (bootloader) partition-size:abl_log: 0xFD0000 (bootloader) partition-type:op1:raw (bootloader) partition-size:op1: 0x12C00000 (bootloader) partition-type:aging_mod:raw (bootloader) partition-size:aging_mod: 0x2000000 (bootloader) partition-type:aging_kernel:raw (bootloader) partition-size:aging_kernel: 0x4000000 (bootloader) partition-type:secdata:raw (bootloader) partition-size:secdata: 0x7000 (bootloader) partition-type:uefivarstore:raw (bootloader) partition-size:uefivarstore: 0x80000 (bootloader) partition-type:multiimgqti:raw (bootloader) partition-size:multiimgqti: 0x8000 (bootloader) partition-type:multiimgoem:raw (bootloader) partition-size:multiimgoem: 0x8000 (bootloader) partition-type:storsec_a:raw (bootloader) partition-size:storsec_a: 0x20000 (bootloader) partition-type:logdump:raw (bootloader) partition-size:logdump: 0x4000000 (bootloader) partition-type:rawdump:raw (bootloader) partition-size:rawdump: 0x8000000 (bootloader) partition-type:cateloader:raw (bootloader) partition-size:cateloader: 0x200000 (bootloader) partition-type:logfs:raw (bootloader) partition-size:logfs: 0x800000 (bootloader) partition-type:toolsfv:raw (bootloader) partition-size:toolsfv: 0x100000 (bootloader) partition-type:limits:raw (bootloader) partition-size:limits: 0x1000 (bootloader) partition-type:splash:raw (bootloader) partition-size:splash: 0x20A4000 (bootloader) partition-type:spunvm:raw (bootloader) partition-size:spunvm: 0x800000 (bootloader) partition-type:apdp:raw (bootloader) partition-size:apdp: 0x40000 (bootloader) partition-type:dip:raw (bootloader) partition-size:dip: 0x100000 (bootloader) partition-type:devinfo:raw (bootloader) partition-size:devinfo: 0x1000 (bootloader) partition-type:uefisecapp_b:raw (bootloader) partition-size:uefisecapp_b: 0x200000 (bootloader) partition-type:logo_b:raw (bootloader) partition-size:logo_b: 0x1000000 (bootloader) partition-type:imagefv_b:raw (bootloader) partition-size:imagefv_b: 0x200000 (bootloader) partition-type:featenabler_b:raw (bootloader) partition-size:featenabler_b: 0x20000 (bootloader) partition-type:dtbo_b:raw (bootloader) partition-size:dtbo_b: 0x1800000 (bootloader) partition-type:vbmeta_b:raw (bootloader) partition-size:vbmeta_b: 0x10000 (bootloader) partition-type:qupfw_b:raw (bootloader) partition-size:qupfw_b: 0x10000 (bootloader) partition-type:devcfg_b:raw (bootloader) partition-size:devcfg_b: 0x20000 (bootloader) partition-type:cmnlib64_b:raw (bootloader) partition-size:cmnlib64_b: 0x80000 (bootloader) partition-type:cmnlib_b:raw (bootloader) partition-size:cmnlib_b: 0x80000 (bootloader) partition-type:boot_b:raw (bootloader) partition-size:boot_b: 0x6000000 (bootloader) partition-type:keymaster_b:raw (bootloader) partition-size:keymaster_b: 0x80000 (bootloader) partition-type:dsp_b:raw (bootloader) partition-size:dsp_b: 0x2000000 (bootloader) partition-type:abl_b:raw (bootloader) partition-size:abl_b: 0x800000 (bootloader) partition-type:mdtp_b:raw (bootloader) partition-size:mdtp_b: 0x2000000 (bootloader) partition-type:mdtpsecapp_b:raw (bootloader) partition-size:mdtpsecapp_b: 0x400000 (bootloader) partition-type:bluetooth_b:raw (bootloader) partition-size:bluetooth_b: 0x100000 (bootloader) partition-type:modem_b:raw (bootloader) partition-size:modem_b: 0x20000000 (bootloader) partition-type:hyp_b:raw (bootloader) partition-size:hyp_b: 0x80000 (bootloader) partition-type:tz_b:raw (bootloader) partition-size:tz_b: 0x400000 (bootloader) partition-type:rpm_b:raw (bootloader) partition-size:rpm_b: 0x80000 (bootloader) partition-type:featenabler_a:raw (bootloader) partition-size:featenabler_a: 0x20000 (bootloader) partition-type:uefisecapp_a:raw (bootloader) partition-size:uefisecapp_a: 0x200000 (bootloader) partition-type:logo_a:raw (bootloader) partition-size:logo_a: 0x1000000 (bootloader) partition-type:imagefv_a:raw (bootloader) partition-size:imagefv_a: 0x200000 (bootloader) partition-type:dtbo_a:raw (bootloader) partition-size:dtbo_a: 0x1800000 (bootloader) partition-type:vbmeta_a:raw (bootloader) partition-size:vbmeta_a: 0x10000 (bootloader) partition-type:qupfw_a:raw (bootloader) partition-size:qupfw_a: 0x10000 (bootloader) partition-type:devcfg_a:raw (bootloader) partition-size:devcfg_a: 0x20000 (bootloader) partition-type:cmnlib64_a:raw (bootloader) partition-size:cmnlib64_a: 0x80000 (bootloader) partition-type:cmnlib_a:raw (bootloader) partition-size:cmnlib_a: 0x80000 (bootloader) partition-type:boot_a:raw (bootloader) partition-size:boot_a: 0x6000000 (bootloader) partition-type:keymaster_a:raw (bootloader) partition-size:keymaster_a: 0x80000 (bootloader) partition-type:dsp_a:raw (bootloader) partition-size:dsp_a: 0x2000000 (bootloader) partition-type:abl_a:raw (bootloader) partition-size:abl_a: 0x800000 (bootloader) partition-type:mdtp_a:raw (bootloader) partition-size:mdtp_a: 0x2000000 (bootloader) partition-type:mdtpsecapp_a:raw (bootloader) partition-size:mdtpsecapp_a: 0x400000 (bootloader) partition-type:bluetooth_a:raw (bootloader) partition-size:bluetooth_a: 0x100000 (bootloader) partition-type:modem_a:raw (bootloader) partition-size:modem_a: 0x20000000 (bootloader) partition-type:hyp_a:raw (bootloader) partition-size:hyp_a: 0x80000 (bootloader) partition-type:tz_a:raw (bootloader) partition-size:tz_a: 0x400000 (bootloader) partition-type:rpm_a:raw (bootloader) partition-size:rpm_a: 0x80000 (bootloader) partition-type:ddr:raw (bootloader) partition-size:ddr: 0x200000 (bootloader) partition-type:cdt:raw (bootloader) partition-size:cdt: 0x20000 (bootloader) partition-type:ALIGN_TO_128K_1:raw (bootloader) partition-size:ALIGN_TO_128K_1: 0x1A000 (bootloader) partition-type:xbl_config_b:raw (bootloader) partition-size:xbl_config_b: 0x20000 (bootloader) partition-type:xbl_b:raw (bootloader) partition-size:xbl_b: 0x500000 (bootloader) partition-type:xbl_config_a:raw (bootloader) partition-size:xbl_config_a: 0x20000 (bootloader) partition-type:xbl_a:raw (bootloader) partition-size:xbl_a: 0x500000 (bootloader) partition-type:userdata:f2fs (bootloader) partition-size:userdata: 0xB30C53000 (bootloader) partition-type:metadata:raw (bootloader) partition-size:metadata: 0x1000000 (bootloader) partition-type:vbmeta_system_b:raw (bootloader) partition-size:vbmeta_system_b: 0x10000 (bootloader) partition-type:vbmeta_system_a:raw (bootloader) partition-size:vbmeta_system_a: 0x10000 (bootloader) partition-type:recovery_b:raw (bootloader) partition-size:recovery_b: 0x6000000 (bootloader) partition-type:recovery_a:raw (bootloader) partition-size:recovery_a: 0x6000000 (bootloader) partition-type:super:raw (bootloader) partition-size:super: 0x280000000 (bootloader) partition-type:config:raw (bootloader) partition-size:config: 0x80000 (bootloader) partition-type:op2:raw (bootloader) partition-size:op2: 0x10000000 (bootloader) partition-type:carrier:raw (bootloader) partition-size:carrier: 0x4000000 (bootloader) partition-type:param:raw (bootloader) partition-size:param: 0x100000 (bootloader) partition-type:frp:raw (bootloader) partition-size:frp: 0x80000 (bootloader) partition-type:keystore:raw (bootloader) partition-size:keystore: 0x80000 (bootloader) partition-type:misc:raw (bootloader) partition-size:misc: 0x100000 (bootloader) partition-type:persist:raw (bootloader) partition-size:persist: 0x2000000 (bootloader) partition-type:ssd:raw (bootloader) partition-size:ssd: 0x2000 (bootloader) has-slot:modem:yes (bootloader) has-slot:system:no (bootloader) current-slot:a (bootloader) has-slot:boot:yes (bootloader) slot-retry-count:b:7 (bootloader) slot-unbootable:b:no (bootloader) slot-successful:b:no (bootloader) slot-retry-count:a:7 (bootloader) slot-unbootable:a:no (bootloader) slot-successful:a:yes (bootloader) slot-count:2 (bootloader) secure:yes (bootloader) serialno:947864fd (bootloader) product:bengal (bootloader) is-userspace:no (bootloader) max-download-size:804280320 (bootloader) kernel:uefi all: Finished. Total time: 0.011s
(Are the partition sizes counted in 4096 byte blocks in hex? )
I downloaded TWRP:
https://xdaforums.com/t/twrp-3-5-2_11-0-for-oneplus-nord-n100-android-11.4329985/
And some partitioning tools:
https://xdaforums.com/t/how-to-boot-from-sd-card-successfully-on-qmobile-z8-with-bricked-dead-emmc.3712171/Download the aarch64 package. Gdisk works for me.
Now do fastboot boot twrp.img. Disable Mount>MTP on the phone.
Exctract gdisk, adb push gdisk /sbin,then adb shell
The prompt appears:
billie2: /#
Type chmod +x /sbin/gdiskYou have su access, some important commands are present like dd, gzip, mkfs, mount ...
You can list partitions by typing ls -la /dev/block/by-nametype gdisk and at the prompt enter the path to block device e.g. /dev/block/sd*
Type ? for help at the prompt.
Listing of partitions on each block device:Disk /dev/block/sda: 14499840 sectors, 55.3 GiB Sector size (logical/physical): 4096/4096 bytes Disk identifier (GUID): F402E96F-7A94-A018-9CC9-17A36E2B88E0 Partition table holds up to 32 entries Main partition table begins at sector 2 and ends at sector 2 First usable sector is 6, last usable sector is 14499834 Partitions will be aligned on 2-sector boundaries Total free space is 0 sectors (0 bytes) Number Start (sector) End (sector) Size Code Name 1 6 7 8.0 KiB FFFF ssd 2 8 8199 32.0 MiB FFFF persist 3 8200 8455 1024.0 KiB FFFF misc 4 8456 8583 512.0 KiB FFFF keystore 5 8584 8711 512.0 KiB FFFF frp 6 8712 8967 1024.0 KiB FFFF param 7 8968 25351 64.0 MiB FFFF carrier 8 25352 90887 256.0 MiB FFFF op2 9 90888 91015 512.0 KiB FFFF config 10 91016 2712455 10.0 GiB FFFF super 11 2712456 2737031 96.0 MiB FFFF recovery_a 12 2737032 2761607 96.0 MiB FFFF recovery_b 13 2761608 2761623 64.0 KiB FFFF vbmeta_system_a 14 2761624 2761639 64.0 KiB FFFF vbmeta_system_b 15 2761640 2765735 16.0 MiB FFFF metadata 16 2765736 14499834 44.8 GiB FFFF userdata
Disk /dev/block/sdb: 2048 sectors, 8.0 MiB Sector size (logical/physical): 4096/4096 bytes Disk identifier (GUID): 9F2CDFE8-7B12-49EF-7BC5-BBD00FAF36DA Partition table holds up to 32 entries Main partition table begins at sector 2 and ends at sector 2 First usable sector is 6, last usable sector is 2042 Partitions will be aligned on 2-sector boundaries Total free space is 725 sectors (2.8 MiB) Number Start (sector) End (sector) Size Code Name 1 6 1285 5.0 MiB FFFF xbl_a 2 1286 1317 128.0 KiB FFFF xbl_config_a 3 1318 2042 2.8 MiB FFFF last_parti
Disk /dev/block/sdc: 2048 sectors, 8.0 MiB Sector size (logical/physical): 4096/4096 bytes Disk identifier (GUID): 8225D2D2-089D-7418-C548-B09CCFB902D8 Partition table holds up to 32 entries Main partition table begins at sector 2 and ends at sector 2 First usable sector is 6, last usable sector is 2042 Partitions will be aligned on 2-sector boundaries Total free space is 725 sectors (2.8 MiB) Number Start (sector) End (sector) Size Code Name 1 6 1285 5.0 MiB FFFF xbl_b 2 1286 1317 128.0 KiB FFFF xbl_config_b 3 1318 2042 2.8 MiB FFFF last_parti
Disk /dev/block/sdd: 32768 sectors, 128.0 MiB Sector size (logical/physical): 4096/4096 bytes Disk identifier (GUID): DF4881BA-544D-617F-3C15-E71D6D7B71AD Partition table holds up to 32 entries Main partition table begins at sector 2 and ends at sector 2 First usable sector is 6, last usable sector is 32762 Partitions will be aligned on 2-sector boundaries Total free space is 32187 sectors (125.7 MiB) Number Start (sector) End (sector) Size Code Name 1 6 31 104.0 KiB FFFF ALIGN_TO_128K_1 2 32 63 128.0 KiB FFFF cdt 3 64 575 2.0 MiB FFFF ddr 4 576 32762 125.7 MiB FFFF last_parti
Disk /dev/block/sde: 1048576 sectors, 4.0 GiB Sector size (logical/physical): 4096/4096 bytes Disk identifier (GUID): 89821655-CF71-C0BC-C646-04624380BE63 Partition table holds up to 96 entries Main partition table begins at sector 2 and ends at sector 4 First usable sector is 6, last usable sector is 1048570 Partitions will be aligned on 1-sector boundaries Total free space is 472720 sectors (1.8 GiB) Number Start (sector) End (sector) Size Code Name 1 6 133 512.0 KiB FFFF rpm_a 2 134 1157 4.0 MiB FFFF tz_a 3 1158 1285 512.0 KiB FFFF hyp_a 4 1286 132357 512.0 MiB 0700 modem_a 5 132358 132613 1024.0 KiB FFFF bluetooth_a 6 132614 133637 4.0 MiB FFFF mdtpsecapp_a 7 133638 141829 32.0 MiB FFFF mdtp_a 8 141830 143877 8.0 MiB FFFF abl_a 9 143878 152069 32.0 MiB FFFF dsp_a 10 152070 152197 512.0 KiB FFFF keymaster_a 11 152198 176773 96.0 MiB FFFF boot_a 12 176774 176901 512.0 KiB FFFF cmnlib_a 13 176902 177029 512.0 KiB FFFF cmnlib64_a 14 177030 177061 128.0 KiB FFFF devcfg_a 15 177062 177077 64.0 KiB FFFF qupfw_a 16 177078 177093 64.0 KiB FFFF vbmeta_a 17 177094 183237 24.0 MiB FFFF dtbo_a 18 183238 183749 2.0 MiB FFFF imagefv_a 19 183750 187845 16.0 MiB FFFF logo_a 20 187846 188357 2.0 MiB FFFF uefisecapp_a 21 188358 188389 128.0 KiB FFFF featenabler_a 22 188390 188517 512.0 KiB FFFF rpm_b 23 188518 189541 4.0 MiB FFFF tz_b 24 189542 189669 512.0 KiB FFFF hyp_b 25 189670 320741 512.0 MiB FFFF modem_b 26 320742 320997 1024.0 KiB FFFF bluetooth_b 27 320998 322021 4.0 MiB FFFF mdtpsecapp_b 28 322022 330213 32.0 MiB FFFF mdtp_b 29 330214 332261 8.0 MiB FFFF abl_b 30 332262 340453 32.0 MiB FFFF dsp_b 31 340454 340581 512.0 KiB FFFF keymaster_b 32 340582 365157 96.0 MiB FFFF boot_b 33 365158 365285 512.0 KiB FFFF cmnlib_b 34 365286 365413 512.0 KiB FFFF cmnlib64_b 35 365414 365445 128.0 KiB FFFF devcfg_b 36 365446 365461 64.0 KiB FFFF qupfw_b 37 365462 365477 64.0 KiB FFFF vbmeta_b 38 365478 371621 24.0 MiB FFFF dtbo_b 39 371622 371653 128.0 KiB FFFF featenabler_b 40 371654 372165 2.0 MiB FFFF imagefv_b 41 372166 376261 16.0 MiB FFFF logo_b 42 376262 376773 2.0 MiB FFFF uefisecapp_b 43 376774 376774 4.0 KiB FFFF devinfo 44 376775 377030 1024.0 KiB FFFF dip 45 377031 377094 256.0 KiB FFFF apdp 46 377095 379142 8.0 MiB FFFF spunvm 47 379143 387498 32.6 MiB FFFF splash 48 387499 387499 4.0 KiB FFFF limits 49 387500 387755 1024.0 KiB FFFF toolsfv 50 387756 389803 8.0 MiB FFFF logfs 51 389804 390315 2.0 MiB FFFF cateloader 52 390316 423083 128.0 MiB FFFF rawdump 53 423084 439467 64.0 MiB FFFF logdump 54 439468 439499 128.0 KiB FFFF storsec_a 55 439500 439507 32.0 KiB FFFF multiimgoem 56 439508 439515 32.0 KiB FFFF multiimgqti 57 439516 439643 512.0 KiB FFFF uefivarstore 58 439644 439650 28.0 KiB FFFF secdata 59 439651 456034 64.0 MiB FFFF aging_kernel 60 456035 464226 32.0 MiB FFFF aging_mod 61 464227 541026 300.0 MiB FFFF op1 62 541027 545074 15.8 MiB FFFF abl_log 63 545075 549122 15.8 MiB FFFF kernel_log 64 549123 553170 15.8 MiB FFFF android_log 65 553171 557218 15.8 MiB FFFF qsee_log 66 557219 561266 15.8 MiB FFFF hyp_log 67 561267 563290 7.9 MiB FFFF reserve1 68 563291 567338 15.8 MiB FFFF reserve2 69 567339 571386 15.8 MiB FFFF reserve3 70 571387 575434 15.8 MiB FFFF reserve4 71 575435 575466 128.0 KiB FFFF storsec_b 72 575467 575594 512.0 KiB FFFF catefv 73 575595 575850 1024.0 KiB FFFF catecontentfv 74 575851 1048570 1.8 GiB FFFF last_parti
Disk /dev/block/sdf: 32768 sectors, 128.0 MiB Sector size (logical/physical): 4096/4096 bytes Disk identifier (GUID): CB556B31-2645-BAE8-A0D1-A0F6009B2737 Partition table holds up to 32 entries Main partition table begins at sector 2 and ends at sector 2 First usable sector is 6, last usable sector is 32762 Partitions will be aligned on 2-sector boundaries Total free space is 31163 sectors (121.7 MiB) Number Start (sector) End (sector) Size Code Name 1 6 31 104.0 KiB FFFF ALIGN_TO_128K_2 2 32 543 2.0 MiB FFFF modemst1 3 544 1055 2.0 MiB FFFF modemst2 4 1056 1567 2.0 MiB FFFF fsg 5 1568 1599 128.0 KiB FFFF fsc 6 1600 32762 121.7 MiB FFFF last_parti
-
You have to use the MSM download tool in Windows. The tool is by far the easiest way to downgrade the device to the stipulated ROM. My advice from experience is always use the ROM and ROM version stipulated in the devices page - there are technical reasons why and using a different Android ROM will generally cause a bootloop or things will not work on the device.
Ubuntu Touch is not dual bootable and I don't think it is something in the pipeline as I have heard no news on it for a long time.
-
@MrT10001 Thanks for the reply I will try the MSM tool, lets see if it works from Virtualbox with USB passthrough, after if backed up all block devices with dd.
Will report back.