Jump to content

Xiaomi Redmi 8 (xiaomi-olive)

From postmarketOS Wiki
Note This device is supported as part of a generic port. Refer to Generic MSM89x7 (qcom-msm89x7) for installation instructions and more information.
Xiaomi Redmi 8
Redmi 8 running XFCE4 (Downstream)
Redmi 8 running XFCE4 (Downstream)
Manufacturer Xiaomi
Name Redmi 8
Codename xiaomi-olive
Released 2019
Type handset
Hardware
Chipset Qualcomm Snapdragon 439 (SDM439)
CPU 4x1.95 GHz Cortex-A53
4x1.45 GHz Cortex A53
GPU Adreno 505
Display 720 x 1520 IPS
Storage 32GB/64GB
Memory 3GB/4GB
Architecture aarch64
Software
Original software
The software and version the device was shipped with.
Android 10 (MIUI 12)
Extended version
The most recent supported version from the manufacturer.
Android
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.
Mainline
Unixbench score
Unixbench Whetstone/Dhrystone score. See Unixbench.
3121
Generic port Generic MSM89x7 (qcom-msm89x7)
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
Internal storage
eMMC, SD cards, UFS...
Works
SD card
Also includes other external storage cards.
Works
Battery
Whether charging and battery level reporting work.
Broken
Screen
Whether the display works; ideally with sleep mode and brightness control.
Partial
Touchscreen
Broken
Multimedia
3D Acceleration
Broken
Audio
Audio playback, microphone, headset and buttons.
Broken
Camera
Broken
IR TX
Untested
Connectivity
WiFi
Works
Bluetooth
Works
GPS
Broken
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.
Untested
Sensors
Accelerometer
Handles automatic screen rotation in many interfaces.
Works
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
Hall Effect
Measures magnetic fields; usually used as a flip cover sensor
Untested

Contributors

Users owning this device

  • ByteXD23! (Notes: ma main device, unlocked bootloader 😇)
  • Filip2cz
  • Krindra (Notes: main device)
  • Ks51 (Notes: 3/32, postmarketos installed)
  • Lavacat (Notes: Is actually Redmi 8A, 2/32, attempting to mainline)
  • MIAMI cooler (Notes: 8A, touch doesn't work :))
  • Sergiotarxz (Notes: Running stock android, waiting for mainline port, may contribute)


How to enter flash mode

Bootloader Unlocking

Like other Xiaomi devices, the user will have to acquire the bootloader unlock key: https://en.miui.com/unlock

The device will not unlock if the device isn't 7 days old (from the time when your device connects to internet and powered on, and linked with Mi Account)

Recovery mode

  • Turn the device off (or restart also works)
  • Hold Volume Up and Power button
  • Once you feel vibration and phone turns on, release Power button
  • Keep holding Volume Up until you get to recovery.

Flashing (Download, Fastboot) mode

  • Same as recovery, but this time hold the Volume Down and Power keys.

Device notes

Partition layout (Downstream)

lrwxrwxrwx 1 root root 20 1970-01-01 04:31 DDR -> /dev/block/mmcblk0p5
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 aboot -> /dev/block/mmcblk0p31
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 abootbak -> /dev/block/mmcblk0p32
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 apdp -> /dev/block/mmcblk0p15
lrwxrwxrwx 1 root root 20 1970-01-01 04:31 bk1 -> /dev/block/mmcblk0p8
lrwxrwxrwx 1 root root 20 1970-01-01 04:31 bk2 -> /dev/block/mmcblk0p9
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 bk3 -> /dev/block/mmcblk0p12
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 bk4 -> /dev/block/mmcblk0p34
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 boot -> /dev/block/mmcblk0p52
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 cache -> /dev/block/mmcblk0p57
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 cmnlib -> /dev/block/mmcblk0p24
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 cmnlib64 -> /dev/block/mmcblk0p26
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 cmnlib64bak -> /dev/block/mmcblk0p27
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 cmnlibbak -> /dev/block/mmcblk0p25
lrwxrwxrwx 1 root root 20 1970-01-01 04:31 config -> /dev/block/mmcblk0p7
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 cust -> /dev/block/mmcblk0p61
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 devcfg -> /dev/block/mmcblk0p13
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 devcfgbak -> /dev/block/mmcblk0p14
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 devinfo -> /dev/block/mmcblk0p38
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 dip -> /dev/block/mmcblk0p33
lrwxrwxrwx 1 root root 20 1970-01-01 04:31 dpo -> /dev/block/mmcblk0p3
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 dsp -> /dev/block/mmcblk0p46
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 dspbak -> /dev/block/mmcblk0p47
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 dtbo -> /dev/block/mmcblk0p39
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 dtbobak -> /dev/block/mmcblk0p40
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 exaid -> /dev/block/mmcblk0p55
lrwxrwxrwx 1 root root 20 1970-01-01 04:31 fsc -> /dev/block/mmcblk0p1
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 fsg -> /dev/block/mmcblk0p43
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 gsort -> /dev/block/mmcblk0p44
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 keymaster -> /dev/block/mmcblk0p28
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 keymasterbak -> /dev/block/mmcblk0p29
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 keystore -> /dev/block/mmcblk0p22
lrwxrwxrwx 1 root root 20 1970-01-01 04:31 limits -> /dev/block/mmcblk0p6
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 logdump -> /dev/block/mmcblk0p54
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 mcfg -> /dev/block/mmcblk0p37
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 mdtp -> /dev/block/mmcblk0p50
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 mdtpbak -> /dev/block/mmcblk0p51
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 minidump -> /dev/block/mmcblk0p56
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 misc -> /dev/block/mmcblk0p30
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 modem -> /dev/block/mmcblk0p58
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 modemst1 -> /dev/block/mmcblk0p41
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 modemst2 -> /dev/block/mmcblk0p42
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 mota -> /dev/block/mmcblk0p21
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 msadp -> /dev/block/mmcblk0p16
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 persist -> /dev/block/mmcblk0p48
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 persistbak -> /dev/block/mmcblk0p49
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 recovery -> /dev/block/mmcblk0p53
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 rpm -> /dev/block/mmcblk0p19
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 rpmbak -> /dev/block/mmcblk0p20
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 sbl1 -> /dev/block/mmcblk0p17
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 sbl1bak -> /dev/block/mmcblk0p18
lrwxrwxrwx 1 root root 20 1970-01-01 04:31 sec -> /dev/block/mmcblk0p4
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 splash -> /dev/block/mmcblk0p45
lrwxrwxrwx 1 root root 20 1970-01-01 04:31 ssd -> /dev/block/mmcblk0p2
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 syscfg -> /dev/block/mmcblk0p23
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 system -> /dev/block/mmcblk0p59
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 tz -> /dev/block/mmcblk0p35
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 tzbak -> /dev/block/mmcblk0p36
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 userdata -> /dev/block/mmcblk0p62
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 vbmeta -> /dev/block/mmcblk0p10
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 vbmetabak -> /dev/block/mmcblk0p11
lrwxrwxrwx 1 root root 21 1970-01-01 04:31 vendor -> /dev/block/mmcblk0p60

Installation

$ pmbootstrap init # choose Vendor: qcom Device codename: msm89x7
$ fastboot flash dtbo dtbo-xiaomi-olive.img # Build from barni2000/dtbo-lk2nd repo
$ fastboot flash boot lk2nd.img # Build lk2nd from msm8916-mainline/lk2nd repo
$ pmbootstrap flasher flash_rootfs

See also