|
|
Line 1: |
Line 1: |
| == Manual build Android Linux Kernel ==
| | <!-- Set release according to "release" parameter in URL and use RELEASE_N7.1.1_1.0.0_VAR-SOM-MX6 as default |
| Change to Android top level directory.
| | --> {{#vardefine:RELEASE_PARAM|{{#urlget:release}}}} <!-- |
| {{#ifeq: {{#var:ANDROID_NXP_VERSION}} | O8.0.0_1.0.0 |
| | --> {{#lst:Android_Platform_Customization|{{#var:RELEASE_PARAM|RELEASE_N7.1.1_1.0.0_VAR-SOM-MX6}}}} <!-- |
| $ cd {{#var:BUILD_FOLDER_ANDROID}}
| | --> {{PageHeader|{{#var:HARDWARE_NAME}} - Android {{#var:ANDROID_NAME}} {{#var:ANDROID_VERSION}} Developer Guide}} {{DocImage|category1={{#var:HARDWARE_NAME}}|category2=Android}} __toc__ |
| |
| |
| $ cd {{#var:BUILD_FOLDER}}/{{#var:BUILD_FOLDER_ANDROID}}
| |
| |}}
| |
| {{#ifeq: {{#var:ANDROID_NXP_VERSION}} | O8.0.0_1.0.0 |
| |
| $ source build/envsetup.sh
| |
| $ lunch var_mx6-eng
| |
| or
| |
| $ lunch var_mx6-userdebug
| |
| <span style="color:red">Note: </span> var_mx6-userdebug creates a debuggable version of Android.
| |
| var_mx6-eng creates an engineering version of Android. Development mode enable and development tools are available on target.
| |
| |
| |
| $ source build/envsetup.sh
| |
| $ lunch var_mx6-eng
| |
| or
| |
| $ lunch var_mx6-user
| |
| <span style="color:red">Note: </span> var_mx6-user creates a production version of Android.
| |
| var_mx6-eng creates an engineering version of Android. Development mode enable and development tools are available on target.
| |
| |}}
| |
|
| |
|
| == Switching from eMMC build to SD card build and vice versa == | | == Manual build and customizing Android Linux Kernel == |
| When you switch your target MMC device you need to remove the fstab file. This will guarantee that the make system will copy the right one into target.
| |
| $ rm out/target/product/var_mx6/recovery/root/fstab* out/target/product/var_mx6/root/fstab*
| |
|
| |
|
| == Build Android for SD card == | | == Making changes to kernel configuration == |
| $ make -j4 BUILD_TARGET_DEVICE=sd bootimage 2>&1 | tee build1-1.log | | $ cd {{#var:BUILD_FOLDER}}/{{#var:BUILD_FOLDER_ANDROID}}/vendor/variscite/kernel_imx/ |
| | $ make ARCH={{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}} mrproper |
| | $ 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 |
| | 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={{#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 defconfig arch/{{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6|arm|arm64}}/configs/ |
|
| |
|
| *Note: When running Android from an SD card, the eMMC will be detected and presented as an SD card storage.
| | == Making changes to device tree == |
| | |
| == Build Android for on-SOM eMMC == | |
| $ make -j4 BUILD_TARGET_DEVICE=emmc bootimage 2>&1 | tee build1-1.log
| |
| | |
| | |
| This will generate image as per table below
| |
| | |
| {| class="wikitable"
| |
| |-
| |
| ! scope="col" | Setup Name<br/>
| |
| ! scope="col" | Images Names<br/>
| |
| ! scope="col" | SOM type<br/>
| |
| ! scope="col" | Carrier Board type<br/>
| |
| ! scope="col" | LCD Type<br/>
| |
| ! scope="col" | Evaluation Kit name<br/>
| |
| |-
| |
| | style="padding: 5px;"| som-mx6qp-c
| |
| | style="padding: 5px;"| boot-som-mx6qp-c.img,<br>recovery-som-mx6qp-c.img
| |
| | style="padding: 5px;"| VAR-SOM-MX6_V2 (Quad Plus)
| |
| | style="padding: 5px;"| VAR-MX6CustomBoard
| |
| | style="padding: 5px;"| Capacitive touch
| |
| | style="padding: 5px;"| VAR-DVK-MX6_V2-PRO,<br>VAR-STK-MX6_V2
| |
| |-
| |
| | style="padding: 5px;"| som-mx6qp-r
| |
| | style="padding: 5px;"| boot-som-mx6qp-r.img,<br>recovery-som-mx6qp-r.img
| |
| | style="padding: 5px;"| VAR-SOM-MX6_V2 (Quad Plus)
| |
| | style="padding: 5px;"| VAR-MX6CustomBoard
| |
| | style="padding: 5px;"| Resistive touch
| |
| | style="padding: 5px;"| VAR-DVK-MX6_V2,<br>VAR-STK-MX6_V2
| |
| |-
| |
| | style="padding: 5px;"| som-mx6qp-vsc
| |
| | style="padding: 5px;"| boot-som-mx6qp-vsc.img,<br>recovery-som-mx6qp-vsc.img
| |
| | style="padding: 5px;"| VAR-SOM-MX6_V2 (Quad Plus)
| |
| | style="padding: 5px;"| VAR-SOLOCustomBoard
| |
| | style="padding: 5px;"| Capacitive LVDS touch
| |
| | style="padding: 5px;"| N/A
| |
| |-
| |
| | style="padding: 5px;"| som-mx6q-c
| |
| | style="padding: 5px;"| boot-som-mx6q-c.img,<br>recovery-som-mx6q-c.img
| |
| | style="padding: 5px;"| VAR-SOM-MX6_V2 (Quad / Dual)
| |
| | style="padding: 5px;"| VAR-MX6CustomBoard
| |
| | style="padding: 5px;"| Capacitive touch
| |
| | style="padding: 5px;"| VAR-DVK-MX6_V2-PRO,<br>VAR-STK-MX6_V2
| |
| |-
| |
| | style="padding: 5px;"| som-mx6q-r
| |
| | style="padding: 5px;"| boot-som-mx6q-r.img,<br>recovery-som-mx6q-r.img
| |
| | style="padding: 5px;"| VAR-SOM-MX6_V2 (Quad / Dual)
| |
| | style="padding: 5px;"| VAR-MX6CustomBoard
| |
| | style="padding: 5px;"| Resistive touch
| |
| | style="padding: 5px;"| VAR-DVK-MX6_V2,<br>VAR-STK-MX6_V2
| |
| |-
| |
| | style="padding: 5px;"| som-mx6q-vsc
| |
| | style="padding: 5px;"| boot-som-mx6q-vsc.img,<br>recovery-som-mx6q-vsc.img
| |
| | style="padding: 5px;"| VAR-SOM-MX6_V2 (Quad / Dual)
| |
| | style="padding: 5px;"| VAR-SOLOCustomBoard
| |
| | style="padding: 5px;"| Capacitive LVDS touch
| |
| | style="padding: 5px;"| N/A
| |
| |-
| |
| | style="padding: 5px;"| som-mx6dl-c
| |
| | style="padding: 5px;"| boot-som-mx6dl-c.img,<br>recovery-som-mx6dl-c.img
| |
| | style="padding: 5px;"| VAR-SOM-MX6_V2 (DualLite/ Solo)
| |
| | style="padding: 5px;"| VAR-MX6CustomBoard
| |
| | style="padding: 5px;"| Capacitive touch
| |
| | style="padding: 5px;"| N/A
| |
| |-
| |
| | style="padding: 5px;"| som-mx6dl-r
| |
| | style="padding: 5px;"| boot-som-mx6dl-r.img,<br>recovery-som-mx6dl-r.img
| |
| | style="padding: 5px;"| VAR-SOM-MX6_V2 (DualLite/ Solo)
| |
| | style="padding: 5px;"| VAR-MX6CustomBoard
| |
| | style="padding: 5px;"| Resistive touch
| |
| | style="padding: 5px;"| N/A
| |
| |-
| |
| | style="padding: 5px;"| som-solo-vsc
| |
| | style="padding: 5px;"| boot-som-solo-vsc.img,<br>recovery-som-solo-vsc.img
| |
| | style="padding: 5px;"| VAR-SOM-SOLO / VAR-SOM-DUAL
| |
| | style="padding: 5px;"| VAR-SOLOCustomBoard
| |
| | style="padding: 5px;"| Capacitive LVDS touch
| |
| | style="padding: 5px;"| VAR-DVK-SOLO/DUAL,<br>VAR-STK-SOLO/DUAL
| |
| |-
| |
| | style="padding: 5px;"| som-solo-c
| |
| | style="padding: 5px;"| boot-som-solo-c.img,<br>recovery-som-solo-c.img
| |
| | style="padding: 5px;"| VAR-SOM-SOLO / VAR-SOM-DUAL
| |
| | style="padding: 5px;"| VAR-MX6CustomBoard
| |
| | style="padding: 5px;"| Capacitive touch
| |
| | style="padding: 5px;"| N/A
| |
| |-
| |
| | style="padding: 5px;"| imx6q-var-dart
| |
| | style="padding: 5px;"| boot-imx6q-var-dart.img,<br>recovery-imx6q-var-dart.img
| |
| | style="padding: 5px;"| DART-MX6
| |
| | style="padding: 5px;"| VAR-DT6CustomBoard
| |
| | style="padding: 5px;"| Capacitive touch
| |
| | style="padding: 5px;"| VAR-STK-DT6,<br>VAR-DVK-DT6
| |
| |-
| |
| |}
| |
|
| |
|
| | == 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:BUILD_FOLDER}}/{{#var:BUILD_FOLDER_ANDROID}} |
| | $ source build/envsetup.sh |
| | $ lunch {{#var:ANDROID_MACHINE_NAME}}-userdebug |
| | $ make bootimage |
|
| |
|
| == Flashing bootimage to target == | | == Flashing bootimage to target == |
Line 130: |
Line 30: |
|
| |
|
| $ adb reboot bootloader | | $ adb reboot bootloader |
| $ fastboot flash boot boot-<setup-name>.img | | $ fastboot flash boot {{#ifeq: {{#var:HARDWARE_NAME}} |VAR-SOM-MX6| boot-<setup-name>.img | boot.img> |
| Replace setup-name as per above table. | | Replace setup-name as per above table. |