mirror of
https://git.launchpad.net/livecd-rootfs
synced 2025-02-23 03:11:12 +00:00
Fix grub divert for multilayer images
grub-probe must not be called during image build so grub is diverted. In multilayer image the chroot is always the tip of the filesystem, so we divert grub at the beginning of each pass and undivdert it as the end. For flat images, it's diverted just before building the chroot and undiverted after.
This commit is contained in:
parent
41c342ebe2
commit
38bb0b3301
@ -261,14 +261,14 @@ EOF
|
||||
chmod +x chroot/usr/bin/man
|
||||
fi
|
||||
|
||||
divert_grub chroot
|
||||
if [ -n "${PASSES}" ]; then
|
||||
PATH="config/:$PATH" lb chroot_layered "$@"
|
||||
else
|
||||
divert_grub chroot
|
||||
divert_update_initramfs
|
||||
lb chroot "$@"
|
||||
undivert_grub chroot
|
||||
fi
|
||||
undivert_grub chroot
|
||||
|
||||
# Let all configuration non multi-layered project here.
|
||||
# If those are moving to a multi-layer layout, this needs to be
|
||||
|
@ -175,6 +175,10 @@ create_chroot_pass () {
|
||||
lb chroot_devpts install ${*}
|
||||
lb chroot_proc install ${*}
|
||||
lb chroot_sysfs install ${*}
|
||||
|
||||
# grub-probe should not be called as part of an image build so divert it
|
||||
divert_grub chroot
|
||||
|
||||
# We run chroot_hacks only on root layers (update-initramfs diverted)
|
||||
if $(is_root_layer $pass); then
|
||||
divert_update_initramfs
|
||||
@ -245,6 +249,9 @@ create_chroot_pass () {
|
||||
|
||||
Chroot chroot "dpkg-query -W" > chroot.packages.${pass}
|
||||
|
||||
# Restore grub
|
||||
undivert_grub chroot
|
||||
|
||||
# Deconfiguring chroot
|
||||
if $(is_root_layer $pass); then
|
||||
lb chroot_archives chroot remove ${*}
|
||||
|
Loading…
x
Reference in New Issue
Block a user