...
Info | ||
---|---|---|
| ||
|
Availability
...
Carrier Board
...
- ARM Cross Compiler
- Bootloader
- Das U-Boot – the Universal Boot Loader http://www.denx.de/wiki/U-Boot
- Source – http://git.denx.de/?p=u-boot.git;a=summary
- Linux Kernel
- Linus's Mainline tree: http://git.kernel.org/?p=linux/kernel/git/torvalds/linux.git;a=summary
- NXP Linux source tree: git://github.com/nxp-imx/linux-imx.git
- NXP Yocto BSP meta layer: https://github.com/nxp-imx/meta-imx/meta-bsp
- Freescale community BSP release: https://github.com/Freescale/meta-freescale-distro
- Embedian SMARC-FiMX6 Linux FiMX7 Linux kernel source tree: git@git.embedian.com:developer/smarc-fsl-linux-kernel.git or git@github.com:embedian/smarc-fsl-linux-kernel.git
- ARM based rootfs
- Debian Squeeze: http://www.debian.org/
- Debian Squeeze: http://www.debian.org/
...
Find the yocto pre-built root file systems here at Embedian's ftp site based on your module CPU variants.
For dual and quad core i.MX6MX7,
Info | ||
---|---|---|
| ||
|
For solo and dual lite core i.MX6MX7,
Info | ||
---|---|---|
| ||
|
Setup SD Card
...
For these instruction, we are assuming: DISK=/dev/mmcblk0, "lsblk" is very useful for determining the device id.
...
The u-boot.imx is pre-installed in SPI NOR flash at factory default. SMARC-FiMX6 FiMX7 is designed to always boot up from SPI NOR flash and to load zImage, device tree blob and root file systems based on the setting of BOOT_SEL. If users need to fuse their own u-boot or perform u-boot upgrade. This section will instruct you how to do that.
...
Info | ||||
---|---|---|---|---|
| ||||
U-Boot# mmc rescan; mmc dev; load mmc 0:1 0x108000000x90800000 u-boot.imx; sf probe; sleep 2; sf erase 0 0xc0000; sf write 0x108000000x90800000 0x400 a0000c0000 |
If SPI NOR Flash is empty
In some cases, when SPI NOR flash is erased or the u-boot is under development, we need a way to boot from SD card first. Users need to shunt cross the TEST# pin to ground. In this way, SMARC-FiMX6FiMX7 will always boot up from SD card.
Copy u-boot.imx to the boot partition. (Note: Rename u-boot-dtb.img to u-boot.img if your for u-boot is v2017v2022.0304)
Info | ||||
---|---|---|---|---|
| ||||
$ sudo dd if=u-boot.imx of=${DISK} bs=512 seek=2 |
Note |
---|
|
...
Info | ||||
---|---|---|---|---|
| ||||
#####HDMI######console=ttymxc4
|
Copy uEnv.txt to the boot partition:
...
Info | ||
---|---|---|
| ||
|
All available DTB files are listed in the table below.
DTB Name | Description |
---|---|
imx6dlimx7s-smarc.dtb | Device tree blob for i.mx6 mx7 solo and dual lite core with HDMI or parallel RGB display configuration. |
imx6dlimx7d-smarc-wvga.dtb | Device tree blob for i.mx6 solo and mx7 dual lite core with wvga resolutions LVDS display configuration. |
imx6dl-smarc-wxga.dtb | Device tree blob i.mx6 solo and dual lite core with wxga resolutions LVDS display configuration. |
imx6dl-smarc-xga.dtb | Device tree blob i.mx6 solo and dual lite core with xga resolutions LVDS display configuration. |
imx6dl-smarc-1080p.dtb | Device tree blob i.mx6 solo and dual lite core with 1080p resolutions LVDS display configuration. |
imx6q-smarc.dtb | Device tree blob i.mx6 dual and quad core with HDMI or parallel RGB display configuration. |
imx6q-smac-wvga.dtb | Device tree blob i.mx6 dual and quad core with wvga resolutions LVDS display configuration. |
imx6q-smarc-wxga.dtb | Device tree blob i.mx6 dual and quad core with wxga resolutions LVDS display configuration. |
imx6q-smarc-xga.dtb | Device tree blob i.mx6 dual and quad core with xga resolutions LVDS display configuration. |
imx6q-smarc-1080p.dtb | Device tree blob i.mx6 dual and quad core with 1080p resolutions LVDS display configuration. |
imx6qp-smrc.dtb | Device tree blob i.mx6 quadplus core with HDMI or parallel RGB display configuration. |
imx6qp-smarc-wvga.dtb | Device tree blob i.mx6 quadplus core with wvga resolutions LVDS display configuration. |
imx6qp-smarc-wxga.dtb | Device tree blob i.mx6 quadplus core with wxga resolutions LVDS display configuration. |
imx6qp-smarc-xga.dtb | Device tree blob i.mx6 quadplus core with xga resolutions LVDS display configuration. |
imx6qp-smarc-1080p.dtb | Device tree blob i.mx6 quadplus core with 1080p resolutions LVDS display configuration. |
...
title | Note |
---|
- If you are using LVDS panel, copy the corresponding device tree blob into SD card as follows.
...
For XGA (1024x768) LVDS panel:$ sudo cp -v arch/arm/boot/dts/imx6qp-smarc-xga.dtb /media/boot/dtbs/imx6qp-smarc.dtb
$ sudo cp -v arch/arm/boot/dts/imx6q-smarc-xga.dtb /media/boot/dtbs/imx6q-smarc.dtb
$ sudo cp -v arch/arm/boot/dts/imx6dl-smarc-xga.dtb /media/boot/dtbs/imx6dl-smarc.dtb
For WXGA (1366x768) LVDS panel:$ sudo cp -v arch/arm/boot/dts/imx6qp-smarc-wxga.dtb /media/boot/dtbs/imx6qp-smarc.dtb
$ sudo cp -v arch/arm/boot/dts/imx6q-smarc-wxga.dtb /media/boot/dtbs/imx6q-smarc.dtb
$ sudo cp -v arch/arm/boot/dts/imx6dl-smarc-wxga.dtb /media/boot/dtbs/imx6dl-smarc.dtb
For 1080p (1920x1080) LVDS panel:$ sudo cp -v arch/arm/boot/dts/imx6qp-smarc-1080p.dtb /media/boot/dtbs/imx6qp-smarc.dtb
$ sudo cp -v arch/arm/boot/dts/imx6q-smarc-1080p.dtb /media/boot/dtbs/imx6q-smarc.dtb
$ sudo cp -v arch/arm/boot/dts/imx6dl-smarc-1080p.dtb /media/boot/dtbs/imx6dl-smarc.dtb
Install Root File System and Kernel Modules
...
Info | ||||
---|---|---|---|---|
| ||||
|
Copy Kernel Modules:
...
Note | ||
---|---|---|
| ||
|
...
Setting up eMMC usually is the last step at development stage after the development work is done at your SD card or NFS environments. From software point of view, eMMC is nothing but a non-removable SD card on board. For SMARC-FiMX6FiMX7, the SD card is always emulated as /dev/mmcblk1 mmcblk0 and on-module eMMC is always emulated as /dev/mmcblk3mmcblk2. Setting up eMMC now is nothing but changing the device descriptor.
...
Copy and paste the following contents to /media/rootfs/home/root ($ sudo vim /media/rootfs/home/root/uEnv.txt)
Info | ||
---|---|---|
| ||
#####HDMI######console=ttymxc4
|
Copy device tree blob to rootfs partition:
Info | ||
---|---|---|
| ||
$ sudo cp -v /media/boot/dtbs/imx6qpimx7d-smarc.dtb /media/rootfs/home/root/imx6qpimx7d-smarc.dtb |
Note | ||
---|---|---|
| ||
For WVGA (800x480) LVDS panel: For XGA (1024x768) LVDS panel: For WXGA (1366x768) LVDS panel: For 1080p (1920x1080) LVDS panel: |
Copy real rootfs to rootfs partition:
...
Info | ||
---|---|---|
| ||
|
...
Info | ||
---|---|---|
| ||
Delete all contents starting with "SUBSYSTEM=="
|
...
Insert this SD card into your SMARC-FiMX6 FiMX7 device and boot into SD card.
Now it will be almost the same as you did when setup your SD card, but the eMMC device descriptor is /dev/mmcblk3mmcblk2 now.
Info | ||
---|---|---|
| ||
$ export DISK=/dev/mmcblk3mmcblk2 |
Erase SD card:
Info | ||
---|---|---|
| ||
$ |
Create Partition Layout:
Info | ||
---|---|---|
| ||
1M , 48M , 0x83 ,* ,,,- __EOF__ |
...
Info | ||
---|---|---|
| ||
|
Install Root File System
...
Info | ||
---|---|---|
| ||
|
...
Unmount eMMC:
Info | ||
---|---|---|
| ||
$ sync $ sudo umount /media/boot $ sudo umount /media/rootfs |
Switch your Boot Select to eMMC and you will be able to boot up from eMMC now.
version 1.0a, 08/0708/2023
Last updated 2023-08-0708