Re: An inconsistent behaviour if using built-in initramfs and damaged external one

From: Henrique de Moraes Holschuh
Date: Mon Jun 12 2017 - 20:24:58 EST


On Mon, 12 Jun 2017, Henrique de Moraes Holschuh wrote:
> So, you can just have /kernel/x86/microcode/<processor_vendor>.bin
> (without leading /kernel, /kernel/x86, /kernel/x86/microcode) in an
> early initramfs, and it will *work* for early microcode update purposes.

...

> So, if the early initramfs has a/, a/b, and e/f/g/h, the kernel can use
> a/b and e/f/g/h for early initramfs purposes (e.g. microcode updates,
> ACPI table overrides, etc), but only a/ and a/b are likely to be present
> in the final initramfs. e/f/g/h will likely be dropped, because some
> leading path components are missing (e/, e/f, e/f/g)... *unless* they
> were created by a previously-loaded initramfs segment.
>
> I am not aware of anything that makes use of this behavior, but it is
> there since early initramfs images were introduced.

I better clarify this one. I don't know of anything that makes use of
this behavior *with the purpose of dropping uneeded files from the final
initramfs*.

iucode_tool[1] can optionally make use of the exact early initramfs
semanthics to shrink its size to the absolute minimum. That means it
will use the "doesn't require leading directory entries" feature, as
well as a 16-byte block size.

[1] https://gitlab.com/iucode-tool/iucode-tool/wikis/home

--
Henrique Holschuh