Content of the material
Recent Posts
- 9 Best Alternatives to Chromecast That You Won’t Regret
- Top 15 Best Discord Alternatives For Businesses and Gamers
- Top 10 Best Android Apps That Will Help You Learn To Code Like a Pro
- Top 10 Best Meme Generator Apps For Android 2021
- How to Read Deleted WhatsApp Message on Android [No Root]
Video
Documentation
This is a wiki, so please adjust everything that isn’t detailed enough or would have helped you with porting.
If you have made some progress with a new port, please create a Device page to document your findings. Even if you didn’t get very far and the kernel does not compile, this will help others to continue your work. To create a device page, you will need to register an account on this wiki. (You do not need to provide an e-mail address.)
Running the kernel
There are multiple ways to run a custom-built kernel. The following are known ways suitable for various development scenarios.
Embedding into the Android image build
Copy Image.lz4-dtb
to the respective kernel binary location within the AOSP tree and rebuild the boot image.
Alternatively, define the TARGET_PREBUILT_KERNEL
variable while using make bootimage
(or any other make
command line that builds a boot image). This variable is supported by all devices as it’s set up via device/common/populate-new-device.sh
. For example:
Flashing and booting kernels with fastboot
Most recent devices have a bootloader extension to streamline the process of generating and booting a boot image.
To boot the kernel without flashing:
Using this method, the kernel isn’t actually flashed, and won’t persist across a reboot.
Identifying kernel versions
You can identify the correct version to build from two sources: the AOSP tree and the system image.
The AOSP tree contains prebuilt kernel versions. The git log reveals the correct version as part of the commit message:
If the kernel version isn’t listed in the git log, obtain it from the system image, as described below.
Kernel version from system image
To determine the kernel version used in a system image, run the following command against the kernel file:
For Image.lz4-dtb
files, run:
Why should you flash a custom kernel?
Flashing a custom kernel is one reason why people root their device, which can help improve the battery life and the performance of your device in several aspects. Besides you can benefit a lot from a custom kernel such as you can get a wide range of hardwares compared with generic kernel, it will lower memory usage and can be used on a system with a small amount of RAM. What's more, a custom kernel can have a modified CPU table that allows for speeds well beyond the CPU's original specifications.
Full disk encryption: osk-sdl support
![]() | Our charging application charging-sdl uses the same software stack as osk-sdl , so following the instructions should make both components work. |
If the display and the touchscreen interface are working, then it’s time to add support for osk-sdl
so that you are able to use full disk encryption on the root filesystem. Instructions for adding support can be found here: Porting osk-sdl to New Devices