[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: sheeveplug u-boot environment



On Jan 6, 2016, at 9:10 AM, Vagrant Cascadian <vagrant@debian.org> wrote:

>> So I guess it’s all explained by https://bugs.debian.org/781874 .
> 
> I really don't understand the logic outlined in that bug report, and
> your results don't exactly come to the same conclusion, which is why
> I've never "fixed" it.

Well, I’m no expert, but as I understand it this is what’s happened:

The u-boot binary has grown so big that it overlaps the area where it traditionally stored the environment strings.
So it now puts its environment at 0x80000, instead of 0x60000; the FLASH erase pages are 0x20000 (128KiB) long and the flash-write process requires that things start at erase page boundaries — hence 0x80000 rather than 0x70000.
Now, fw_printenv (and its cousins) need to know about this change.
The way the developers have chosen to configure that information is by putting it in /etc/fw_env.config .
Those numbers are device specific, so what goes there depends on what type of machine you have — and possibly what version of u-boot you have.
However, the u-boot-tools package can’t (or simply choses not to) automatically figure out what your hardware (SheevaPlug, CuBox-i4, whatever) and put the right values in /etc/fw_env.config.
Instead it leaves this up to the user by putting a bunch of options in /usr/share/doc/u-boot-tools/examples and telling the user to pick the one she needs and copy it to /etc/

Unfortunately, the values in /usr/share/doc/u-boot-tools/examples/sheevaplug.config (at least, possibly others as well) are out of date and need to be updated.

At a minimum, the patch in bug#781874 needs to be applied in order to be compatible with modern version of u-boot.

But the problem is, doing this breaks machines with older version of u-boot firmware, so if you have a stock fresh-out-of-the-box SheevaPlug, the first thing you need to do is update your u-boot firmware! So it’s not as easy as it sounds.  

Would it be OK if I put all this analysis in a wishlist bugreport requesting that the debian u-boot-tools package figure this out at installation time and do the right thing, so the user doesn’t have to?

Thanks for all the help!
Rick



Reply to: