1How to use and build U-Boot on mx6sabresd 2----------------------------------------- 3 4The following methods can be used for booting mx6sabresd boards: 5 61. Booting from SD card 7 82. Booting from eMMC 9 103. Booting via Falcon mode (SPL launches the kernel directly) 11 12 131. Booting from SD card via SPL 14------------------------------- 15 16mx6sabresd_defconfig target supports mx6q/mx6dl/mx6qp sabresd variants. 17 18In order to build it: 19 20$ make mx6sabresd_defconfig 21 22$ make 23 24This will generate the SPL and u-boot-dtb.img binaries. 25 26- Flash the SPL binary into the SD card: 27 28$ sudo dd if=SPL of=/dev/sdX bs=1K seek=1 && sync 29 30- Flash the u-boot-dtb.img binary into the SD card: 31 32$ sudo dd if=u-boot-dtb.img of=/dev/sdX bs=1K seek=69 && sync 33 34 352. Booting from eMMC 36-------------------- 37 38$ make mx6sabresd_defconfig 39 40$ make 41 42This will generate the SPL and u-boot-dtb.img binaries. 43 44- Boot first from SD card as shown in the previous section 45 46In U-boot change the eMMC partition config: 47 48=> mmc partconf 2 1 0 0 49 50Mount the eMMC in the host PC: 51 52=> ums 0 mmc 2 53 54- Flash SPL and u-boot-dtb.img binaries into the eMMC: 55 56$ sudo dd if=SPL of=/dev/sdX bs=1K seek=1 && sync 57$ sudo dd if=u-boot-dtb.img of=/dev/sdX bs=1K seek=69 && sync 58 59Set SW6 to eMMC 8-bit boot: 11010110 60 61 623. Booting via Falcon mode 63-------------------------- 64 65$ make mx6sabresd_defconfig 66$ make 67 68This will generate the SPL image called SPL and the u-boot-dtb.img. 69 70- Flash the SPL image into the SD card: 71 72$ sudo dd if=SPL of=/dev/sdX bs=1K seek=1 oflag=sync status=none && sync 73 74- Flash the u-boot-dtb.img image into the SD card: 75 76$ sudo dd if=u-boot-dtb.img of=/dev/sdX bs=1K seek=69 oflag=sync status=none && sync 77 78Create a partition for root file system and extract it there: 79 80$ sudo tar xvf rootfs.tar.gz -C /media/root 81 82The SD card must have enough space for raw "args" and "kernel". 83To configure Falcon mode for the first time, on U-Boot do the following commands: 84 85- Setup the IP server: 86 87# setenv serverip <server_ip_address> 88 89- Download dtb file: 90 91# dhcp ${fdt_addr} imx6q-sabresd.dtb 92 93- Download kernel image: 94 95# dhcp ${loadaddr} uImage 96 97- Write kernel at 2MB offset: 98 99# mmc write ${loadaddr} 0x1000 0x4000 100 101- Setup kernel bootargs: 102 103# setenv bootargs "console=ttymxc0,115200 root=/dev/mmcblk1p1 rootfstype=ext4 rootwait quiet rw" 104 105- Prepare args: 106 107# spl export fdt ${loadaddr} - ${fdt_addr} 108 109- Write args 1MB data (0x800 sectors) to 1MB offset (0x800 sectors) 110 111# mmc write 18000000 0x800 0x800 112 113- Press KEY_VOL_UP key, power up the board and then SPL binary will 114launch the kernel directly. 115