
On Sun, Sep 18, 2016 at 03:14:30PM +0200, Marek Vasut wrote:
On 09/17/2016 05:42 AM, Jonathan Gray wrote:
On Fri, Sep 16, 2016 at 10:21:43PM +0100, Paul Burton wrote:
Commit bac17b78dace ("image-fit: switch ENOLINK to ENOENT") changed fit_get_node_from_config to return -ENOENT when a property doesn't exist, but didn't change any of its callers which check return values. Notably it didn't change boot_get_ramdisk, which leads to U-Boot failing to boot FIT images which don't include ramdisks with the following message:
Ramdisk image is corrupt or invalid
The offending commit seems to dislike ENOLINK due to it not existing on OpenBSD, but I'm not sure why that matters as we define it in include/asm-generic/errno.h anyway so simply revert the commit to fix FIT image handling.
That header is not used when building native tools. So reverting it will break the build of u-boot on OpenBSD.
WRAP tools/common/image-fit.c HOSTCC tools/common/image-fit.o In file included from tools/common/image-fit.c:1: /usr/users/jsg/src/u-boot/tools/../common/image-fit.c: In function 'fit_get_node_from_config': /usr/users/jsg/src/u-boot/tools/../common/image-fit.c:1569: error: 'ENOLINK' undeclared (first use in this function) /usr/users/jsg/src/u-boot/tools/../common/image-fit.c:1569: error: (Each undeclared identifier is reported only once /usr/users/jsg/src/u-boot/tools/../common/image-fit.c:1569: error: for each function it appears in.)
I seriously do not care if it's broken on OpenBSD if there is about one user of such system. The problem is the original patch broke booting of fitImage-wrapped kernels and this is serious breakage which makes 2016.09 release effectively useless.
So in your view uboot should remove support for hardware you don't have and booting methods you don't use and not strive to remove the use of non-portable interfaces?
Not having to deal with wrapped kernels with the efi interface present in uboot >= 2016.05 and being able to have entry points for basic things like character io and reading blocks off disks is what made uboot actually useable for many people that previously had to deal with the largely unmaintained api interface.
I do support this revert and we will likely need v2016.09.1 unfortunately.