The imx7d-pico board is now supported in Buildroot
The imx7d-pico is a TechNexion board defined here. It is now
supported by Buildroot in the next
branch.
The commits related to this support are listed below:
How to update the software
Building U-Boot
$ export ARCH=arm
$ export CROSS_COMPILE=arm-xxxx
$ make mrproper
$ make pico-imx7d_defconfig
$ make
This will generate the binary u-boot.imx
.
Building Buildroot image
$ make clean
$ make imx7dpico_defconfig
$ make
This will generate imx7d-pico.dtb
, rootfs.ext4
, rootfs.tar
, sdcard.img
,
u-boot.imx
and zImage
.
Loading
-
Put the pico board into serial download mode. Please refer to this document at page 3. Turn on the board and connect the USB debug cable to the computer.
-
Using
imx_usb_loader
, loadu-boot.imx
.
$ sudo ./imx_usb u-boot.imx
- In the board console, mount the eMMC using the UMS utility.
# ums 0 mmc 0
- Flash the image generated by Buildroot. This command flashes the complete image, including U-Boot and Kernel.
$ sudo dd if=sdcard.img of=/dev/sdX
- Turn off the board. Put the board into internal boot mode and turn on the board. The Buildroot image will boot.
Updating U-Boot and Kernel
In cases that is needed to change the U-Boot or Kernel binaries, this can be done without changing the whole image.
To update U-Boot put the board into serial download mode and run imx_usb
.
Run the following command to flash the new binary to the eMMC.
$ sudo dd if=u-boot.imx of=/dev/sdX bs=1K seek=1
To update imx7d-pico.dtb
and zImage
, run the following commands to generate
the new binaries.
$ export ARCH=arm
$ export CROSS_COMPILE=arm-xxxx
$ make mrproper
$ make imx_v6_v7_defconfig
$ make -jN (where N is the number of cores of your host PC)
This will generate imx7d-pico.dtb
and zImage
. Then, run UMS utility in
U-Boot and copy these files to the boot partition of the eMMC.
$ cp imx7d-pico.dtb <path_to_boot_partition>
$ cp zImage <path_to_boot_partition>