1How to use and build U-Boot on mx6sabresd: 2---------------------------------- 3 4Currently there are three methods for booting mx6sabresd boards: 5 61. Booting via Normal U-Boot (u-boot.imx) 7 82. Booting via SPL (SPL and u-boot.img) 9 103. Booting via Falcon mode (SPL launches the kernel directly) 11 12 131. Booting via Normal U-Boot 14---------------------------- 15 16$ make mx6qsabresd_defconfig (If you want to build for mx6qsabresd) 17 18or 19 20$ make mx6dlsabresd_defconfig (If you want to build for mx6dlsabresd) 21 22$ make 23 24This will generate the image called u-boot.imx. 25 26- Flash the u-boot.imx binary into the SD card: 27 28$ sudo dd if=u-boot.imx of=/dev/sdb bs=1K seek=1 && sync 29 30 312. Booting via SPL 32------------------ 33 34Other method for building U-Boot on mx6qsabresd and mx6qpsabresd is 35through SPL. In order to do so: 36 37$ make mx6sabresd_spl_defconfig 38$ make 39 40This will generate the SPL image called SPL and the u-boot.img. 41 42- Flash the SPL image into the SD card: 43 44$ sudo dd if=SPL of=/dev/sdb bs=1K seek=1 && sync 45 46- Flash the u-boot.img image into the SD card: 47 48$ sudo dd if=u-boot.img of=/dev/sdbbs=1K seek=69 && sync 49 50 513. Booting via Falcon mode 52-------------------------- 53 54$ make mx6sabresd_spl_defconfig 55$ make 56 57This will generate the SPL image called SPL and the u-boot.img. 58 59- Flash the SPL image into the SD card: 60 61$ sudo dd if=SPL of=/dev/sdb bs=1K seek=1 oflag=sync status=none && sync 62 63- Flash the u-boot.img image into the SD card: 64 65$ sudo dd if=u-boot.img of=/dev/sdbbs=1K seek=69 oflag=sync status=none && sync 66 67Create a partition for root file system and extract it there: 68 69$ sudo tar xvf rootfs.tar.gz -C /media/root 70 71The SD card must have enough space for raw "args" and "kernel". 72To configure Falcon mode for the first time, on U-Boot do the following commands: 73 74- Setup the IP server: 75 76# setenv serverip <server_ip_address> 77 78- Download dtb file: 79 80# dhcp ${fdt_addr} imx6q-sabresd.dtb 81 82- Download kernel image: 83 84# dhcp ${loadaddr} uImage 85 86- Write kernel at 2MB offset: 87 88# mmc write ${loadaddr} 0x1000 0x4000 89 90- Setup kernel bootargs: 91 92# setenv bootargs "console=ttymxc0,115200 root=/dev/mmcblk1p1 rootfstype=ext4 rootwait quiet rw" 93 94- Prepare args: 95 96# spl export fdt ${loadaddr} - ${fdt_addr} 97 98- Write args 1MB data (0x800 sectors) to 1MB offset (0x800 sectors) 99 100# mmc write 18000000 0x800 0x800 101 102- Press KEY_VOL_UP key, power up the board and then SPL binary will 103launch the kernel directly. 104