Huawei P10 Lite (huawei-warsaw)

== Contributors ==
* Ignapk
== Maintainer(s) ==
* Ignapk
== Users owning this device ==
== How to enter flash mode ==
With power off, press power und volume-down at the same time, with the usb-cable plugged in.
== How to flash ==
As Huawei changed the partition layout, there is no boot partition anymore. Instead there is a ramdisk and a seperate kernel partition. In order to create the correct images the following steps need to be done:
# Get mkbootimg and unpackbootimg i.e. from here
#:
$ # download and compile mkbootimg and unpackbootimg
$ git clone https://github.com/anestisb/android-unpackbootimg
$ make -C android-unpackbootimg
# You can extract the kernel-image and ramdisk from the created boot.img with unpackbootimg. 
#:
$ # copy created boot image to current directory 
$ cp ~/.local/var/pmbootstrap/chroot_rootfs_huawei-warsaw/boot/boot.img .
$ # extract the created boot.img
$ mkdir pmos-boot-huawei-warsaw
$ ./android-unpackbootimg/unpackbootimg -i boot.img -o pmos-boot-huawei-warsaw/ 
#: 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-warsaw/boot.img-ramdisk.gz --cmdline 'buildvariant=user' --os_version 8.0.0 --os_patch_level 2018-06-05 -o pmos-warsaw.ramdisk.img 
# Create kernel image:
#:
$ # kernel (with empty ramdisk via /dev/null):
$ # make sure boot.img-huawei-warsaw-zImage is gzipped or do it manually before mkbootimg.py
$ gzip -c pmos-boot-huawei-warsaw/boot.img-zImage > pmos-boot-huawei-warsaw/boot.img-zImage.gz
$ ./android-unpackbootimg/mkbootimg.py --kernel pmos-boot-huawei-warsaw/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 pmos-warsaw.kernel.img
# Flash ramdisk and kernel with fastboot:
#:
$ fastboot flash kernel pmos-warsaw.kernel.img 
$ fastboot flash ramdisk pmos-warsaw.ramdisk.img 
# Flash rootfs to sdcard to boot it
== Additional Kernel Configuration ==
=== OASES ===
==== About ====
OASES stands for Open Adaptive Security Extensions. Its a Tradmark of Baidu and seems to have something todo with adaptive kernel live-patching. For now there were no disadvantages from disabling it.
==== Location in menu ====
 -> Device Drivers
 -> Huawei Platform Drivers
 -> Huawei platform drivers support (HUAWEI_PLATFORM [=y]) 
In Order to compile the kernel OASES had to be disabled. 
== Phosh on framebuffer ==
See https://wiki.postmarketos.org/wiki/User:Ollieparanoid/Run_wlroots_with_fbdev
== Additional Info ==
The display brightness can be set by writing a value between 0 and 9960 to /sys/class/leds/lcd_backlight0/brightness. 
$ sudo -i
# echo 1024 > /sys/class/leds/lcd_backlight0/brightness 
== See also ==
* Initial merge request
* JohnBergago's Huawei_Mediapad_M5_pro_(huawei-cameron)
* aa13q's Honor_9_Lite_(huawei-leland)
* Dil3mm4's labyrinth kernel for huawei p8 lite 2017