Messages in this thread | | | From | Andy Shevchenko <> | Date | Tue, 12 Feb 2019 15:50:03 +0200 | Subject | Re: [PATCH RESEND] initramfs: cleanup incomplete rootfs |
| |
On Tue, Feb 12, 2019 at 2:12 PM David Engraf <david.engraf@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.engraf@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
| |