Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

Table of Contents

Description

U-Boot is the bootloader for all i.MX6 devices. The bootloader first loads the devicetree, kernel and ramdisk, and then executes the kernel providing it with additional information such as the name of the device holding the root filesystem. U-Boot supports the ext2/3/4 filesystems as well as fat. Since our 2018.01 release, USB, SATA, eMMC and microSD are supported for both reading and writing.

...

We are automatically building binaries whenever code is pushed to our U-Boot repository on github, currently tracking the v2018.01-solidrun-imx6 branch. Please find the results at https://images.solid-run.com/IMX6/U-Boot/ .SolidRun Images .

Installing to removable storage

...

This application implements the Serial Download Protocol that the i.MX6 Boot-ROM uses to communicate. It is available on the github account of boundarydevices. Download and compile:

The final binary is called imx_usb and can be executed in place.

...

There are actually three methods for installing the U-Boot binaries:

  1. usb mass storage mode: The board presents itself as a usb drive to the host PC

  2. DFU: The board listens for the DFU protocol on USB

  3. the hard way: load and write files by hand using u-boot commands

We highly recommend using methods 1 or 2 as they are much easier to understand than the third!

...

However it is more likely that neither Linux nor even U-Boot are available at this point. Refer to section i.MX6 U-Boot  how to load u-boot to RAM.

...

We have developed a transitional boot-script that simulates the old behaviour to allow booting old system images that have not adopted support for distro boot: i.MX6 Legacy Boot-Script


Download and compile:

Code Block
wget https://gist.github.com/SolidRun/Josuau-SRboot/feb0a32903154fab147c875efac749a7releases/rawdownload/e17300c31e0db6dc259a7568eaec5aa6b8077d09/imx6boot.txt
mkimage -A arm -O linux -T script -C none -a 0 -e 0 -d imx6boot.txt imx6boot.scr

...

v2013.01-imx6-sr-transition/legacyboot.scr

This boot-script should be placed at a well-defined location that u-boot can read from, under a name that does *not* equal boot.scr. We suggest calling it legacyboot.scr. Then the bootcmd environment variable has to be configured to force always running this script unconditionally. Here is a sample for when legacyboot.scr lives on the first partition on microSD:

...

Code Block
CONFIG_SPL_BOOT_DEVICE_SATA=y
CONFIG_SCSI_AHCI=y
CONFIG_SPL_SATA_RAW_U_BOOT_USE_SECTOR=y
CONFIG_SPL_SATA_RAW_U_BOOT_SECTOR=0x8a
CONFIG_ENV_IS_NOWHERE=y
  • SPI

Code Block
CONFIG_SPL_BOOT_DEVICE_SPI_FLASH=y

...

  • losetup -o 1048576 /dev/loop0 /path/to/vivi.img # load the partition and not the entire disk image

  • mkfs -t ext4 /dev/loop0

  • mount /dev/loop0 /mnt

  • do populate

  • add the firstboot script: https://www.google.co.il/search?client=ubuntu&channel=fs&q=systemd + firstboot + script &ie=utf-8&oe=utf-8&gfe_rd=cr&ei=mWIPV-T8JLOo8wehw5GgCg- Google Search

  • umount /dev/loop0

  • losetup -d /dev/loop0

...