686 Commits

Author SHA1 Message Date
Dimitri John Ledkov
109e6c6613
auto/build: use setup|teardown_mountpoint to reduce duplication 2020-07-24 20:59:57 +01:00
Robert C Jennings
84397b5098
Avoid rbind /sys for chroot snap pre-seeding (cgroups fail to unmount)
Builds in LP with the Xenial kernel were happy with the recursive mount of
/sys inside the chroot while performing snap-preseeding but autopkgtests
with the groovy kernel failed.  With the groovy kernel the build was
unable to unmount sys/kernel/slab/*/cgroup/* (Operation not permitted).

This patch mounts /sys and /sys/kernel/security in the chroot in the
same way we've added for binary hooks.  This provides the paths under
/sys needed for snap-preseed while avoiding issues unmounting other
paths.
2020-07-18 16:52:18 -05:00
Dimitri John Ledkov
31861fd40d
seccomp: mount more up-to-date seccomp features 2020-07-18 00:24:16 +01:00
Dimitri John Ledkov
a14a31b751
apparmor: mount more up-to-date apparmor features in the chroot. 2020-07-18 00:20:41 +01:00
Robert C Jennings
1ca11c9795
Apply snap-preseed optimizations after seeding snaps
The snap-preseed command can do a number of things during the build
that are currently performed at first boot (apparmor profiles, systemd
unit generation, etc).  This patch adds a call to reset the seeding and
apply these optimizations when adding a seeded snap.  As a prerequisite
to calling snap-preseed we need to make /dev/mem available as well as
mounts from the host to perform this work, so those are also added here.
2020-07-17 21:17:33 +01:00
David Krauser
4c504f6781 Fix broken minimal cloud image boot on amd64
I recently pulled initramfs logic out of the base build hook, and
dropped that into the `replace_kernel` function. Any cloud image that
does not leverage the generic virtual kernel was expected to call
`replace_kernel` to pull in a custom kernel. That function will
disable initramfs boot for images that use a custom kernel.

Minimal cloud images on amd64 use the linux-kvm kernel, but the build
hook does not utilize the `replace_kernel` function. Instead, the
kernel flavor is set in `auto/config`. I pulled that logic out of
`auto/config` and am now calling `replace_kernel` in the build hook.

I also moved a call to generate the package list so that it will pick
up the change to the linux-kvm kernel.
2020-07-16 17:25:46 -04:00
Balint Reczey
f96e874ed1 Remove fstab from squashfs images
The default fstab is not valid, since squashfs does not support labels.

LP: #1877078
2020-06-16 22:14:59 +02:00
Łukasz 'sil2100' Zemczak
40103430d8 Enable overrides of UC20 grade dangerous channels 2020-05-25 19:11:22 +02:00
Dimitri John Ledkov
b9177cfd59 Fixup indentation
Signed-off-by: Dimitri John Ledkov <xnox@ubuntu.com>
2020-05-07 15:09:57 +01:00
Dimitri John Ledkov
6e8b5b94c4 ubuntu-image: fix focal+ pi images for armhf to use pi-armhf model name.
LP: #1876358
2020-05-01 19:50:41 +01:00
Dimitri John Ledkov
668898d92c Bump only the UC20 pc image to 8GB, and keep Pi images as small as possible.
LP: #1875430
2020-05-01 19:43:30 +01:00
Dimitri John Ledkov
56ac1865f7 Switch Ubuntu desktop to only hwe-20.04 kernel flavour. 2020-04-16 01:30:31 +01:00
Łukasz 'sil2100' Zemczak
d2a2ac41a4 Use the raspi KERNEL_FLAVOUR for the raspi images. 2020-04-08 10:06:09 +02:00
Dimitri John Ledkov
cb574d4cb3 minimized: reinstall packages one by one, instead of all of them together, as otherwise apt fails to immediately configure libc6:amd64 & libgcc-s1. LP: #1867607 2020-03-16 10:42:30 +00:00
Dimitri John Ledkov
910310dbbb Only install oem-20.04 kernel flavour on amd64, as it doesn't exist on other arches. 2020-03-13 20:18:16 +00:00
Łukasz 'sil2100' Zemczak
40c51f78b8 Switch to using the generic pi gadget repo for classic, use the main branches. 2020-03-06 11:57:47 +01:00
Łukasz 'sil2100' Zemczak
95772fd9df Merge branch 'ubuntu/master' of git+ssh://git.launchpad.net/livecd-rootfs into u-i-disk-info 2020-03-06 11:38:42 +01:00
Łukasz 'sil2100' Zemczak
e9170e053b Rename the raspi3 SUBARCH to raspi 2020-02-21 12:46:43 +01:00
Dimitri John Ledkov
17dc48cf65 Set uc20 image size to 10G. 2020-02-10 12:43:39 +00:00
Dimitri John Ledkov
438606c5e8 Encode CHANNEL specification in the UC20 model names. 2020-02-07 22:18:04 +00:00
Dimitri John Ledkov
db0c7d68f2 Although the request flavour to install is oem-20.04, it really is called just oem on disk. Override the flavour name from oem-20.04 to oem when renaming built artefacts. This also means that ubuntu-cdimage needs to simply download 'oem' vmlinuz+initrd pairs, not 'oem-20.04'. 2020-01-30 11:13:51 +00:00
Dimitri John Ledkov
f6ca600af2 Install oem-20.04 kernel flavour on Ubuntu Desktop builds. 2020-01-28 15:05:36 +00:00
Łukasz 'sil2100' Zemczak
2870738f00 Merge the manually-pushed 2.636 from Laney. 2020-01-24 18:47:22 +01:00
Łukasz 'sil2100' Zemczak
2ca3cc9720 Use the datestamp parameter (stored in NOW) instead of the newly added BUILD_ID. 2020-01-16 18:55:24 +01:00
Łukasz 'sil2100' Zemczak
fc6d956269 Support generating a .disk/info file via ubuntu-image if BUILD_ID is passed from cdimage to the builder. 2019-12-13 18:13:36 +01:00
Michael Hudson-Doyle
f27b432026 ubuntu-cpc hooks are Different 2019-12-13 13:16:34 +13:00
Michael Hudson-Doyle
fb31b64a7c preserve apt preferences for all projects 2019-12-13 13:16:34 +13:00
Michael Hudson-Doyle
d38ceab06d fix in case of no preferences 2019-12-13 13:16:34 +13:00
Michael Hudson-Doyle
94c2d606ca 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-13 13:16:33 +13:00
Łukasz 'sil2100' Zemczak
474f232840 Snapd for uc20 model assertions does not support global channel overrides. 2019-12-12 16:58:42 +01:00
Łukasz 'sil2100' Zemczak
a1daf38b93 Add support for Ubuntu Core 20 builds by supporting uc20 models. 2019-12-10 15:27:06 +01:00
Dimitri John Ledkov
3551fc1a02 Ship two kernel flavours on desktop image. 2019-12-09 14:47:08 +00:00
Dimitri John Ledkov
39f675eaf6 Drop installing dummy transitional linux-signed-generic, these days linux-generic is always signed, on arches that need/support it. 2019-12-09 14:21:49 +00:00
David Krauser
52a3471922 Add hooks to build bootable buildd images.
Only install policyrcd-script-zg2 in lxd tarball.
2019-11-07 13:55:37 -05:00
Łukasz 'sil2100' Zemczak
ac40cadf08 Support fetching classic gadget trees from a non-github-mirrored launchpad repo. 2019-10-30 14:09:23 +01:00
Łukasz 'sil2100' Zemczak
2896d39a7a Make sure the imx6 subarch uses the ubuntu-image imageformat. 2019-10-29 12:33:20 +01:00
Adam Conrad
7c85d91d41 Limit the lxd group to images with an installer; it's less appropriate for random tarball images, which are configured in ways we don't know. 2019-10-13 23:16:48 -06:00
Michael Hudson-Doyle
c89806ba4d Do not create a hook manually for ubuntu-cpc builds, make-hooks does not like that. 2019-10-09 14:34:08 +13:00
Michael Hudson-Doyle
4788e90315 Create the lxd group as a system group for all projects. (LP: #1844498) 2019-10-09 10:12:32 +13:00
Robert C Jennings
8cb442c3e8
magic-proxy: dump proxy log to stdout on failure
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-04 10:28:02 -05:00
Łukasz 'sil2100' Zemczak
1f8f86c17c Final fix to 999-ubuntu-image-customization.chroot, tested to be working. 2019-09-19 14:03:14 +02:00
Łukasz 'sil2100' Zemczak
6cd2343bea Fix the styling to fit the rest a bit better. 2019-09-16 14:55:32 +02:00
Łukasz 'sil2100' Zemczak
c7f3374f9f Final changes to the 999-ubuntu-image-customization.chroot hook. 2019-09-16 14:46:04 +02:00
Łukasz 'sil2100' Zemczak
c3002a563a Merge branch 'u-i-cloud-init' of git+ssh://git.launchpad.net/livecd-rootfs into ubuntu/master 2019-09-10 10:46:12 +02:00
Łukasz 'sil2100' Zemczak
d7c4bb4d85 Do not initialize EXTRA_SNAPS with an empty value. Allow overrides via the environment. 2019-09-06 12:09:08 +02:00
Łukasz 'sil2100' Zemczak
006ed85460 Add support for the Nitrogen6x board. 2019-09-05 17:31:51 +02:00
Colin Watson
dc61b17db3 Use iptables-legacy on older kernel versions
Use iptables-legacy rather than iptables when running on older
(pre-4.15) kernel versions.  The newer nf_tables-based tools misbehave
at least on 4.4.
2019-09-03 15:23:06 +01:00
Iain Lane
b68a5abf65
snap seeding: Defer validation for regular image builds
When getting the list of snaps to include on an image via germinate, we
process the snaps in alphabetical order. Currently we seed several
packages `gnome-foo` and also `gtk-common-themes`, the default provider
of `gtk-3-themes`. Since `gtk-common-themes` is alphabetically after
`gnome-foo`, the `seed.yaml` we generate is invalid when we are part way
through generating.

What we really care about, though, is not that the `seed.yaml` is always
valid at every step, but it is that it is valid at the *end* of seeding.
So for the germinate case, let's defer validation to happen once at the
end. Other callsites of `snap_preseed`, where callers are careful to
seed snaps in the right order, are unaffected by this.
2019-09-02 12:56:00 +01:00
Colin Watson
9a65a4013d Undivert update-initramfs more carefully
Previously the wrapper script and diversion were left in place on images
such as buildd images that don't have initramfs-tools installed.

LP: #1841573
2019-08-27 12:45:57 +01:00
Łukasz 'sil2100' Zemczak
f6cbbf01e1 Add a new u-i specific chroot hook, move the NoCloud system-boot cloud-init datasource configuration there to make sure all u-i built ship with it. 2019-08-08 12:22:33 +02:00