OnePlus 8 (oneplus-instantnoodle)
Appearance
| This device has been tested with postmarketOS, but its device package has not yet been added to the postmarketOS repositories. This means that it cannot be selected in pmbootstrap. |
| 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 |
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
| 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 |
| 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%