u-boot/board/freescale/mx6sabreauto
Peng Fan aa5bbfd961 board: imx: address dd usage in README
When using cygwin64 "dd (coreutils) 8.26 Packaged by Cygwin (8.26-2)",
the last not 512bytes aligned data wat cut off and not burned into SD
card.

Saying the flash.bin size is 1085608 bytes, not 512bytes aligned. It only
burned 1085440 bytes, the leaving 168 bytes were not burnned and cause
boot issue.

So update README dd command to add "conv=notrunc"

Signed-off-by: Peng Fan <peng.fan@nxp.com>
2020-11-01 15:37:19 +01:00
..
Kconfig mx6sabreauto: Update to SPL only mode 2017-07-12 09:44:22 +02:00
MAINTAINERS mx6sabreauto: Update to SPL only mode 2017-07-12 09:44:22 +02:00
Makefile SPDX: Convert all of our single license tags to Linux Kernel style 2018-05-07 09:34:12 -04:00
mx6sabreauto.c treewide: convert bd_t to struct bd_info by coccinelle 2020-07-17 09:30:13 -04:00
README board: imx: address dd usage in README 2020-11-01 15:37:19 +01:00

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

mx6sabreauto_defconfig target supports mx6q/mx6dl/mx6qp sabreauto variants.

In order to build it:

$ make mx6sabreauto_defconfig

$ make

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

- Flash the SPL binary into the SD card:

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

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

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

Booting via Falcon mode
-----------------------

Write in mx6sabreauto_defconfig the following define below:

CONFIG_SPL_OS_BOOT=y

In order to build it:

$ make mx6sabreauto_defconfig

$ make

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

- Flash the SPL image into the SD card:

$ sudo dd if=SPL of=/dev/sdb bs=1K seek=1 conv=notrunc && sync

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

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

Create a FAT16 boot partition to store uImage and the dtb file, then copy the files there:

$ sudo cp uImage /media/boot

$ sudo cp imx6dl-sabreauto.dtb /media/boot

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:

- Load dtb file from boot partition:

# load mmc 0:1 ${fdt_addr} imx6dl-sabreauto.dtb

- Load kernel image from boot partition:

# load mmc 0:1 ${loadaddr} uImage

- Write kernel at 2MB offset:

# mmc write ${loadaddr} 0x1000 0x4000

- Setup kernel bootargs:

# setenv bootargs "console=ttymxc3,115200 root=/dev/mmcblk0p1 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

- Restart the board and then SPL binary will launch the kernel directly.