Huawei Honor 8 (huawei-frd)
The Huawei Honor 8 has been updated to Android 8 in some regions, while others are stuck on Android 7.0.
Android 8 uses a different partition layout and kernel.
| This port is based on Android 7.0 kernel and probably won't work on devices updated to Android 8. | 
If you have a device that got the Android 8 update you might need to make a port based on the Android 8 kernel. Take a look at huawei-warsaw for information on dealing with the Android 8 partition layout.
| This device runs a Downstream kernel. Some UIs will not work, and most features (3D acceleration, audio, etc.) may be broken. | 
|  Honor 8 running xfce4 on framebuffer | |
| Manufacturer | Huawei | 
|---|---|
| Name | Honor 8 | 
| Codename | huawei-frd | 
| Model | 
 | 
| Released | 2016 | 
| Type | handset | 
| Hardware | |
| Chipset | HiSilicon Kirin 950 | 
| CPU | 4x2.3 GHz Cortex-A72 4x1.8 GHz Cortex-A53 | 
| GPU | Mali-T880 MP4 | 
| Display | 1080x1920 IPS LCD | 
| Storage | 32/64 GB | 
| Memory | 3/4 GB | 
| Architecture | aarch64 | 
| Software | |
| Original software The software and version the device was shipped with. | Android 6.0 | 
| Extended version The most recent supported version from the manufacturer. | Android 7.0 or 8.0 | 
| FOSS bootloader | no | 
| postmarketOS | |
| Category | downstream | 
| Mainline Instead of a Linux kernel fork, it is possible to run (Close to) Mainline. | no | 
| pmOS kernel The kernel version that runs on the device's port. | 4.1.18 | 
| Device package |  device-huawei-frd | 
| Kernel package |  linux-huawei-frd | 
| Flashing Whether it is possible to flash the device with  pmbootstrap flasher. | Partial | 
|---|---|
| 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. | Untested | 
| Battery Whether charging and battery level reporting work. | Partial | 
| Screen Whether the display works; ideally with sleep mode and brightness control. | Works | 
| Touchscreen | Works | 
| Touchpad Whether the built-in touchpad works. | Untested | 
| Stylus | Untested | 
| Multimedia | |
| 3D Acceleration | Broken | 
| Built-in DVB TV tuner/DVB device | Untested | 
| Audio Audio playback, microphone, headset and buttons. | Untested | 
| Camera | Broken | 
| Camera Flash | Works | 
| IR TX | Untested | 
| IR RX | Untested | 
| Connectivity | |
| WiFi | Untested | 
| Bluetooth | Untested | 
| Ethernet | Untested | 
| GPS | Untested | 
| NFC Near Field Communication | Untested | 
| Modem | |
| Calls | Untested | 
| SMS | Untested | 
| Mobile data | Untested | 
| Miscellaneous | |
| FDE Full disk encryption and unlocking with unl0kr. | Untested | 
| USB-A Whether the full-sized USB-A port works. | Untested | 
| USB OTG USB On-The-Go or USB-C Role switching. | Works | 
| HDMI/DP Video and audio output with HDMI or DisplayPort. | Untested | 
| 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 | 
| Hall Effect Measures magnetic fields; usually used as a flip cover sensor | Untested | 
| Haptics | Untested | 
| Barometer Sensor to measure air pressure | Untested | 
| Power Sensor Sensor to monitor current, voltage and power. Not fuel gauge! | Untested | 
Contributors
- Sandelinos
Maintainer(s)
- Sandelinos
Users owning this device
- DomHeadroom (Notes: Locked bootloader)
- Eriki73 (Notes: locked bootloader)
- Sandelinos (Notes: Android 7 partition layout)
Unlocking the bootloader
Huawei has stopped providing unlock codes for their devices so you'll need to pay for a code from a 3rd party or use PotatoNV, which requires removing the back cover with a hairdryer. See Unlocking_Bootloaders#Huawei. For whatever reason, the command fastboot boot <file.img> does not work after unlocking the bootloader with PotatoNV. ("Command not allowed")
How to enter flash mode
With the device powered off, hold and plug in the USB.
Installation
- Unlock the bootloader.
- Follow the Installation guide to flash rootfs.
- (optional) install TWRP
- TWRP from twrp.me is only compatible with devices updated to Android 8.
- Here is a TWRP compatible with Android 7.0 devices
 - Flash TWRP to recovery partition
- fastboot flash recovery twrp-3.1.1-1-frd.img
 
- Boot into TWRP and install twrp to boot partition (We'll overwrite recovery with postmarketOS kernel later)
 
- Flash the kernel to the recovery partition
- The boot partition is just 32 MB, while the boot.img we get from pmbootstrap is ~35 MB.
- If you unlocked your bootloader with PotatoNV fastboot won't be able to flash to the boot partition even if it fit.
- pmbootstrap flasher flash_kernel --partition recovery
 
Additional Info
Battery charging and level reporting works. charging-sdl is untested, since the postmarketOS kernel does not fit on the boot partition.
To control flashlight, write a value between 0-9 to /sys/class/leds/torch/brightness.
- 0 = off
- 1-6 = white
- 7-9 = orange
See also
- pmaports!2247 Initial merge request
- Kernel source copied to GitLab
- Kernel source on Huawei's site