Am Fri, 25 Feb 2022 16:09:02 +0530
schrieb vijai kumar <
vijaikumar....@gmail.com>:
> Hi Henning,
>
> On Fri, Feb 25, 2022 at 2:01 PM Henning Schild
> <
henning...@siemens.com> wrote:
> >
> > Am Fri, 18 Feb 2022 15:24:28 +0530
> > schrieb Vijai Kumar K <
Vijaikumar_...@mentor.com>:
> >
> > > There might be cases where in there are some initramfs changes in
> > > postprocess. For example, via the distro config script.
> >
> > Postprocessing is a hack reserved for very few special cases, most
> > of which should read and not write.
> >
> > That smells like you are abusing postprocess, and whatever you do
> > there might also break kernel updates with "apt-get".
> >
> > Please give us the example, i bet it can be moved out of postprocess
> > into a much more sustainable place (like a package).
> >
> > With no good example, NACK from me.
>
> Thank you for the quick review comments. Let me try to provide more
> information.
>
> Postprocess abuse has always been a concern, we have ways to inject
> stuff and we also have undocumented rules on
> what should or should not be done as part of certain tasks.
> We could capture it. Happy to do that.
>
> The end user accidentally steps over this and something breaks.
>
> The original issue was that plymouth theme was changed at a later
> stage. The issue was fixed by having it not done as part of
> postprocess.
Sound like a feature that helped you fix a problem in a better way, and
not postprocess.
> We have an option to pass a custom distro configuration script. It is
> run as part of postprocess[1].
> At best the user could run plymouth-set-default-theme[2] as part of
> this script that changes the initramfs during postprocess.
These config scripts deserve to go away entirely, and postproc deserves
to run on ro-mounted rootfs per default. IMHO ...
This would make very clear to anyone that messing around there is not
an interface to extend or hook into.
> We could not completely rule out modifications in postprocess. And the
> rootfs is not complete till rootfs_finalize where we remove the
> ability to chroot.
> Changes could even then be injected, but that does not happen that
> often and the user needs to create a task or append one to do that.
> Not as simple as a variable append.
Isar can rule things out by more strict enforcement and reducing abuse
potential. Any downstream can only rule it out with code reviews and
dedication to avoiding hacks.
> We should take the images from a finalized rootfs, and then deploy it,
> so that the images in both deploy and rootfs are the same no matter
> whether we use it or not.
if you mean the kernel and initrd image, yes, or not store a copy at
all when wic is the only imagetype
Which means your downstream wic plugin needs fixing for sure.
I have no clue how that 2 works internally, but let me guess that it
writes a config file or snippet somewhere in etc. So all you need is a
packages which depends on plymouth and which either places some files
or just calls the tool in postinst while not containing anything really.
Or you drop config bits before installing plymouth and its postinst
will take care.
> > > In such a scenario we would have an outdated initramfs file in
> > > deploy directory. Certain downstream Wic plugins directly consume
> > > the image from deploy directory. It then uses the outdated
> > > initramfs for creating the wic image.
> >
> > Maybe those downstream wic plugins deserve fixing as well, take the
> > initrd and kernel out of root/boot.
> >
> > For image type wic there should in fact be no reason to copy the
> > boot files to deploy. That is something for ext4 and others going
> > to "qemu --kernel ..."
>
> Maybe, but ideally deploy should have the final kernel and initrd
> shipped, no matter whether its a wic image or ext4img.
> We could have a scenario where we build multiple image types, both
> ends up with different initramfs because we used the file from
> different places(IMAGE_ROOTFS/DEPLOY_DIR)
If you do not postprocess mess around, they will always be the same.
And i would even assume that they could very well differ depedning on
image type (at least initrd) but also kernel.
> I hope this gives some justification to the patch?
Afraid not, it caters for more hacks when applied. And it not being
applied helped you find a proper solution for your plymouth problem.
Or maybe i still do not get it.
I am tempted to write a patch that will warn if any file has a more
recent mtime/ctime than "end of install". I guess the only one should
be "/etc/os-release" in plain Isar. Maybe that would be a good hack
indicator instead. If you agree maybe you want to write such a patch.
Henning