OnePlus Nord N100 (oneplus-billie2)
Jump to navigation Jump to search
Users owning this device
- Ichernev (Notes: Working on mainline kernel support)
How to enter flash mode
- 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
- 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
- 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_bootproperty is added to kernel cmd line to skip
mount_subpartitionsstep 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