Diego Dorta | 9cc3ad6 | 2016-10-11 11:09:28 -0300 | [diff] [blame^] | 1 | How to use and build U-Boot on mx6sabresd: |
| 2 | ---------------------------------- |
| 3 | |
| 4 | Currently there are three methods for booting mx6sabresd boards: |
| 5 | |
| 6 | 1. Booting via Normal U-Boot (u-boot.imx) |
| 7 | |
| 8 | 2. Booting via SPL (SPL and u-boot.img) |
| 9 | |
| 10 | 3. Booting via Falcon mode (SPL launches the kernel directly) |
| 11 | |
| 12 | |
| 13 | 1. Booting via Normal U-Boot |
| 14 | ---------------------------- |
| 15 | |
| 16 | $ make mx6qsabresd_defconfig (If you want to build for mx6qsabresd) |
| 17 | |
| 18 | or |
| 19 | |
| 20 | $ make mx6dlsabresd_defconfig (If you want to build for mx6dlsabresd) |
| 21 | |
| 22 | $ make |
| 23 | |
| 24 | This 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 | |
| 31 | 2. Booting via SPL |
| 32 | ------------------ |
| 33 | |
| 34 | Other method for building U-Boot on mx6qsabresd and mx6qpsabresd is |
| 35 | through SPL. In order to do so: |
| 36 | |
| 37 | $ make mx6sabresd_spl_defconfig |
| 38 | $ make |
| 39 | |
| 40 | This 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 | |
| 51 | 3. Booting via Falcon mode |
| 52 | -------------------------- |
| 53 | |
| 54 | $ make mx6sabresd_spl_defconfig |
| 55 | $ make |
| 56 | |
| 57 | This 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 | |
| 67 | Create a partition for root file system and extract it there: |
| 68 | |
| 69 | $ sudo tar xvf rootfs.tar.gz -C /media/root |
| 70 | |
| 71 | The SD card must have enough space for raw "args" and "kernel". |
| 72 | To 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 |
| 103 | launch the kernel directly. |