Jump to content

OnePlus 8 (oneplus-instantnoodle)

From postmarketOS Wiki
OnePlus 8
Manufacturer OnePlus
Name 8
Codename oneplus-instantnoodle
Released 2020
Type handset
Hardware
Chipset Qualcomm Snapdragon 865 5G (SM8250)
CPU Octa-core (1x2.84 GHz Cortex-A77
3x2.42 GHz Cortex-A77
4x1.80 GHz Cortex-A55)
GPU Adreno 650
Display 1080 x 2400 pixels (~402 ppi density)
Storage 128 or 256 GB
Memory 6GB, 8 GB, or 12 GB
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
Android 10
Extended version
The most recent supported version from the manufacturer.
Android 13
postmarketOS
Category testing
Mainline
Instead of a Linux kernel fork, it is possible to run (Close to) Mainline.
yes
pmOS kernel
The kernel version that runs on the device's port.
6.13.0
Features
Flashing
Whether it is possible to flash the device with pmbootstrap flasher.
Works
USB Networking
After connecting the device with USB to your PC, you can connect to it via telnet (initramfs) or SSH (booted system).
Works
Battery
Whether charging and battery level reporting work.
Partial
Screen
Whether the display works; ideally with sleep mode and brightness control.
Partial
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Audio playback, microphone, headset and buttons.
Broken
Camera
Broken
Camera Flash
Works
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Broken
NFC
Near Field Communication
Works
Modem
Calls
Broken
SMS
Broken
Mobile data
Broken
Miscellaneous
FDE
Full disk encryption and unlocking with unl0kr.
Untested
USB OTG
USB On-The-Go or USB-C Role switching.
Broken
Sensors
Accelerometer
Handles automatic screen rotation in many interfaces.
Untested
Magnetometer
Sensor to measure the Earth's magnetism
Untested
Ambient Light
Measures the light level; used for automatic screen dimming in many interfaces.
Untested
Proximity
Untested
Haptics
Untested

Contributors

The work on OnePlus 8 is largely based on OnePlus 8 Pro, thus the above two contributors are added. Please inform me if this is improper.

Maintainer(s)

Users owning this device


How to enter flash mode

Normally to fastboot: By pressing vol-, vol+, and power button.

Prior / Dynamic Partitions Info

Before flashing anything:

Pull super in root adb shell

adb root
adb pull /dev/block/by-name/super super.img

Android 10 launch, non-retro fit dynamic partitioning. See also PMOS wiki on this

Back to Android

img2simg super.img super-s.img
fastboot flash super super-s.img

Flash Android as usual now

Partition layout

OnePlus8:/ # ls -al /dev/block/bootdevice/by-name/

lrwxrwxrwx 1 root root   15 1971-05-07 20:44 ALIGN_TO_128K_1 -> /dev/block/sdd1
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 ALIGN_TO_128K_2 -> /dev/block/sdf1
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 abl_a -> /dev/block/sde8
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 abl_b -> /dev/block/sde32
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 abl_log -> /dev/block/sde67
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 aging_kernel -> /dev/block/sde64
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 aging_mod -> /dev/block/sde65
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 android_log -> /dev/block/sde69
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 aop_a -> /dev/block/sde1
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 aop_b -> /dev/block/sde25
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 apdp -> /dev/block/sde51
lrwxrwxrwx 1 root root   41 2025-10-27 13:16 bluetooth -> /dev/block/bootdevice/by-name/bluetooth_b
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 bluetooth_a -> /dev/block/sde5
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 bluetooth_b -> /dev/block/sde29
lrwxrwxrwx 1 root root   36 2025-10-27 13:16 boot -> /dev/block/bootdevice/by-name/boot_b
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 boot_a -> /dev/block/sde11
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 boot_b -> /dev/block/sde35
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 cdt -> /dev/block/sdd2
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 cmnlib64_a -> /dev/block/sde13
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 cmnlib64_b -> /dev/block/sde37
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 cmnlib_a -> /dev/block/sde12
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 cmnlib_b -> /dev/block/sde36
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 config -> /dev/block/sda11
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 ddr -> /dev/block/sdd3
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 devcfg_a -> /dev/block/sde14
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 devcfg_b -> /dev/block/sde38
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 devinfo -> /dev/block/sde49
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 dip -> /dev/block/sde50
lrwxrwxrwx 1 root root   35 2025-10-27 13:16 dsp -> /dev/block/bootdevice/by-name/dsp_b
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 dsp_a -> /dev/block/sde9
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 dsp_b -> /dev/block/sde33
lrwxrwxrwx 1 root root   36 2025-10-27 13:16 dtbo -> /dev/block/bootdevice/by-name/dtbo_b
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 dtbo_a -> /dev/block/sde17
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 dtbo_b -> /dev/block/sde41
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 featenabler_a -> /dev/block/sde22
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 featenabler_b -> /dev/block/sde46
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 frp -> /dev/block/sda5
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 fsc -> /dev/block/sdf5
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 fsg -> /dev/block/sdf4
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 hyp_a -> /dev/block/sde3
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 hyp_b -> /dev/block/sde27
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 hyp_log -> /dev/block/sde71
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 imagefv_a -> /dev/block/sde23
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 imagefv_b -> /dev/block/sde47
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 kernel_log -> /dev/block/sde68
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 keymaster_a -> /dev/block/sde10
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 keymaster_b -> /dev/block/sde34
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 keystore -> /dev/block/sda4
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 limits -> /dev/block/sde54
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 limits-cdsp -> /dev/block/sde55
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 logdump -> /dev/block/sde57
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 logfs -> /dev/block/sde56
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 logo_a -> /dev/block/sde24
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 logo_b -> /dev/block/sde48
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 mdm1m9kefs1 -> /dev/block/sdf7
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 mdm1m9kefs2 -> /dev/block/sdf8
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 mdm1m9kefs3 -> /dev/block/sdf6
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 mdm1m9kefsc -> /dev/block/sdf9
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 mdm1oemnvbktmp -> /dev/block/sde63
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 mdm_oem_dycnvbk -> /dev/block/sda7
lrwxrwxrwx 1 root root   45 1971-05-07 20:44 mdm_oem_dycnvbk_a -> /dev/block/bootdevice/by-name/mdm_oem_dycnvbk
lrwxrwxrwx 1 root root   45 1971-05-07 20:44 mdm_oem_dycnvbk_b -> /dev/block/bootdevice/by-name/mdm_oem_dycnvbk
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 mdm_oem_stanvbk -> /dev/block/sda8
lrwxrwxrwx 1 root root   45 1971-05-07 20:44 mdm_oem_stanvbk_a -> /dev/block/bootdevice/by-name/mdm_oem_stanvbk
lrwxrwxrwx 1 root root   45 1971-05-07 20:44 mdm_oem_stanvbk_b -> /dev/block/bootdevice/by-name/mdm_oem_stanvbk
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 mdmddr -> /dev/block/sdd4
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 mdtp_a -> /dev/block/sde7
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 mdtp_b -> /dev/block/sde31
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 mdtpsecapp_a -> /dev/block/sde6
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 mdtpsecapp_b -> /dev/block/sde30
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 metadata -> /dev/block/sda19
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 misc -> /dev/block/sda3
lrwxrwxrwx 1 root root   37 2025-10-27 13:16 modem -> /dev/block/bootdevice/by-name/modem_b
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 modem_a -> /dev/block/sde4
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 modem_b -> /dev/block/sde28
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 modemdump -> /dev/block/sda9
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 modemst1 -> /dev/block/sdf2
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 modemst2 -> /dev/block/sdf3
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 msadp -> /dev/block/sde52
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 multiimgoem_a -> /dev/block/sde19
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 multiimgoem_b -> /dev/block/sde43
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 multiimgqti_a -> /dev/block/sde20
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 multiimgqti_b -> /dev/block/sde44
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 op1 -> /dev/block/sde66
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 op2 -> /dev/block/sda10
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 opproduct_a -> /dev/block/sda12
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 opproduct_b -> /dev/block/sda13
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 param -> /dev/block/sda6
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 persist -> /dev/block/sda2
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 qsee_log -> /dev/block/sde70
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 qupfw_a -> /dev/block/sde15
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 qupfw_b -> /dev/block/sde39
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 rawdump -> /dev/block/sda22
lrwxrwxrwx 1 root root   40 2025-10-27 13:16 recovery -> /dev/block/bootdevice/by-name/recovery_b
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 recovery_a -> /dev/block/sda15
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 recovery_b -> /dev/block/sda16
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 reserve1 -> /dev/block/sde72
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 reserve2 -> /dev/block/sde73
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 reserve3 -> /dev/block/sde74
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 reserve4 -> /dev/block/sde75
lrwxrwxrwx 1 root root   25 2025-10-27 13:16 reserve_a -> /data/reserve/reserve.img
lrwxrwxrwx 1 root root   25 2025-10-27 13:16 reserve_b -> /data/reserve/reserve.img
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 secdata -> /dev/block/sde60
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 spunvm -> /dev/block/sde53
lrwxrwxrwx 1 root root   36 1971-05-07 20:44 spunvm_a -> /dev/block/bootdevice/by-name/spunvm
lrwxrwxrwx 1 root root   36 1971-05-07 20:44 spunvm_b -> /dev/block/bootdevice/by-name/spunvm
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 ssd -> /dev/block/sda1
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 storsec_a -> /dev/block/sde58
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 storsec_b -> /dev/block/sde76
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 super -> /dev/block/sda14
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 tz_a -> /dev/block/sde2
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 tz_b -> /dev/block/sde26
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 uefisecapp_a -> /dev/block/sde18
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 uefisecapp_b -> /dev/block/sde42
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 uefivarstore -> /dev/block/sde59
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 userdata -> /dev/block/sda23
lrwxrwxrwx 1 root root   38 2025-10-27 13:16 vbmeta -> /dev/block/bootdevice/by-name/vbmeta_b
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 vbmeta_a -> /dev/block/sde16
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 vbmeta_b -> /dev/block/sde40
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 vbmeta_system_a -> /dev/block/sda17
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 vbmeta_system_b -> /dev/block/sda18
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 vm-data -> /dev/block/sde62
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 vm-keystore -> /dev/block/sde61
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 vm-linux_a -> /dev/block/sde21
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 vm-linux_b -> /dev/block/sde45
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 vm-system_a -> /dev/block/sda20
lrwxrwxrwx 1 root root   16 1971-05-07 20:44 vm-system_b -> /dev/block/sda21
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 xbl_a -> /dev/block/sdb1
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 xbl_b -> /dev/block/sdc1
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 xbl_config_a -> /dev/block/sdb2
lrwxrwxrwx 1 root root   15 1971-05-07 20:44 xbl_config_b -> /dev/block/sdc2

Status

Features
Component Model Notes
Screen samsung,amb655uv01 90Hz is supported
Battery qcom,pm8150b-fg Being used to get % reporting via ocv-table, inaccurate. Good enough to safely charge to 100%
Charger qcom,pm8150b-charger Allows charging at 5W
ti,bq27541 Likely for 5V6A charging (Warp 30T) & fuel gauge but currently disabled.
Internal
storage
jedec,ufs-2.0
qcom,sm8250-qmp-ufs-phy
Touchscreen samsung,s6sy761 @ 0x48 Connected via i2c13
GPU qcom,adreno-650 Requires a650 (unsigned) & a650-zap (signed) firmware
SBA-MUX fcs,fsa4480 @ 0x42 Connected via i2c15
Flash LED qcom,spmi-flash-led Connected via pm8150l spmi
WiFi qca6390 Requires ath11k (unsigned) firmware
Bluetooth Requires qca (unsigned) firmware
NFC nxp,nxp-nci-i2c @ 0x28 Connected via i2c1
Modem sdx55m Detected as foxconn-sdx55 but not being properly loaded.
USB OTG usb-c-connector
Sensors slpi remoteprocs load, but need configuration
Haptics awinic,aw8697 @ 5a Connected via i2c11
Audio
Codec Appointments Bus Notes
nxp,tfa9874 EAR Speaker i2c15 @ 0x34
Main Speaker i2c15 @ 0x34

Known Issues

Changing brightness causes graphical issues, if you change it too quickly, screen must be turned off & on again to be functional.

The TI bq27541 on board is currently borked so battery is using pm8150b_fg and open-circuit-voltage table, it is unreliable but lets you safely charge to 100%

See also

Mainline Kernel