grub should be pre-installed on images

Bug #1831631 reported by Dimitri John Ledkov
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
livecd-rootfs (Ubuntu)
New
Undecided
Unassigned

Bug Description

given that grub are now co-installable by default, shouldn't they be preinstalled in the squashfs?

it seems like grub-efi-amd64-bin & signed are not in the squashfs.

I guess that affects all of ubiquity & subiquity images.

Revision history for this message
Steve Langasek (vorlon) wrote :

Pros:
 - installing them in the squashfs is faster than installing them at build time
 - if we believe they should always be installed, it simplifies the installer logic
   - except that we're also converging on a single installer code base, so it doesn't simplify things too much to have it in livecd-rootfs instead of in curtin (and curtin still has to trigger grub-install to the target disks, either by replaying the package postinsts on the target or by manually calling grub-install)

Cons:
 - this moves us farther away from being able to converge the server squashfs as used by subiquity with the lxd squashfs published by cloud images. (we don't currently have a path forward for how to build this once and consume it in both places, but nevertheless I don't like that we currently build it twice.)

Revision history for this message
Michael Hudson-Doyle (mwhudson) wrote : Re: [Bug 1831631] Re: grub should be pre-installed on images

On Tue, 4 Jun 2019 at 17:25, Steve Langasek <email address hidden>
wrote:

> Pros:
> - installing them in the squashfs is faster than installing them at build
> time
> - if we believe they should always be installed, it simplifies the
> installer logic
> - except that we're also converging on a single installer code base, so
> it doesn't simplify things too much to have it in livecd-rootfs instead of
> in curtin (and curtin still has to trigger grub-install to the target
> disks, either by replaying the package postinsts on the target or by
> manually calling grub-install)
>
> Cons:
> - this moves us farther away from being able to converge the server
> squashfs as used by subiquity with the lxd squashfs published by cloud
> images. (we don't currently have a path forward for how to build this once
> and consume it in both places, but nevertheless I don't like that we
> currently build it twice.)
>

I guess we could approach this with layers / seeds? So you'd have one layer
("server-core" "server-base" "server-container"? all the names you might
use for this are horribly overloaded) that would be the lxd image, and
another layer ("server-machine"?) that would contain things you need for
installing a bootable system, so grub-pc, grub-efi-amd64-bin on amd64,
maybe initramfs stuff and subiquity would install from the server-machine
layer by default.

Revision history for this message
Steve Langasek (vorlon) wrote :

Yeah, I suppose we can get away with quite a lot of that. The fixed per-layer disk overhead of each squashfs looks like it's on the order of 4M (/var/lib/dpkg/status + /var/lib/apt/extended_states), which is not large in the grand scheme. And since we know this layer would be used unconditionally for all subiquity install methods it would not make it harder for us to ensure everything remained a tree.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.