[U-Boot] Creating U-Boot env image

Stephen Warren swarren at wwwdotorg.org
Mon Dec 9 22:56:41 CET 2013


On 12/09/2013 02:39 PM, Alexey Smishlayev wrote:
> Dear Wolfgang Denk,
> 
> On 2013.12.09. 22:12, Wolfgang Denk wrote:
>> Dear Alexey Smishlayev,
>>
>> In message <52A5D4F1.7020101 at xtech2.lv> you wrote:
>>> What should I do to flash environment values directly to the board's
>>> NAND?
>> Why don't you just use "env import"?
>>
> 
> I didn't have any information about that. Also, I would like to get done
> without entering the U-Boot prompt. I am flashing my board using the
> J-TAG - USB cable, and it will be much more simple and convenient if I'd
> be able to just write the binary images on the NAND flash.
> 
> So, there is no way to do something like that straight away?

I have no idea if something similar would work on your SoC, but I flash
my Tegra devices as follows:

* Download a copy of U-Boot into RAM and execute it.

I use "tegrarcm" to download it (a method of talking to Tegra's boot
ROM), but I imagine you could download using JTAG too.

* This U-Boot's bootcmd (specified in the attached device tree in my
case) writes the desired binary to boot flash; I flash from the device
itself rather than using JTAG/... for the actual flash writes.

* After flashing the U-Boot binary, the same U-Boot does "env default -f
-a; saveenv" and hence re-initializes the environment in flash. You can
easily "setenv foo bar" between those two commands for any custom
overrides. You could even push a file into some known RAM location and
run "env import" on it too...

* Reboot into the newly-flashed U-Boot.

The code is at:
https://github.com/NVIDIA/tegra-uboot-flasher-scripts


More information about the U-Boot mailing list