Yocto Platform Customization: Difference between revisions
Line 708: | Line 708: | ||
*YOCTO_FLASH_SD_FROM_GUI_SECTION = '''{{#var:YOCTO_FLASH_SD_FROM_GUI_SECTION}}''' | *YOCTO_FLASH_SD_FROM_GUI_SECTION = '''{{#var:YOCTO_FLASH_SD_FROM_GUI_SECTION}}''' | ||
*READ_ONLY_ROOTFS = '''{{#var:yes}}''' | *READ_ONLY_ROOTFS = '''{{#var:yes}}''' | ||
*EMMC_FAT_PARTITION_NAME = '''{{#var:EMMC_FAT_PARTITION_NAME}} | *EMMC_FAT_PARTITION_NAME = '''{{#var:EMMC_FAT_PARTITION_NAME}}''' | ||
*NAND_ROOTFS_PARTITION_NAME = '''{{#var:NAND_ROOTFS_PARTITION_NAME}} | *NAND_ROOTFS_PARTITION_NAME = '''{{#var:NAND_ROOTFS_PARTITION_NAME}}''' |
Revision as of 09:20, 15 May 2017
Yocto
Documentation
Morty 2.2.1
- Yocto Project Core - Morty 2.2.1 (released on 02/24/2017)
Documentation is available from www.yoctoproject.org
FSLC BSP 2.2
- FSL Community BSP Release Notes 2.2 documentation
Documentation is available from http://freescale.github.io
FSL BSP L4.1.15_2.0.0-ga
- Kernel documentation from fsl-yocto-L4.1.15_2.0.0-ga release
Documentation is available for download from fsl-yocto-imx-4.1.15_2.0.0-docs
VAR-SOM-MX6
Build Results
Device Tree Name |
SOM type |
Carrier Board type |
LCD Type |
Evaluation Kit name |
---|---|---|---|---|
uImage-imx6q-var-som-cap.dtb | VAR-SOM-MX6_V2 (Quad / Dual) | VAR-MX6CustomBoard | Capacitive touch | VAR-DVK-MX6_V2-PRO VAR-STK-MX6_V2 |
uImage-imx6q-var-som-res.dtb | VAR-SOM-MX6_V2 (Quad / Dual) | VAR-MX6CustomBoard | Resistive touch | VAR-DVK-MX6_V2-PRO VAR-STK-MX6_V2 |
uImage-imx6q-var-som-vsc.dtb | VAR-SOM-MX6_V2 (Quad / Dual) | VAR-SOLOCustomBoard | Capacitive LVDS touch | N/A |
uImage-imx6dl-var-som-cap.dtb | VAR-SOM-MX6_V2 (DualLite/ Solo) | VAR-MX6CustomBoard | Capacitive touch | N/A |
uImage-imx6dl-var-som-res.dtb | VAR-SOM-MX6_V2 (DualLite/ Solo) | VAR-MX6CustomBoard | Resistive touch | N/A |
uImage-imx6dl-var-som-vsc.dtb | VAR-SOM-MX6_V2 (DualLite/ Solo) | VAR-SOLOCustomBoard | Capacitive LVDS touch | N/A |
uImage-imx6dl-var-som-solo-vsc.dtb | VAR-SOM-SOLO / VAR-SOM-DUAL | VAR-SOLOCustomBoard | Capacitive LVDS touch | VAR-DVK-SOLO/DUAL VAR-STK-SOLO/DUAL |
uImage-imx6dl-var-som-solo-cap.dtb | VAR-SOM-SOLO / VAR-SOM-DUAL | VAR-MX6CustomBoard | Capacitive touch | N/A |
uImage-imx6dl-var-som-solo-res.dtb | VAR-SOM-SOLO / VAR-SOM-DUAL | VAR-MX6CustomBoard | Resistive touch | N/A |
uImage-imx6q-var-dart.dtb | VAR-SOM-SOLO / VAR-SOM-DUAL | VAR-DT6CustomBoard | Capacitive LVDS touch | VAR-DVK-DT6 VAR-STK-DT6 |
Device tree
Build the device tree for Dualite/Solo on VAR-MX6CustomBoard with capacitive touchscreen: $ make -j4 imx6dl-var-som-cap.dtb Build the device tree for Dualite/Solo on VAR-MX6CustomBoard with resistive touchscreen: $ make -j4 imx6dl-var-som-res.dtb Build the device tree for Dualite/Solo on VAR-SOLOCustomBoard: $ make -j4 imx6dl-var-som-vsc.dtb Build the device tree for Quad/Dual on VAR-MX6CustomBoard with capacitive touchscreen: $ make -j4 imx6q-var-som-cap.dtb Build the device tree for Quad/Dual on VAR-MX6CustomBoard with resistive touchscreen: $ make -j4 imx6q-var-som-res.dtb Build the device tree for Quad/Dual on VAR-SOLOCustomBoard: $ make -j4 imx6q-var-som-vsc.dtb Build the device tree for VAR-SOM-SOLO on VAR-MX6CustomBoard with capacitive touchscreen: $ make -j4 imx6dl-var-som-solo-cap.dtb Build the device tree for VAR-SOM-SOLO on VAR-MX6CustomBoard with resistive touchscreen: $ make -j4 imx6dl-var-som-solo-res.dtb Build the device tree for VAR-SOM-SOLO on VAR-SOLOCustomBoard: $ make -j4 imx6dl-var-som-solo-vsc.dtb Build the device tree for DART-MX6: $ make -j4 imx6q-var-dart.dtb
SD card image file tree
/opt/images/ └── Yocto ├── SPL-nand ├── SPL-sd ├── imx6dl-var-som-cap.dtb ├── imx6dl-var-som-res.dtb ├── imx6dl-var-som-solo-cap.dtb ├── imx6dl-var-som-solo-res.dtb ├── imx6dl-var-som-solo-vsc.dtb ├── imx6dl-var-som-vsc.dtb ├── imx6q-var-dart.dtb ├── imx6q-var-som-cap.dtb ├── imx6q-var-som-res.dtb ├── imx6q-var-som-vsc.dtb ├── rootfs.tar.bz2 ├── rootfs.ubi ├── u-boot.img-nand ├── u-boot.img-sd └── uImage
Flash Recovery SD from GUI
- Install Yocto SOLOCB NAND: Flash Yocto on NAND flash, on VAR-SOLOCustomBoard
- Install Yocto SOLOCB eMMC: Flash Yocto on eMMC, on VAR-SOLOCustomBoard
- Install Yocto MX6CB Res NAND: Flash Yocto with Resistive touch panel support on NAND flash, on VAR-MX6CustomBoard
- Install Yocto MX6CB Cap NAND: Flash Yocto with Capacitive touch panel support on NAND flash, on VAR-MX6CustomBoard
- Install Yocto MX6CB Res eMMC: Flash Yocto with Resistive touch panel support on eMMC, on VAR-MX6CustomBoard
- Install Yocto MX6CB Cap eMMC: Flash Yocto with Capacitive touch panel support on eMMC, on VAR-MX6CustomBoard.
- Install Yocto DART (eMMC): Flash Yocto on eMMC, on VAR-DT6CustomBoard
Setting the Boot Mode
Follow the instruction below according to the appropriate carrier board type:
MX6CustomBoard
Booting your MX6CustomBoard system from SD card requires pushing the middle button while powering up the system. See picture below.
To boot a board using an SD card, follow the steps below:
- Power-off the board.
- Insert the SD card into the SD/MMC slot of the carrier board (DVK)
- Push the middle button (Boot Select) and hold
- Power-up the board
- Release the middle button (Boot Select) after system starts to boot.
- The board will automatically boot into Linux from the SD card
SoloCustomBoard
Booting your system requires switching the relevant DIP switch to "Boot from MMC". See picture below.
To boot board with SD card, Follow the steps below:
- Power-off the board.
- Insert the SD card into the SD/MMC slot of the carrier board (DVK)
- Switch the relevant DIP switch to "Boot from MMC"
- Power-up board
- The board will automatically boot into Linux from SD card
DT6CustomBoard
Booting your system requires switching the relevant DIP switch to "Boot from SD card". See picture below.
To boot board with SD card, Follow the steps below:
- Power-off the board.
- Insert the SD card into the SD/MMC slot of the carrier board (DVK)
- Switch the relevant DIP switch to "Boot from SD card"
- Power-up board
- The board will automatically boot into Linux from SD card
DART-6UL
Build Results
File Name | Description |
---|---|
zImage-imx6ul-var-dart-emmc_wifi.dtb | Device tree blob for DART-6UL with eMMC & WI-FI enabled. (SD card & NAND disabled) |
zImage-imx6ul-var-dart-nand_wifi.dtb | Device tree blob for DART-6UL with NAND flash & WI-FI enabled. (SD card & eMMC disabled) |
zImage-imx6ul-var-dart-sd_emmc.dtb | Device tree blob for DART-6UL with SD card & eMMC enabled (WIFI & NAND disabled) |
zImage-imx6ul-var-dart-sd_nand.dtb | Device tree blob for DART-6UL with SD card & NAND flash enabled (WIFI & eMMC disabled) |
zImage-imx6ull-var-dart-emmc_wifi.dtb | Device tree blob for DART-6ULL with eMMC & WI-FI enabled. (SD card & NAND disabled) |
zImage-imx6ull-var-dart-nand_wifi.dtb | Device tree blob for DART-6ULL with NAND flash & WI-FI enabled. (SD card & eMMC disabled) |
zImage-imx6ull-var-dart-sd_emmc.dtb | Device tree blob for DART-6ULL with SD card & eMMC enabled (WIFI & NAND disabled) |
zImage-imx6ull-var-dart-sd_nand.dtb | Device tree blob for DART-6ULL with SD card & NAND flash enabled (WIFI & eMMC disabled) |
Device tree
Build only the device tree for DART-6UL with eMMC and WiFi: $ make -j4 imx6ul-var-dart-emmc_wifi.dtb Build only the device tree for DART-6UL with eMMC and SD card: $ make -j4 imx6ul-var-dart-sd_emmc.dtb Build only the device tree for DART-6UL with NAND flash and WiFi: $ make -j4 imx6ul-var-dart-nand_wifi.dtb Build only the device tree for DART-6UL with NAND flash and SD card: $ make -j4 imx6ul-var-dart-sd_nand.dtb Build only the device tree for DART-6ULL with eMMC and WiFi: $ make -j4 imx6ull-var-dart-emmc_wifi.dtb Build only the device tree for DART-6ULL with eMMC and SD card: $ make -j4 imx6ull-var-dart-sd_emmc.dtb Build only the device tree for DART-6ULL with NAND flash and WiFi: $ make -j4 imx6ull-var-dart-nand_wifi.dtb Build only the device tree for DART-6ULL with NAND flash and SD card: $ make -j4 imx6ull-var-dart-sd_nand.dtb
SD card image file tree
/opt/images/ └── Yocto ├── imx6ul-var-dart-emmc_wifi.dtb ├── imx6ul-var-dart-nand_wifi.dtb ├── imx6ul-var-dart-sd_emmc.dtb ├── imx6ul-var-dart-sd_nand.dtb ├── imx6ull-var-dart-emmc_wifi.dtb ├── imx6ull-var-dart-nand_wifi.dtb ├── imx6ull-var-dart-sd_emmc.dtb ├── imx6ull-var-dart-sd_nand.dtb ├── rootfs.tar.bz2 ├── rootfs.ubi ├── SPL-nand ├── SPL-sd ├── u-boot.img-nand ├── u-boot.img-sd └── zImage
Flash Recovery SD from GUI
Touch/Click on the appropriate icon:
- Install Yocto NAND, WiFi: Flash Yocto with WiFi support to NAND flash
- Install Yocto NAND, SD card: Flash Yocto with SD card support to NAND flash
- Install Yocto eMMC (SD/WiFi) : Flash Yocto to eMMC (installs both SD card and WiFi dtbs to the BOOT partition and let U-Boot select between them at boot time)
Setting the Boot Mode
Booting your system from an SD card requires switching the Boot DIP switches. See picture below.
- "00" The current position in the picture will set the system to boot from SD card.
- "01" Moving the right switch will set the system to boot from eMMC
- "10" Moving the left switch will set the system to boot from NAND flash
- "11" is illegal.
Automatic device Tree selection in U-Boot
Upon reset you will see the U-Boot SPL printouts. It will print also the SOM configuration:
On-SOM storage: SD only, eMMC, NAND.
WIFI if chip exits.
For example:
U-Boot SPL 2015.10-00532-g482dc88 (Jan 03 2016 - 10:05:42) i.MX6UL SOC Part number: DART-6U-A01 Assembly: AS11 Date of production: 2015 Dec 31 DART-6UL configuration: eMMC WIFI Ram size: 512 Boot Device: SD
As explained in the above Build Results table we have 4 optional configurations.
We implemented in U-Boot and automatic device tree selection, so when kernel boots, the U-Boot will load the corresponding device tree according to On-SOM configuration.
SOM Type |
Boot From |
SOM Internal FLASH |
SOM has WIFI/BT |
Device Tree selected |
---|---|---|---|---|
DART-6UL | SD | eMMC | Don't Care | imx6ul-var-dart-sd_emmc.dtb |
DART-6UL | SD | NAND | Don't Care | imx6ul-var-dart-sd_nand.dtb |
DART-6UL | eMMC | eMMC | Yes | imx6ul-var-dart-emmc_wifi.dtb |
DART-6UL | eMMC | eMMC | NO | imx6ul-var-dart-sd_emmc.dtb |
DART-6UL | NAND | NAND | YES | imx6ul-var-dart-nand_wifi.dtb |
DART-6UL | NAND | NAND | NO | imx6ul-var-dart-sd_nand.dtb |
DART-6ULL | SD | eMMC | Don't Care | imx6ull-var-dart-sd_emmc.dtb |
DART-6ULL | SD | NAND | Don't Care | imx6ull-var-dart-sd_nand.dtb |
DART-6ULL | eMMC | eMMC | Yes | imx6ull-var-dart-emmc_wifi.dtb |
DART-6ULL | eMMC | eMMC | NO | imx6ull-var-dart-sd_emmc.dtb |
DART-6ULL | NAND | NAND | YES | imx6ull-var-dart-nand_wifi.dtb |
DART-6ULL | NAND | NAND | NO | imx6ull-var-dart-sd_nand.dtb |
Note: Boot from SD card eliminates Wifi as the Wifi and SD card are using same SDIO interface.
A typical use-case, is to boot from SD card, flash eMMC or NAND flash, and re-boot form eMMC/NAND to have Wi-Fi operational.
VAR-SOM-MX7
Build Results
zImage-imx7d-var-som-emmc.dtb | Device tree blob for SOMs with eMMC. |
zImage-imx7d-var-som-nand.dtb | Device tree blob for SOMs with NAND flash. |
Device tree
Build only the device tree for VAR-SOM-MX7 with eMMC: $ make -j4 imx7d-var-som-emmc.dtb Build only the device tree for VAR-SOM-MX7 with NAND flash: $ make -j4 imx7d-var-som-nand.dtb
SD card image file tree
/opt/images/ └── Yocto ├── imx7d-var-som-emmc.dtb ├── imx7d-var-som-nand.dtb ├── rootfs.tar.bz2 ├── rootfs.ubi ├── u-boot.imx-nand ├── u-boot.imx-sd └── zImage
Flash Recovery SD from GUI
Touch/Click on the appropriate icon:
- Install Yocto NAND flash: Flash Yocto to NAND flash
- Install Yocto eMMC: Flash Yocto to eMMC
Setting the Boot Mode
Make sure the BOOT SELECT DIP switches on the carrier board are set correctly before you power on the board.
SW1-SW2 0 - 0 : Boot from SD card 1 - 0 : Boot from eMMC 0 - 1 : Boot from NAND flash 1 - 1 : Illegal
Platform Customizations
VAR-SOM-MX6
- RELEASE_NAME = morty-fslc-4.1.15-mx6-v1.0-beta
- RELEASE_LINK = RELEASE_MORTY_BETA_VAR-SOM-MX6
- YOCTO_NAME = Morty
- YOCTO_VERSION = 2.2.1
- FSLC_BSP_VERSION = 2.2
- FSL_BSP_VERSION = L4.1.15_2.0.0-ga
- RECOVERY_SD_NAME = morty-fslc-4.1.15-mx6-v1.0-beta.img.gz
- RECOVERY_SD_URL = ftp://customerv:Variscite1@ftp.variscite.com/VAR-SOM-MX6/Software/fslc
- RELEASE_NOTES_LINK = https://docs.google.com/spreadsheets/d/1WN-kGn3r9mcJh0EdSE3wZNBmhw5g5A95facy6gSIFn4/pubhtml
- MACHINE_NAME = var-som-mx6
- KERNEL_GIT = https://github.com/varigit/linux-2.6-imx.git
- KERNEL_BRANCH = imx-rel_imx_4.1.15_2.0.0_ga-var01
- KERNEL_IMAGE = uImage
- KERNEL_DEFCONFIG = imx_v7_var_defconfig
- U-BOOT_GIT = https://github.com/varigit/uboot-imx.git
- U-BOOT_BRANCH = imx_v2015.04_4.1.15_1.1.0_ga_var01
- U-BOOT_SD_DEFCONFIG = mx6var_som_sd_defconfig
- U-BOOT_NAND_DEFCONFIG = mx6var_som_nand_defconfig
- U-BOOT_SD_IMAGE_NAME = u-boot.img-sd
- U-BOOT_NAND_IMAGE_NAME = u-boot.img-nand
- SPL_SD_IMAGE_NAME = SPL-sd
- SPL_NAND_IMAGE_NAME = SPL-nand
- YOCTO_GIT = https://github.com/varigit/variscite-bsp-platform.git
- YOCTO_META_GIT = '
- YOCTO_BRANCH = morty
- YOCTO_BUILD_RESULTS_SECTION = VAR-SOM-MX6_BUILD_RESULTS
- YOCTO_BOOT_BOARD_SECTION = VAR-SOM-MX6_BOOT_BOARD
- KERNEL_DTB_SECTION = VAR-SOM-MX6_DTB
- SD_TREE_SECTION = VAR-SOM-MX6_SD_TREE
- YOCTO_FLASH_SD_FROM_GUI_SECTION = VAR-SOM-MX6_FLASH_SD_FROM_GUI
- EMMC_FAT_PARTITION_NAME = BOOT-VARSOM
- NAND_ROOTFS_PARTITION_NAME = mtd3
DART-6UL
- RELEASE_NAME = morty-fslc-4.1.15-mx6ul-v1.0-beta
- RELEASE_LINK = RELEASE_MORTY_BETA_DART-6UL
- YOCTO_NAME = Morty
- YOCTO_VERSION = 2.2.1
- FSLC_BSP_VERSION = 2.2
- FSL_BSP_VERSION = L4.1.15_2.0.0-ga
- RECOVERY_SD_NAME = morty-fslc-4.1.15-mx6ul-v1.0-beta.img.gz
- RECOVERY_SD_URL = ftp://customerv:Variscite1@ftp.variscite.com/DART-6UL/Software/fslc
- RELEASE_NOTES_LINK = https://docs.google.com/spreadsheets/d/1SznePOwPHdnxkbqpmP_1u6v6gXSceIHrRVPLFPB7qHE/pubhtml
- MACHINE_NAME = imx6ul-var-dart
- KERNEL_GIT = https://github.com/varigit/linux-2.6-imx.git
- KERNEL_BRANCH = imx-rel_imx_4.1.15_2.0.0_ga-var01
- KERNEL_IMAGE = zImage
- KERNEL_DEFCONFIG = imx6ul-var-dart_defconfig
- U-BOOT_GIT = https://github.com/varigit/uboot-imx.git
- U-BOOT_BRANCH = imx_v2015.10_dart_6ul_var1
- U-BOOT_SD_DEFCONFIG = mx6ul_var_dart_mmc_defconfig
- U-BOOT_NAND_DEFCONFIG = mx6ul_var_dart_nand_defconfig
- U-BOOT_SD_IMAGE_NAME = u-boot.img-sd
- U-BOOT_NAND_IMAGE_NAME = u-boot.img-nand
- SPL_SD_IMAGE_NAME = SPL-sd
- SPL_NAND_IMAGE_NAME = SPL-nand
- YOCTO_GIT = https://github.com/varigit/variscite-bsp-platform.git
- YOCTO_META_GIT = '
- YOCTO_BRANCH = morty
- YOCTO_BUILD_RESULTS_SECTION = DART-6UL_BUILD_RESULTS
- YOCTO_BOOT_BOARD_SECTION = DART-6UL_BOOT_BOARD
- KERNEL_DTB_SECTION = DART-6UL_DTB
- SD_TREE_SECTION = DART-6UL_SD_TREE
- EMMC_FAT_PARTITION_NAME = BOOT-VAR6UL
- NAND_ROOTFS_PARTITION_NAME = mtd4
VAR-SOM-MX7
- RELEASE_NAME = morty-fslc-4.1.15-mx7-v1.0-beta
- RELEASE_LINK = RELEASE_MORTY_BETA_VAR-SOM-MX7
- YOCTO_NAME = Morty
- YOCTO_VERSION = 2.2.1
- FSLC_BSP_VERSION = 2.2
- FSL_BSP_VERSION = L4.1.15_2.0.0-ga
- RECOVERY_SD_NAME = morty-fslc-4.1.15-mx7-v1.0-beta.img.gz
- RECOVERY_SD_URL = ftp://customerv:Variscite1@ftp.variscite.com/VAR-SOM-MX7/Software/fslc
- RELEASE_NOTES_LINK = https://docs.google.com/spreadsheets/d/1UqpIu3ztSIbsXqV52QFLjz-jhTXLfUtsX9-HQUy6tsQ/pubhtml
- MACHINE_NAME = imx7-var-som
- KERNEL_GIT = https://github.com/varigit/linux-2.6-imx.git
- KERNEL_BRANCH = imx-rel_imx_4.1.15_2.0.0_ga-var01
- KERNEL_IMAGE = zImage
- KERNEL_DEFCONFIG = imx7-var-som_defconfig
- U-BOOT_GIT = https://github.com/varigit/uboot-imx.git
- U-BOOT_BRANCH = imx_v2015.04_4.1.15_1.1.0_ga_var02
- U-BOOT_SD_DEFCONFIG = mx7dvar_som_defconfig
- U-BOOT_NAND_DEFCONFIG = mx7dvar_som_nand_defconfig
- U-BOOT_SD_IMAGE_NAME = u-boot.imx-sd
- U-BOOT_NAND_IMAGE_NAME = u-boot.imx-nand
- SPL_SD_IMAGE_NAME = SPL-sd
- SPL_NAND_IMAGE_NAME = SPL-nand
- YOCTO_GIT = https://github.com/varigit/variscite-bsp-platform.git
- YOCTO_META_GIT = '
- YOCTO_BRANCH = morty
- YOCTO_BUILD_RESULTS_SECTION = VAR-SOM-MX7_BUILD_RESULTS
- YOCTO_BOOT_BOARD_SECTION = VAR-SOM-MX7_BOOT_BOARD
- KERNEL_DTB_SECTION = VAR-SOM-MX7_DTB
- SD_TREE_SECTION = VAR-SOM-MX7_SD_TREE
- YOCTO_FLASH_SD_FROM_GUI_SECTION = VAR-SOM-MX7_FLASH_SD_FROM_GUI
- READ_ONLY_ROOTFS = '
- EMMC_FAT_PARTITION_NAME = BOOT-VARMX7
- NAND_ROOTFS_PARTITION_NAME = mtd4