Execute chroot_hacks in live layer only.

As discussed and explained to Jibel and Didier on 17th of June, based
on canary image build logs, it showed clearly that lb controlled
initrd was only built once at the very first layer by
chroot_hacks. However, that is the wrong layer to build the final
initrd at, as at this point casper is not present yet and is not part
of the build.

Thus insure that chroot_hacks only runs at the live layer.

Ideally a subset of chroot_hacks should run on every layer, as each
layer should be squeaky clean, and most of layers without
initrds. However, jibel & didrocks are still implementing requested
patches to unbreak layer images and make each layer smaller. Hence
this minimal portion of the overall required work.

Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
This commit is contained in:
Dimitri John Ledkov 2019-09-11 14:35:52 +01:00
parent 6f0a14d1cd
commit b9f9dc1ca5

View File

@ -239,7 +239,9 @@ create_chroot_pass () {
# layered mode is to create an initrd on each layer with a significant
# impact on image size (+30MB per layer). This is an issue even with
# update-initramfs disabled.
lb chroot_hacks ${*}
if $(is_live_layer $pass); then
lb chroot_hacks ${*}
fi
lb chroot_interactive ${*}