On Tue, Feb 12, 2019 at 2:12 PM David Engraf <david.eng...@sysgo.com> wrote: > On 12.02.19 at 11:43, Andy Shevchenko wrote: > > On Mon, Feb 11, 2019 at 2:40 PM David Engraf <david.eng...@sysgo.com> wrote: > >> On 11.02.19 at 12:40, Andy Shevchenko wrote:
> >> Ok got it. When the memory behind the actual file size is clear (0x0) > >> the decompression doesn't complain and just ignores the padding. Any > >> other data will be interpreted as a new archive and thus you'll see the > >> error message. > > > > Correct. > > > >> Is it possible for you to fill the padding after the actual file size > >> with 0x00 ? > > > > Not sure. This is boot loader realm. Even if I patch U-Boot, not every > > boot loader will guarantee this. > > So, it's fragile to rely on data being 0x00 after actual archive. > > The problem is that the kernel expects another archive if there are data > left. If these data do not contain a valid magic the kernel prints an > error message which is correct. Agree. > I could make this error not critical and keep the rootfs, but it's still > an error and unexpected. I would rather call it a warning and continue. Perhaps something like static void warning(const char *msg) { ...print warning... return without assigning return value. } > You're using a modified bootloader which > reports a size larger than the file itself. This is not true. The size supplied by whatever user input through it command line or configuration. > Other bootloader will use > the file size and report the correct size to the kernel. This follows and thus not true either. It depends on boot loader completely. > So this > workaround is required by your setup only. So this is not true. > @Andrew: What do you think about that? Shall I create a workaround for > the special case? -- With Best Regards, Andy Shevchenko