How to use and build U-Boot on mx6sabresd
-----------------------------------------

The following methods can be used for booting mx6sabresd boards:

1. Booting from SD card

2. Booting from eMMC

3. Booting via Falcon mode (SPL launches the kernel directly)


1. Booting from SD card via SPL
-------------------------------

mx6sabresd_defconfig target supports mx6q/mx6dl/mx6qp sabresd variants.

In order to build it:

$ make mx6sabresd_defconfig

$ make

This will generate the SPL and u-boot.img binaries.

- Flash the SPL binary into the SD card:

$ sudo dd if=SPL of=/dev/sdX bs=1K seek=1 && sync

- Flash the u-boot.img binary into the SD card:

$ sudo dd if=u-boot.img of=/dev/sdX bs=1K seek=69 && sync


2. Booting from eMMC
--------------------

$ make mx6sabresd_defconfig

$ make

This will generate the SPL and u-boot.img binaries.

- Boot first from SD card as shown in the previous section

In U-boot change the eMMC partition config:

=> mmc partconf 2 1 0 0

Mount the eMMC in the host PC:

=> ums 0 mmc 2

- Flash SPL and u-boot.img binaries into the eMMC:

$ sudo dd if=SPL of=/dev/sdX bs=1K seek=1 && sync
$ sudo dd if=u-boot.img of=/dev/sdX bs=1K seek=69 && sync

Set SW6 to eMMC 8-bit boot: 11010110


3. Booting via Falcon mode
--------------------------

$ make mx6sabresd_defconfig
$ make

This will generate the SPL image called SPL and the u-boot.img.

- Flash the SPL image into the SD card:

$ sudo dd if=SPL of=/dev/sdX bs=1K seek=1 oflag=sync status=none && sync

- Flash the u-boot.img image into the SD card:

$ sudo dd if=u-boot.img of=/dev/sdX bs=1K seek=69 oflag=sync status=none && sync

Create a partition for root file system and extract it there:

$ sudo tar xvf rootfs.tar.gz -C /media/root

The SD card must have enough space for raw "args" and "kernel".
To configure Falcon mode for the first time, on U-Boot do the following commands:

- Setup the IP server:

# setenv serverip <server_ip_address>

- Download dtb file:

# dhcp ${fdt_addr} imx6q-sabresd.dtb

- Download kernel image:

# dhcp ${loadaddr} uImage

- Write kernel at 2MB offset:

# mmc write ${loadaddr} 0x1000 0x4000

- Setup kernel bootargs:

# setenv bootargs "console=ttymxc0,115200 root=/dev/mmcblk1p1 rootfstype=ext4 rootwait quiet rw"

- Prepare args:

# spl export fdt ${loadaddr} - ${fdt_addr}

- Write args 1MB data (0x800 sectors) to 1MB offset (0x800 sectors)

# mmc write 18000000 0x800 0x800

- Press KEY_VOL_UP key, power up the board and then SPL binary will
launch the kernel directly.
