Huawei Honor 6X (huawei-berlin)
Appearance
| This device has been archived. This means that it no longer appears in pmbootstrap and is likely broken. It can still be selected in pmbootstrap init by typing in the vendor and codename, but you will have to build the kernel package manually. |
|
Honor 6X with XFCE4 | |
| Manufacturer | Huawei |
|---|---|
| Name | Honor 6X |
| Codename | huawei-berlin |
| Released | 2016 |
| Type | handset |
| Hardware | |
| Chipset | HiSilicon Kirin 655 |
| CPU |
Octa-core (4x2.1 GHz Cortex-A53 4x1.7 GHz Cortex-A53) |
| GPU | Mali-T830MP2 |
| Display | 1080x1920 IPS LCD |
| Storage | 32 GB, microSD |
| Memory | 3 GB |
| Architecture | aarch64 |
| Software | |
Original software The software and version the device was shipped with. |
Android 6.0 Marshmallow (EMUI 5.x) |
Extended version The most recent supported version from the manufacturer. |
Android 8.0 Oreo (EMUI 8.x) |
| postmarketOS | |
| Category | archived |
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.4.174 |
| Device package |
|
| Kernel package |
|
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
|
Battery Whether charging and battery level reporting work. |
Untested
|
Screen Whether the display works; ideally with sleep mode and brightness control. |
Works
|
Touchscreen |
Works
|
| Multimedia | |
3D Acceleration |
Untested
|
Audio Audio playback, microphone, headset and buttons. |
Untested
|
Camera |
Untested
|
| Connectivity | |
WiFi |
Works
|
Bluetooth |
Untested
|
GPS |
Untested
|
| Modem | |
Calls |
Untested
|
SMS |
Untested
|
Mobile data |
Untested
|
| Miscellaneous | |
FDE Full disk encryption and unlocking with unl0kr. |
Untested
|
| Sensors | |
Accelerometer Handles automatic screen rotation in many interfaces. |
Untested
|
Users owning this device
- DomHeadroom (Notes: FB and USER Unlocked with PotatoNV)
- Markochk (Notes: Port in progress)
- Meterode (Notes: My Grndmother Gave This As A Gift I Unlocked The Bootloader With PotatoNV)
How to enter flash mode
Recovery - hold +
Fastboot - hold + , with the USB cable plugged in
How to flash
If you're coming from a phone running Android 8 (EMUI 8), there is no boot partition, so you'll have to flash image files individually.
- Make sure
pmbootstrap buildandpmbootstrap installpass without errors. - Get mkbootimg and unpackbootimg (link)
$ git clone https://github.com/anestisb/android-unpackbootimg $ make -C android-unpackbootimg
- Extract the images from the pmbootstrap-created boot.img with unpackbootimg.
$ # copy created boot image to current directory $ cp ~/.local/var/pmbootstrap/chroot_rootfs_huawei-berlin/boot/boot.img . $ # extract the created boot.img $ mkdir pmos-boot-huawei-berlin $ ./android-unpackbootimg/unpackbootimg -i boot.img -o pmos-boot-huawei-berlin/
- Use the extracted files in the following steps.
- Create ramdisk image:
$ # create new ramdisk image with empty kernel (/dev/null) $ ./android-unpackbootimg/mkbootimg.py --kernel /dev/null --ramdisk pmos-boot-huawei-berlin/boot.img-ramdisk.gz --cmdline 'buildvariant=user' --os_version 8.0.0 --os_patch_level 2018-06-05 -o ramdisk.img
- Create kernel image:
$ # kernel (with empty ramdisk via /dev/null): $ # make sure boot.img-huawei-berlin-zImage is gzipped or do it manually before mkbootimg.py $ gzip -c pmos-boot-huawei-berlin/boot.img-zImage > pmos-boot-huawei-berlin/boot.img-zImage.gz $ ./tools/android-unpackbootimg/mkbootimg.py --kernel pmos-boot-huawei-berlin/boot.img-zImage.gz --ramdisk /dev/null --cmdline 'loglevel=4 coherent_pool=512K page_tracker=on slub_min_objects=12 unmovable_isolate1=2:192M,3:224M,4:256M printktimer=0xfff0a000,0x534,0x538 androidboot.selinux=enforcing buildvariant=user' --base 0x00478000 --kernel_offset 0x00008000 --ramdisk_offset 0x07b88000 --second_offset 0x00e88000 --tags_offset 0x07988000 --os_version 8.0.0 --os_patch_level 2018-12 --pagesize 2048 -o kernel.img
- Flash with fastboot:
$ fastboot flash kernel kernel.img $ fastboot flash ramdisk ramdisk.img $ pmbootstrap flasher flash_rootfs # or flash to sd-card
- Reboot
$ fastboot reboot
Additional Info
On first boot, the display will get stuck on postmarketOS boot screen. Connect to the phone via SSH, open /etc/lightdm/lightdm.conf and replace #logind-check-graphical=true with logind-check-graphical=false. Reboot the phone. More info: Display manager#CanGraphical_issue.
Now, after boot screen, the screen will turn off. You'll have to SSH again and set the brightness level (range is 0 - 255):
$ sudo -i
# echo 255 > /sys/class/leds/lcd_backlight0/brightness