Switching U-Boot versions on i.MX6
Published on November 9, 2012
In our earlier post we described the what of the main-line based U-Boot sources for SABRE Lite and Nitrogen6X boards.
In this post, we'll discuss the how.
To begin with, there's the easy piece. We've published two Zip files that can upgrade or downgrade your U-Boot semi-automatically:
- 6q_upgrade-20121112.zip - This image will upgrade a system running U-Boot 2009.08 to U-Boot 2012.10 (plus our patches).
- 6x_downgrade-20121109.zip - This image will down-grade a system running U-Boot 2012.10 to U-Boot 2009.08 from our current head of branch boundary-imx-android-r13.2.
The reason for the term semi-automatically is that you will have to invoke the the upgrade or down-grade using the upgradeu command as discussed in our U-Boot conventions post:
U-Boot> run upgradeu
In each of these packages, you'll see two files:
- A boot script - named 6q_bootscript for the upgrade, and 6x_bootscript for the down-grade package, and
- A U-Boot binary - named u-boot.imx for the upgrade, and u-boot-nopadding.bin in the down-grade.
- The new version contains support for the setexpr command, which prevents set from uniquely identifying setenv{{2}}.
- The new version has a slight difference in the syntax for sf probe. Specifically, it allows this form:
sf probe [[bus:]cs] [hz] [mode]
instead of this form:sf probe [bus:]cs [hz] [mode]
In English: the chip-select is mandatory in U-Boot 2009.08. What's worse is that it also has a different numbering scheme. - The primary outputs of the builds are different. U-Boot 2009.08 produced a file named u-boot.bin that contains the ROM header and 1024 bytes of padding at the start of the image. U-Boot 2012.10 produces a file named u-boot.imx which does not contain the header, so it needs to be burned to offset 0x400.
In upcoming posts, we'll fill you in on the details of how to get the sources for this latest version of U-Boot (they will be here). We'll also add a check-list of each of the images on-line and a set of prototype boot scripts. In the mean-time, you can try these out and experience the new display and SATA support.
We can't finish this post without referring you to the post on un-bricking your board. This process should be straightforward, but things happen and it's always good to have the imx_usb tool handy.
[[1]]6x_upgrade instead of 6q_upgrade[[1]] [[2]]U-Boot allows shortest-unique short-hand for command invocation. For example, fatl is normally interpreted as the full command fatload.[[2]]