820 Commits

Author SHA1 Message Date
Gauthier Jolly
eef7feef4a
ubuntu-cpc: secure esp mountpoint (LP: #1881006)
Change mount option for ubuntu-cpc images from "defaults" to
"umask=0077". ESP partitions might contain sensitive data and
non-root users shouldn't have read access on it.
2021-03-18 10:19:02 +00:00
Dimitri John Ledkov
bf6e4d35a3
Revert "esp: install grub in ubuntu bootloader id path, instead of removable."
This reverts commit 8e9925729534fffa7b8fb1a30a2f4527b00e850e.
2021-02-10 12:59:36 +00:00
Dimitri John Ledkov
6832b6bda4
functions: stop removing systemd-detect-virt unconditionally in undivert_grub
One can call divert_grub; replace_kernel; undivert_grub. And
replace_kernel will call into force_boot_without_initramfs, which
under certain conditions can call divert_grub &
undivert_grub. Resulting in undivert_grub called twice in a row.

When undivert_grub is called twice in a row it wipes
systemd-detect-virt binary from disk, as the rm call is unguarded to
check that there is something to divert if systemd package is
installed. And if the systemd package is not installed, it does not
check that systemd-detect-virt file is in-fact what divert_grub has
created.

Add a guard to check that systemd-detect-virt is the placeholder one,
before removing it.

LP: #1902260
(cherry picked from commit 096a00f40459187719840ccad99e86c7ade2ec12)
2021-02-09 01:17:35 +00:00
Dimitri John Ledkov
d2e70ab48e
Perform fsck on all rootfs.
LP: #1912835
(cherry picked from commit 33b7272a2331279b4c7aa8de73ed8a9069d0bd39)
2021-02-09 01:17:12 +00:00
Dimitri John Ledkov
ef43f0cf21
esp: perform fsck.
LP: #1912835
(cherry picked from commit 53b28d5f58284657ee8efd08a633d557af1fcd97)
2021-02-09 01:16:40 +00:00
Dimitri John Ledkov
8e99257295
esp: install grub in ubuntu bootloader id path, instead of removable.
Do not use removable uefi bootloader path in the cloud-images by
default, as that prevents upgrades of the bootloader.

LP: #1912830
(cherry picked from commit 7c760864fdcb278ca37396f06f5e3f297428d63d)
2021-02-09 01:16:33 +00:00
David Krauser
c1a71f933b Produce buildd kernel and initrd as separate artifacts
Multipass on Mac OS X requires standalone kernel and initrd artifacts
to boot.

Also call update-initramfs on all installed kernels. We only have one
kernel installed, so we don't need to specify an explicit version.
2021-01-08 14:58:25 -05:00
Joshua Powers
a9249b1773
amd64: revert all grub changes for xenial
For LP: #1901906, on other releases we ensured that grub-pc is always
installed with shim-signed. However, xenial has different behavior that
does not work the same. This reverts those changes back to what
livecd-rootfs was before any of those changes were made, keeping only
the autoremove packages work.

LP: #1901906
2020-12-04 13:26:52 -08:00
Joshua Powers
e196306173
amd64: always install grub-efi-amd64-signed
shim-signed does not depend on grub-efi-amd64-signed in Xenial.
Historically, Xenial did not always ship with signatures. This is
different than LTSes after Xenial where this is the case. A future SRU
for grub should change this, but for now ensure to install the signed
package so that secure boot systems can actually boot.

LP: #1901906
2020-12-02 10:44:22 -08:00
Robert C Jennings
18844ea566
Merge xenial-open-vm-tools-update into ubuntu/xenial [a=jchittum] [r=]
Backport vmtools version in vmdk (LP: #1893898)

Backport
LP: #1893898 describes missing vmtools version from the vmdk headers.
The version should be added as ddb.toolsVersion = "2147483647" however
the sed was no longer replacing a ddb.comment field with the tools
version. Rather than subbing ddb.comment with toolsVersion, this commit
deletes ddb.comment (which the comment mentions could cause errors),
and adds the correct value. There was no visibility into the descriptor
during hook creation, so debug statements were added. This allows us to
quickly verify in the logs that bad statements are removed (the possibly
offending comments), as well as ensuring that the toolsVersion is added

MP: https://code.launchpad.net/~jchittum/livecd-rootfs/+git/livecd-rootfs/+merge/394145
2020-11-20 15:54:37 -06:00
Robert C Jennings
98238df82a
Merge xenial-sru-grub into ubuntu/xenial [a=powersj] [r=patviafore,rcj]
SRU always install grub-pc with shim-signed (LP: #1901906), and ensure to autoremove packages

MP: https://code.launchpad.net/~powersj/livecd-rootfs/+git/livecd-rootfs-1/+merge/393733
2020-11-20 15:26:53 -06:00
Robert C Jennings
4144105767
Merge vagrant_40_gb_xenial into ubuntu/xenial [a=patviafore] [r=rcj]
Make Ubuntu Vagrant box 40G. (LP: #1580596)

Vagrant images were previously put at 10G, but this was a regression
from Trusty, in which they were 40G. This made it a tough sell for
users to upgrade if they were using a Ubuntu desktop experience.

This change does not impact disk usage as Vagrant with the virtualbox
provider dynamically allocates space with the VMDK. On a test system,
the VMDK took up 1.1G of disk space according to df, and after
creating a 2G file in Vagrant, the VMDK grew to 3.1G.

Therefore, users who are running on a system with little free space will
not see adverse effects if they upgrade to a new vagrant image

MP: https://code.launchpad.net/~patviafore/livecd-rootfs/+git/livecd-rootfs/+merge/384636
2020-11-20 15:25:51 -06:00
Cody Shepherd
695b4de393
Omit file type exensions in manifest names 2020-11-20 12:41:32 -08:00
Cody Shepherd
c5102d998e
Create manifests for buildd tarballs 2020-11-20 07:52:21 -08:00
John Chittum
242508908a
re-add sed command
Older version of vmdk-stream-converter has an incorrect header. The
original sed command replaced the incorrect "Description File" comment
with the correct "Disk DescriptorFile".
2020-11-18 11:37:04 -06:00
John Chittum
58f9e413ba
Backport vmtools version in vmdk (LP: #1893898)
Backport
LP: #1893898 describes missing vmtools version from the vmdk headers.
The version should be added as ddb.toolsVersion = "2147483647" however
the sed was no longer replacing a ddb.comment field with the tools
version. Rather than subbing ddb.comment with toolsVersion, this commit
deletes ddb.comment (which the comment mentions could cause errors),
and adds the correct value. There was no visibility into the descriptor
during hook creation, so debug statements were added. This allows us to
quickly verify in the logs that bad statements are removed (the possibly
offending comments), as well as ensuring that the toolsVersion is added
2020-11-16 11:18:59 -06:00
Joshua Powers
370db20757
amd64: always install grub-pc with shim-signed
shim-signed depends on grub-efi-amd64-signed, which in turn has
alternative depends on either `grub-efi-amd64 | grub-pc`. However to
support booting with either via shim&signed-grub and BIOS, the choice
must be made to install grub-pc, not grub-efi-amd64.

This makes images consistent with Ubuntu Deskop, Live Server, buildd
bootable images; all of which already do install grub-pc and
shim-signed.

Additionally, this will ensure that autoremove is run after installing
anything in the CPC build hooks. This is done to avoid shipping images
that include packages that are autoremovable. This will clean-up as
packages are installed and detect any breakage at build time.

LP: #1901906
2020-11-13 09:19:10 -08:00
Cody Shepherd
aede5df67b
Skip jasper for buildd subproject 2020-10-26 09:40:53 -07:00
Cody Shepherd
bacc18b6b3
Change tar transform target to match changes in bionic+, allowing for
ext4 image format to be built correctly
2020-10-09 09:25:23 -07:00
Cody Shepherd
e1e3fec767
Don't install recommends for bootable buildd image 2020-10-06 10:22:12 -07:00
Cody Shepherd
c9043b2697
Call function to set up resolvconf to enable DNS for buildd 2020-10-06 10:20:46 -07:00
Cody Shepherd
f7512b21a0
Remove bind9 from buildd installed packages 2020-10-06 10:20:46 -07:00
Cody Shepherd
4a9592601d
Disable buildd console output on ttyS0 2020-10-06 10:20:46 -07:00
Cody Shepherd
515bc1430b
Safely set /etc/resolv.conf to an empty file in buildd images.
In the buildd image chroot, /etc/resolv.conf is a symbolic link to
a configuration file in the /run directory. A call to truncate will
modify that file, which we should not do. Instead, we want to remove
the symbolic link and replace it with an empty file.
2020-10-06 10:20:45 -07:00
Cody Shepherd
e23685134e
* Remove explicit install of grub-efi* packages for amd64
* Remove systemd-networkd artifacts from includes.chroot
2020-10-06 10:20:45 -07:00
Cody Shepherd
7981a08c2c
Install packages and perform dist-upgrade necessary for secure xenial
bootable-buildd image
2020-10-06 10:20:44 -07:00
Cody Shepherd
2d9243e499
Fork buildd disk-image-uefi hook from the ubuntu-cpc/base/
disk-image-uefi hook; it was originally a backported fork of the hook
from the ubuntu/focal branch
2020-10-06 10:20:44 -07:00
Cody Shepherd
bd20b4321b
Set ports/archive as appropriate for default mirror 2020-10-06 10:20:43 -07:00
Cody Shepherd
0e66c9e3f0
Set a default archive mirror 2020-10-06 10:20:43 -07:00
Cody Shepherd
e30aefc83b
Only build bootable buildd images for amd64. 2020-10-06 10:20:43 -07:00
Cody Shepherd
9b93c0c613
Properly setup the chroot before using the network in buildd hook. 2020-10-06 10:20:42 -07:00
Cody Shepherd
9b1fe7a820
Fix broken DNS in buildd image builds.
Instead of injecting an empty resolv.conf with an includes.chroot, we'll
inject it in late with a hook. The empty resolv.conf breaks DNS early in
the build, and causes some binary hooks to fail
2020-10-06 10:20:42 -07:00
Cody Shepherd
a29e886fe1
Include empty resolv.conf only in buildd lxd tarballs. 2020-10-06 10:20:41 -07:00
Cody Shepherd
172a7dd55c
Add hooks to build bootable buildd images
Only install policyrd-script-zg2 in lxd tarball
2020-10-06 10:20:41 -07:00
Cody Shepherd
934cb358e1
Enable building buildd artifacts with an ext4 image target 2020-10-06 10:20:32 -07:00
Cody Shepherd
c279a93b1b
Omit --no-install-recommends flag and ubuntu-server from install 2020-09-16 13:00:55 -06:00
Cody Shepherd
78fe4394c1
Install grub-legacy-ec2 for all ubuntu-cpc (LP #1888575) 2020-09-16 11:24:58 -06:00
Pat Viafore
4e18eab233
Make Ubuntu Vagrant box 40G. (LP: #1580596)
Vagrant images were previously put at 10G, but this was a regression
from Trusty, in which they were 40G.  This made it a tough sell for
users to upgrade if they were using a Ubuntu desktop experience.

This change does not impact disk usage as Vagrant with the virtualbox
provider dynamically allocates space with the VMDK.  On a test system,
the VMDK took up 1.1G of disk space according to df, and after
creating a 2G file in Vagrant, the VMDK grew to 3.1G.

Therefore, users who are running on a system with little free space will
not see adverse effects if they upgrade to a new vagrant image
2020-05-26 09:47:05 -05:00
Robert C Jennings
8789997c4b
Backport snap preseed base support (LP: #1874834)
Xenial builds with core18-based snaps pre-seed core snap instead core18
and snapd.  This patch is a backport of snap pre-seeding functionality
that is snap base aware.
2020-04-24 11:31:23 -05:00
Brian Murray
2738ffc1b3 Merge remote-tracking branch 'rcj/feature/snap_cohort_key-xenial' into ubuntu/xenial 2020-03-06 01:23:33 -08:00
Robert C Jennings
ace52c572b
Use a snap cohort key for consistent parallel builds (LP: #1866159) 2020-03-05 08:21:47 +01:00
Michael Hudson-Doyle
d70309b7e0 Preserve apt preferences created by any package we install (i.e. ubuntu-advantage-tools) against live-build's attempt to delete them. (LP: #1855354) 2019-12-19 15:47:26 +13:00
Łukasz 'sil2100' Zemczak
baf2b5bcdd Backport enabling of adding extra snaps to ubuntu-core images via the EXTRA_SNAPS environment 2019-10-30 17:30:10 +01:00
Robert C Jennings
53e8eeaee3
magic-proxy: dump proxy log to stdout on failure (LP: #1847300)
When we encounter a failure in 'lb binary' the launchpad builders can
only surface the build output from stdout.  If the binary hook failure
implicates the archive we can not determine fault without the apt
proxy log.  This patch will dump the proxy log to stdout to aid in
debugging these failures.
2019-10-08 11:02:30 -05:00
Colin Watson
27ef9b07b4 Fix /dev/ptmx rather than excluding makedev
Revert exclusion of makedev from buildd chroots, as it turned out not to
be the problem.  Instead, fix up /dev/ptmx to be a character device node
rather than a symlink to /dev/pts/ptmx, in line with the discussion in
https://bugs.debian.org/817236; I think this is safer than
cherry-picking the fix to debootstrap at this point in a stable release
cycle.

LP: #1844504
2019-09-26 10:32:04 +01:00
Colin Watson
6049019a8b Fix exclusion of makedev from buildd chroots
debootstrap doesn't respect --exclude for "Priority: required" packages,
so we have to purge makedev later.

LP: #1844504
2019-09-24 14:31:40 +01:00
Colin Watson
566b3f3a3e Exclude makedev from buildd chroots
It was historically excluded, and apparently breaks some builds (e.g.
mir).
2019-09-17 13:42:33 +02:00
Robert C Jennings
ae9b91d124
ubuntu-cpc: use sys.exit() rather than quit() 2019-08-30 14:05:09 -05:00
Robert C Jennings
c3d1a92933
ubuntu-cpc: remove unused final.binary hook support
Right now this is a solution looking for a problem as the implementation
no longer relies on it.
2019-08-30 14:05:08 -05:00
Robert C Jennings
8f8ea8922e
ubuntu-cpc: rework image artifact cleanup
The livecd.ubuntu-cpc.ext4 that is present in each build (plus kernel
and initrd) are not renamed from /build/binary/boot/filsystem.ext4
and friends until after the binary hooks are run, so this patch moves
from trying to perform this cleanup in a binary hook.  Now the cleanup
will be run at the end of live-build/binary for the ubuntu-cpc project.
2019-08-30 14:05:08 -05:00