On Jan 6, 2016, at 9:10 AM, Vagrant Cascadian <vagr...@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