Android Customizing the Linux kernel: Difference between revisions

From Variscite Wiki
No edit summary
 
(6 intermediate revisions by 3 users not shown)
Line 2: Line 2:
--> {{#vardefine:RELEASE_PARAM|{{#urlget:release}}}} <!--
--> {{#vardefine:RELEASE_PARAM|{{#urlget:release}}}} <!--
--> {{#lst:Android_Platform_Customization|{{#var:RELEASE_PARAM|RELEASE_N7.1.1_1.0.0_VAR-SOM-MX6}}}} <!--
--> {{#lst:Android_Platform_Customization|{{#var:RELEASE_PARAM|RELEASE_N7.1.1_1.0.0_VAR-SOM-MX6}}}} <!--
--> {{PageHeader|{{#var:HARDWARE_NAME}} - Android {{#var:ANDROID_NAME}} {{#var:ANDROID_VERSION}} - Customizing the Linux kernel}} {{DocImage|category1=Android|category2={{#var:HARDWARE_NAME}}}} __toc__
--> {{PageHeader|{{#var:HARDWARE_NAME}} - {{#var:ANDROID_VERSION}} - Customizing the Linux kernel}} {{DocImage|category1=Android|category2={{#var:HARDWARE_NAME}}}} __toc__


== Making changes to kernel configuration ==
== Making changes to kernel configuration ==
Line 9: Line 9:
  $ make ARCH={{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}} {{#var:KERNEL_DEFCONFIG}}
  $ make ARCH={{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}} {{#var:KERNEL_DEFCONFIG}}
  $ make ARCH={{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}} menuconfig
  $ make ARCH={{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}} menuconfig
Navigate the menu and select the desired kernel functionalities, save the new configuration and exit.<br>
Navigate through the menu, and select the desired kernel functionalities, save the new configuration, and exit.<br>
Then, save the new configuration as the default configuration:<br>
Then, save the new configuration as the default configuration:<br>
  $ make ARCH={{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}} savedefconfig
  $ make ARCH={{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}} savedefconfig
  $ cp arch/{{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}}/configs/{{#var:KERNEL_DEFCONFIG}} arch/{{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}}/configs/{{#var:KERNEL_DEFCONFIG}}.orig  
  $ cp arch/{{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}}/configs/{{#var:KERNEL_DEFCONFIG}} arch/{{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}}/configs/{{#var:KERNEL_DEFCONFIG}}.orig  
  $ cp defconfig arch/{{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}}/configs/
  $ cp defconfig arch/{{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}}/configs/{{#var:KERNEL_DEFCONFIG}}


== Making changes to the device tree ==
== Making changes to the device tree ==
Line 25: Line 25:
  $ source build/envsetup.sh
  $ source build/envsetup.sh
  $ lunch {{#var:ANDROID_MACHINE_NAME}}-userdebug
  $ lunch {{#var:ANDROID_MACHINE_NAME}}-userdebug
{{#ifeq: {{#var:HARDWARE_NAME}} | VAR-SOM-MX6 |
  $ make bootimage
  $ make bootimage
{{#ifeq: {{#var:HARDWARE_NAME}} | VAR-SOM-MX6 |
  |
  |
$ make bootimage
  $ make dtboimage
  $ make dtboimage
}}
}}


== Flashing the boot image to the target ==
== Flashing the boot image to the target ==
Run the following to boot the device into fastboot mode and reflash the boot image:<br>
Run the following to boot the device into fastboot mode and reflash the boot image:<br>
  $ adb reboot bootloader
  $ adb reboot bootloader
  $ sudo `which fastboot` flash boot{{#ifeq: {{#var:HARDWARE_NAME}} | VAR-SOM-MX6 | out/target/product/var_mx6/boot-<setup-name>.img |_a out/target/product/out/target/product/{{#var:ANDROID_MACHINE_NAME}}/boot.img }}
  $ sudo `which fastboot` flash boot{{#ifeq: {{#var:HARDWARE_NAME}} | VAR-SOM-MX6 | out/target/product/var_mx6/boot-<setup-name>.img |_a out/target/product/{{#var:ANDROID_MACHINE_NAME}}/boot.img }}
  {{#ifeq: {{#var:HARDWARE_NAME}} | VAR-SOM-MX6 |
  {{#ifeq: {{#var:HARDWARE_NAME}} | VAR-SOM-MX6 |



Latest revision as of 21:59, 12 September 2023

VAR-SOM-MX6 - N7.1.1 - Customizing the 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 through the menu, and select the desired kernel functionalities, save the new configuration, and exit.
Then, save the new configuration as the default 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/imx_v7_var_android_defconfig

Making changes to the device tree

For example, edit the following file:

  • VAR-SOM-MX6 : ~/var_n_711_100/n_711_100_build/vendor/variscite/kernel_imx/arch/arm/boot/dts/imx6qdl-var-som.dtsi
  • DART-MX6: ~/var_n_711_100/n_711_100_build/vendor/variscite/kernel_imx/arch/arm/boot/dts/imx6qdl-var-dart.dtsi

For example, if you want to make changes related to the SPI configuration you can refer to: SPI

Build a 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 the boot image to the target

Run the following to boot the device into fastboot mode and reflash the boot image:

$ adb reboot bootloader
$ sudo `which fastboot` flash bootout/target/product/var_mx6/boot-<setup-name>.img
Replace setup-name as per above table.
$ sudo `which fastboot` reboot