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: