OnePlus Nord N100 (oneplus-billie2)

From postmarketOS
Jump to navigation Jump to search
OnePlus Nord N100
Stock Android 10 homescreen
Stock Android 10 homescreen
Manufacturer OnePlus
Name Nord N100
Codename oneplus-billie2
Released 2020
Category testing
Original software Android 10
Hardware
Chipset Qualcomm SM4250 (460)
CPU 4x1.8GHz Kryo Gold + 4x1.8GHz Kryo Silver
GPU Adreno 610
Display 720 x 1600
Storage 64 GB
Memory 4 GB
Architecture aarch64
Features
USB Networking
Works
Flashing
Partial
Touchscreen
Display
WiFi
Xwayland
FDE
Mainline
Battery
3D Acceleration
Accelerometer
Audio
Bluetooth
Camera
GPS
Mobile data
SMS
Calls
USB OTG



Contributors

  • ichernev

Maintainer(s)

  • ichernev

Users owning this device


How to enter flash mode

Via ADB

  • adb reboot fastboot
  • (a menu appears, that says 'fastbootd')
  • English -> Advanced -> Reboot to fastboot -> Reboot to fastboot (confirm)

Via "Advanced Reboot"

  • make sure Settings -> System -> Developer Tools -> Advanced Reboot is enabled
  • hold power+volup button (or just power if you enabled it) and choose Bootloader


Installation

  • Note that currently the device works to a debug-shell in initfs, so you can install boot.img, but not rootfs. Also you can just fastboot boot instead
  • This is an A/B device, so you leave your working slot and play on the other:
pmbootstrap chroot -- fastboot getvar current-slot  # should display a or b
pmbootstrap chroot -- fastboot set_active a         # or b, to change active slot 
  • After you ensure you have pmbootstrap up and running
pmbootstrap init                 # choose billie2, downstream kernel
pmbootstrap install
pmbootstrap initfs hook_add debug-shell
pmbootstrap flasher flash_vbmeta
pmbootstrap chroot -- fastboot erase dtbo
# and now you can either boot
pmbootstrap flasher boot
# OR flash boot.img
pmbootstrap flasher flash_kernel

Other notes

  • There is no TWRP for the device, but if you stick sony seine's twrp initfs with downstream kernel, it will boot. DO NOT USE PARTITION operations, because it will probably mess up your device good, but it might be handy.
  • Device has dynamic partitions (a few of the important partitions are crammed into one super partition). If we figure out the way these partitions are described then initfs can properly mount the system partition (right now we can flash it, but can't really mount it). I also hope that the dynamic partitions can be rw, not just ro, because that would cause further issues.
  • exiting from init displays a special (possibly bootloader?) screen on the phone with exist code, so it can be used for debugging hangs and other stuff
  • pmos_boot property is added to kernel cmd line to skip mount_subpartitions step in init, which hangs for whatever reason. After dynamic partitions are figured out this should be fixed to work properly
  • vibrator works
echo 1 > /sys/class/leds/vibrator/enable ; sleep 0.1 ; echo 0 > /sys/class/leds/vibrator/enable

See also