Android Customizing the Linux kernel

From Variscite Wiki
VAR-SOM-MX6 - Android Nougat N7.1.1 Developer Guide

Manual build and customizing Android Linux Kernel

Making changes to kernel configuration

$ cd ~/var_n_711_100/n_711_100_build/vendor/variscite/kernel_imx/
$ make ARCH=arm mrproper
$ make ARCH=arm imx_v7_var_android_defconfig
$ make ARCH=arm menuconfig

Navigate the menu and select the desired kernel functionality Exit the menu and answer "Yes" when asked "Do you wish to save your new configuration?"

$ make ARCH=arm savedefconfig
$ cp arch/arm/configs/imx_v7_var_android_defconfig arch/arm/configs/imx_v7_var_android_defconfig.orig 
$ cp defconfig arch/arm/configs/

Making changes to device tree

Edit

  • VAR-SOM-MX6 : arch/arm/boot/dts/imx6qdl-var-som.dtsi
  • DART-MX6: arch/arm/boot/dts/imx6qdl-var-dart.dtsi

For example here making changes for SPI
Refer to: SPI

Build New boot.img

When you perform changes to the kernel, you may build boot.img solely instead of building the whole Android.

$ cd ~/var_n_711_100/n_711_100_build
$ source build/envsetup.sh
$ lunch -userdebug
$ make bootimage

Flashing bootimage to target

Make sure device is in the fastboot mode if not , reboot in fastboot mode by using below commands.

$ adb reboot bootloader
$ fastboot flash boot boot-<setup-name>.img

Replace setup-name as per above table.