1115 Commits

Author SHA1 Message Date
Iain Lane
139983b8a1
live-build/functions: Seed core again on non-minimized builds
This is apparently still required; without it snapd gives an error
message like:

  stateengine.go:102: state ensure error: devicemgr: cannot proceed without seeding "core"

(cherry picked from commit 7f07cc899192b33c0eded30ffa514a6581df046e)
2019-07-16 11:42:20 +01:00
Michael Vogt
3b3fe0fce8
Run "snap debug validate-seed" to do basic validation of the generated seed.yaml
(cherry picked from commit b208ded59ea9e54ad42bd071a39cebe2e4809aa4)

Signed-off-by: Iain Lane <iain.lane@canonical.com>
2019-07-16 11:42:00 +01:00
Tobias Koch
51ef72e5b9
Backport error-checking on determining snap bases
Bug-Ubuntu: https://bugs.launchpad.net/ubuntu/+source/livecd-rootfs/+bug/1828500

Signed-off-by: Iain Lane <iain.lane@canonical.com>
2019-07-16 11:38:53 +01:00
Tobias Koch
31e4f4fe02 Backport improvements to snap seeding from trunk.
Bug-Ubuntu: https://bugs.launchpad.net/bugs/1831675

Signed-off-by: Steve Langasek <steve.langasek@canonical.com>
2019-06-05 16:37:38 -07:00
Steve Langasek
315516a372 Strip translation files out of the minimal images.
This is another thing that goes unused when there is no human console user
(and we already don't have the locales themselves present on a minimal
image).

Bug-Ubuntu: https://bugs.launchpad.net/bugs/1829333
2019-05-28 08:52:31 -07:00
Robert C Jennings
aa06de9ae1
ubuntu-cpc: Ensure base disk image is the same between all build targets
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.
2019-05-21 15:52:06 -05:00
Robert C Jennings
7da22ddf55
ubuntu-cpc: Allow comments in series files
An upcoming addition of the disk-image target to several series files will
required some explanation.  Without comment support in series files that
is not possible.  This patch adds support for comments in series files.
2019-05-21 15:52:06 -05:00
Robert C Jennings
2742b06211
ubuntu-cpc: parallel builds: apt repo snapshot
* Inject a proxy into the build providing a snapshot view of the package repo.

    When the REPO_SNAPSHOT_STAMP variable is set, the auto/build script will attempt
    to launch a transparent HTTP proxy on port 8080, and insert an iptables rule to
    redirect all outgoing HTTP requests to this proxy.

    The proxy, contained in the `magic-proxy` Python script, examines each request
    and silently overrides those pointing to InRelease files or files that are
    listed in InRelease files. It will instead provide the contents of the requested
    file as it was at REPO_SNAPSHOT_STAMP, by downloading the corresponding asset
    "by hash".
2019-05-21 15:52:06 -05:00
Robert C Jennings
7907544390
ubuntu-cpc: parallel builds: build hooks during config
* Use series files with dependency handling to generate hook symlinks dynamically

    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, and prior, introduce explicit ordering and dependency
    handling for scripts through the use of `series` files and an
    explicit syntax for dependency specification.
2019-05-21 15:52:06 -05:00
Robert C Jennings
3029676441
ubuntu-cpc: parallel builds: Remove old targets
Also fix references to the old file names in the hooks
2019-05-21 15:52:06 -05:00
Robert C Jennings
d154f08e04
ubuntu-cpc: parallel builds: Add hook generation tooling 2019-05-21 15:51:40 -05:00
Robert C Jennings
f2e2efcbbb
ubuntu-cpc: parallel builds: Re-organize hooks 2019-05-21 15:49:33 -05:00
Balint Reczey
1a48706a37 Merge lp:~rbalint/livecd-rootfs -b wsl-bionic 2019-05-17 15:10:54 +02:00
Balint Reczey
df69f3bcd9 Build WSL rootfs tarball
LP: #1827930
2019-05-17 14:55:50 +02:00
Michael Hudson-Doyle
223bf910df Backport two minimizations for the docker images: remove apt lists that are removed downstream anyway, and remove device nodes from the image. (LP: #1828118) 2019-05-08 11:03:42 +12:00
Dimitri John Ledkov
0e50a351a6 Fix ubuntu-server-live images to generate initrd with casper UUID.
Whilst configs are sources, the variables are not exported into
the environment by default. Thus when casper hook is executed, it had
no idea that it should generate UUID.
2019-05-02 11:33:31 +01:00
Dimitri John Ledkov
f8ebe8e98e Make serial-subiquity@ use the same codepath as tty1 subiquity.
Such that subiquity runs in the correct environment.
Depends on: https://github.com/CanonicalLtd/subiquity/pull/428
2019-05-02 11:33:31 +01:00
Dimitri John Ledkov
fef6023ce5 subiquity: make subiqutiy_config.mount optional
Remove wants from local-fs.target, add wants from the uuid device instead.

Tested by applying these changes from pre-pivot-root by modifying
/root files in place whilst booting with break=bottom.
2019-05-02 11:33:31 +01:00
Julian Andres Klode
87a26d2cd2 Remove crufty files after minimize-manual
minimize-manual would be creating those files again, and other
parts may be creating them, so best to do the cleanup at the
very end.

LP: #1826377
2019-04-26 10:40:05 +02:00
Julian Andres Klode
fb4849aec1 Merge branch 'minimize-manual-bionic' into ubuntu/bionic 2019-03-14 12:04:01 +01:00
Steve Langasek
3229f51cc6 Also don't create the update-motd directory since we're not writing to it.
It will almost certainly be created at some point but we don't need to
create it here.
2019-03-12 12:25:48 -07:00
Steve Langasek
c87f87e4e1 Drop /etc/update-motd.d/51-cloudguest from cloud images; this is not consistent with current Ubuntu Advantage product language. Any future customizations to update-motd for cloud images should be done via a package instead. 2019-03-12 11:53:03 -07:00
Julian Andres Klode
be180bcf93 Minimize the number of manually installed packages
Minimize the number of manually installed packages in images by marking
dependencies of metapackages as automatically installed.

Squashed commits:
* minimize-manual.py: Followup with some cleanup, correct permissions
* fixup: Do not assume current directory
* Reorganize minimal-manual file location.
2019-03-11 11:32:36 +01:00
Colin Watson
fbba9fe46e Make sure buildd images have a /usr/sbin/policy-rc.d symlink
Installing policyrcd-script-zg2 doesn't quite do this because of the way
that live-build installs its own temporary version of policy-rc.d.  The
only remotely sensible way I can see to deal with this is to create the
symlink manually.
2019-02-18 16:03:39 +00:00
Adam Conrad
1003e76191 [mwhudson, r=adconrad] Merge mwhudson/live-server-bionic for live-server HWE 2019-02-12 11:43:33 -07:00
Colin Watson
a4fd32a7f1 Drop code to handle buildd images for != bionic 2019-02-05 14:24:09 +00:00
Colin Watson
2adceb461e Move buildd image building to binary hooks 2019-02-05 14:21:02 +00:00
Colin Watson
71ec79e55d Add a LXD image to builds for the buildd subproject 2019-02-05 14:20:37 +00:00
Colin Watson
e351909818 Add a buildd subproject 2019-02-05 14:20:18 +00:00
Adam Conrad
0ccce31ed5 Fixes to make the lubuntu livefs behave when swapping to the HWE stack.
* lubuntu: Select lubuntu-gtk-core task as well, so we get the HWE filter
  applied to the explicit dependencies it has on Xorg-recommended packages.
* lubuntu: Manually install some packages that fall out due to the above.
2019-02-05 00:28:48 -07:00
Adam Conrad
bd5f3fcd3f Forward-port HWE support from xenial, make it more generic, and enable it for the current LTS flavours. 2019-02-02 03:24:54 -07:00
Łukasz 'sil2100' Zemczak
86f2505871 Use linux-firmware-raspi2 instead of raspi3-firmware. 2019-01-18 17:08:20 +01:00
Łukasz 'sil2100' Zemczak
dbdf9e4a00 ARCH is not available in .chroot hooks so we need to get the architecture manually. 2019-01-18 16:58:08 +01:00
Łukasz 'sil2100' Zemczak
770a7b4c85 Add the 100-purge-grub-legacy-ec2-arm.chroot to ubuntu-cpc 2019-01-15 14:45:02 +01:00
Łukasz 'sil2100' Zemczak
6b63fa210f Cherry-pick all the additionally needed fixes to enable proper raspi3 support. 2019-01-11 15:28:11 +01:00
Michael Hudson-Doyle
e35dde7f68 Do not include curtin in the live-server installer.squashfs as the version of subiquity that includes it in the snap has now been released to stable. 2018-12-19 11:02:20 +13:00
Michael Hudson-Doyle
f129e5797a A few simple tweaks to reduce size of live servers installer.squashfs
- Do not run apt-get update (which can bring in package lists if we are
    unlucky wrt publisher schedules).
  - Run apt-get clean to clear out downloaded debs of curtin/casper and
    dependencies.
  - Do not install user-setup.
  - Use the core snap from the base filesystem if present.
2018-12-18 15:19:41 +13:00
Michael Hudson-Doyle
a473683ac7 Do no install openssh-server in the base filsystem for the live server installer. 2018-12-18 15:11:17 +13:00
Michael Hudson-Doyle
7632df8e50 linux-generic-hwe-18.04 not linux-generic-hwe-bionic! 2018-12-13 21:55:45 +13:00
Michael Hudson-Doyle
f3a458a85f enable hwe variant 2018-12-13 15:28:02 +13:00
Michael Hudson-Doyle
bfeebc90ab remove cloud-initramfs-copymods before installing kernel 2018-12-13 15:26:54 +13:00
Michael Hudson-Doyle
bcbf9ea36e add initramfs hook to record kernel metapackage & mount modules 2018-12-13 15:26:54 +13:00
Michael Hudson-Doyle
f475de24bf add hook to create kernel/initrd/modules for ISO 2018-12-13 15:26:54 +13:00
Michael Hudson-Doyle
d3eadc704c do not unmount the installer overlay in 032-installer-squashfs.binary
so that a new hook can create yet further overlays on top of it
2018-12-13 15:26:54 +13:00
Michael Hudson-Doyle
7ad0444511 do not include kernel in base install for ubuntu-server:live
this actually makes things closer to the non-live server build and so
makes things a bit simpler
2018-12-13 15:26:54 +13:00
Balint Reczey
2edb15bd10 Add .keep files to preserve empty directories 2018-12-12 15:36:00 +01:00
Steve Langasek
cdb4234912 Merge lp:~codyshepherd/livecd-rootfs/bionic-proposed-snaps-manifest 2018-12-10 12:46:25 -08:00
Steve Langasek
8b65ec6c2c Key netplan delegation to NetworkManager on presence of
/usr/sbin/NetworkManager, not on /usr/lib/NetworkManager which may have
hooks from other packages (i.e., wpasupplicant).
2018-12-06 13:48:12 +02:00
Łukasz 'sil2100' Zemczak
1a39926dd0 First attempt on backporting all raspi3 changes to bionic. 2018-11-29 16:31:06 +01:00
Cody Shepherd
64e5330029 Adding snap-seed-parse.py (that might help) 2018-11-27 11:39:15 -08:00