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:
cd imx_usb_loader
make
The final binary is called imx_usb and can be executed in place.
...
There are actually three methods for installing the U-Boot binaries:
usb mass storage mode: The board presents itself as a usb drive to the host PC
DFU: The board listens for the DFU protocol on USB
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
...