The addition of disk-image to series files in a prior commit required
some explanation. Without comment support in series files that was
not possible. This patch adds support for comments and adds those
comments as well.
The following targets have livecd.ubuntu-cpc.manifest (and
livecd.ubuntu-cpc.ext4) which differ in some way from the 'all'
target. They are all missing grub-efi and other modifications:
root-dir
squashfs
tarball
These targets do not depend on the 'disk-image' target. This means that
the ext4 produced will lack the uefi modifications (and any from the
disk-image target binary hooks).
Since the ext4 file is common to all builds there is a chance that a
parallel build from one of these targets could overwrite this artifact.
This patch ensures that all targets will produce consistent base output.
commit a993592 introduced an additional call to create_manifest
(and snap-seed-parse) to write binary/boot/filesystem.packages. This
caused duplicate snap lines in the qcow manifest. This is because the
live-build/auto/binary code assumes that after 'lb binary' is run the
filesystem.packages will only have debs and it calls snap-seed-parse to
add them to the file. The commit changed filesystem.packages in the
ubuntu-cpc uefi binary hook to include debs and snaps.
This patch keeps the intent of the prior patch, updating the
filesystem.packages file for the content of the uefi disk image, but
only writes a listing of debian packages to match the expected content
of filesystem.packages. The snaps will still be added in generic code
in live-build/auto/build.
This patch currently only applies to the "ubuntu-cpc" project.
More and more logic has been going into the hook scripts to decide under which conditions they should run or not. As we are moving to parallelized builds of image sets, this will get even more complicated. Base hooks will have to know which image sets they belong to and modification of the dependency chain between scripts will become more complicated and prone to errors, as the number of image sets grows.
This patch introduces explicit ordering and dependency handling for scripts through the use of `series` files and an explicit syntax for dependency specification.
2.02+dfsg1-5ubuntu5 grub will automatically fall back to booting with an
initrd if one is available, so we can now always attempt initramfsless
boot for cloud images which almost always works and causes only minimal
increase in boot speed for cases where it does not.
don't want installed by default. Some are tools that aren't needed for
non-interactive use; some are libraries whose reverse-dependencies
will have already been removed; and one, open-vm-tools, should only be
included in images that are targeted to VMWare (which is not the case
for any of the current minimal images), rather than being included
directly in the cloud-image seed.
Kernels which are able to boot without initramfs now dropped dependency
on initramfs-tools thus initramfs-tools can be removed from the image
instead of having to divert it to avoid initramfs generation.
- Usually, netplan's systemd-generator enables systemd-networkd and
systemd-networkd-wait-online on boot. But netplan configuration is not
yet generated at that point by cloud-init. Cloud-init generates in the
network-pre.target and expects the network.target /
network-online.target to work. These are already part of the ongoing
systemd transaction, thus cannot be injected into the boot-sequency by
cloud-init local mode. Therefore make sure cloud images include
networkd in the initial boot transaction.
- src:systemd will shortly not enable networkd unconditionally by
default.
* Drop ifupdown e-n-i configuration files, no longer used.
* live-build/ubuntu-cpc/functions: Add a function, teardown_mountpoint,
to reverse the work done in setup_mountpoint. Lack of this function
has forced users of setup_mountpoint to implement this separately
and the implementations have diverged. (LP: #1716992)
* live-build/ubuntu-cpc/functions: Remove umount_settle function.
The was only used where teardown_mountpoint was lacking.
we don't have to leave empty space in our derivative images for packages
that have been downloaded/installed/removed. This normally isn't
relevant for the installed system, since the root filesystem will
auto-expand in place on the target disk, but lets us ship smaller
images.
* live-build/functions: also call 'apt-get update' after mounting the
blank /var/lib/apt.
This branch changes the behavior for default users on the vagrant image,
according to much of https://www.vagrantup.com/docs/boxes/base.html
Specifically, this adds a new "vagrant" user with a know password on top
of the already existing ubuntu user.
This conforms to the expectations of the Vagrant community, despite some
security concerns. Vagrant images are not used for production systems but
for development environments, and the absence of the "standard" vagrant user
has been hurting ubuntu adoption on that platform.
Test showed very little difference in file-size between -0 and -9 while
both compression and decompression need much less memory and compression
needs less CPU time for -0.
Supported xz versions before 5.2 also accept the -T4 option but ignore it.
Also depend on xz-utils instead of on pxz.
LP: #1701132