Here is a quick summary at booting u-boot on the TWR-VF65GS10 Vybrid tower board.
This is an adaptation of u-boot on the i.MX6 sabre sd platform in a few commands for Vybrid, now that mainline u-boot has proper support.
This assumes you already have a "working" Linux development environment with some ARM cross-compilers at hand (e.g. Debian + Emdebian).
Get u-boot sources
We will use git to fetch the U-Boot sources:
$ git clone git://git.denx.de/u-boot.git
This should create a u-boot directory with all the latest sources.
Note that for more stability you might want to checkout a release instead of the latest version; to do so, list the available release tags with e.g. git tag -l 'v2*', and git checkout <the-desired-tag>.
Vybrid support in "mainline" u-boot is fairly recent so you will need a tag no older than v2013.07.
Assuming your cross compiler is called e.g. arm-linux-gnueabihf-gcc, you can compile by doing:
$ cd u-boot
$ export CROSS_COMPILE=arm-linux-gnueabihf-
$ make vf610twr_config
This should create a number of files, including u-boot.imx.
Put on SD
U-boot should reside at offset 1024B of your SD card. To put it there, do:
$ dd if=u-boot.imx of=/dev/<your-sd-card> bs=1k seek=1
Your SD card device is typically something in /dev/sd<X> or /dev/mmcblk<X>. Note that you need write permissions on the SD card for the command to succeed, so you might need to su - as root, or use sudo, or do a chmod a+w as root on the SD card device node to grant permissions to users.
Your SD card is ready for booting. Insert it in the SD card slot of your Vybrid tower board, connect to the USB to UART port with a serial terminal set to 115200 baud, no parity, 8bit data, power up the platform and you should see something like:
U-Boot 2013.04-00300-g3d9138e (Jul 09 2013 - 11:57:02)
CPU: Freescale Vybrid VF610 at 396 MHz
Reset cause: WDOG
DRAM: 128 MiB
WARNING: Caches not enabled
MMC: FSL_SDHC: 0
Net: Phy not found
PHY reset timed out
Warning: failed to set MAC address
Hit any key to stop autoboot: 0
- u-boot most common mission is to boot the Linux kernel. See this post for details on how to do it (on i.MX6).
- If you plan to compile u-boot often, you might want to use a C compiler cache; see this post.
- Running a Script in U-boot
- u-boot on the i.MX6 sabre sd platform in a few commands