2092 Commits

Author SHA1 Message Date
Łukasz 'sil2100' Zemczak
ace66cbb52 Attempt building netboot tarballs for largemem arm64 server images. 2024-02-20 17:05:10 +01:00
Steve Langasek
db5f662019 Also move the definition next to where it is used 2024-02-18 12:14:20 -08:00
Steve Langasek
bf5a799935 Pare down 'BASE_SEED' handling to only those flavors which still use it.
Per the comments, BASE_SEED was initially used to identify the seed in the
flavor to use for identifying preseeded snaps, and later was also used to
identify which "minimal-remove" seed to apply to an image.

The first usage is now obsolete after a refactor; we now correctly detect
snaps from any of the included seeds without needing an explicit
declaration.

The second usage only applies to installer images that are NOT using layered
squashfs, since for these images 'minimal' is a separate squashfs layer
rather than a list of packages to remove after the fact.

Refactor this code to eliminate pointless definitions of BASE_SEED and
define it only for the subset of flavors today that:
 - have a 'minimal-remove' seed
 - are not using layered squashfs.
2024-02-18 10:28:41 -08:00
Steve Langasek
45521e71cd Fix overlooked syntax error 2024-02-18 09:14:19 -08:00
Sean Davis
5d23ea3d83
Smarter layering (thanks vorlon) 2024-02-18 06:40:11 -05:00
Sean Davis
dabcbc0d28
Ensure only one default catalog 2024-02-17 16:01:18 -05:00
Sean Davis
1972d27866
Only generate minimal.live when building minimal 2024-02-17 15:01:26 -05:00
Sean Davis
dea479a2b1
Better laying of tasks 2024-02-17 14:47:01 -05:00
Sean Davis
ea16e4ef5a
Minimize duplication 2024-02-17 06:39:49 -05:00
Sean Davis
ba38059b0b
Copy ubuntu-cinnamon setup 2024-02-17 06:35:13 -05:00
Julian Andres Klode
eb7773f43a live-build/buildd/hooks/00-mirror.binary: Patch all sources files 2024-02-16 22:03:51 +01:00
Didier Roche
0d5ce6daa6
Ensure ubuntu-wsl images can be published in cloud-images again.
The cloud-images logic is now special case for ubuntu-wsl to not require
ending with project_prefix. Readd it first, which will allow us to
ensure backward compability on cloud-images.ubuntu.com
2024-02-16 11:08:47 +01:00
Steve Langasek
77036593d7 Drop references to ubuntu-gnome which is not a current flavor. 2024-02-15 14:20:46 -08:00
Michael Hudson-Doyle
f8bdf50724 Merge remote-tracking branch 'ubuntucinnamon-dev/ubuntu/master' into ubuntu/master 2024-02-16 10:15:56 +13:00
Erich Eickmeyer
3fc80105d5 Add symlink for 020-ubuntu-live.chroot_early 2024-02-15 12:39:15 -08:00
Michael Hudson-Doyle
0636a5bad4 Hooks and other things need to go in live-build/$PROJECT and $PROJECT for Ubuntu Studio is ubuntustudio-dvd, not ubuntustudio. 2024-02-16 09:33:22 +13:00
Erich Eickmeyer
3ec5c06b4f Copy configs 2024-02-15 09:13:15 -08:00
Erich Eickmeyer
e950cb2aa8 Change Ubuntu Cinnamon to layered image
Ubuntu Cinnamon now uses the new installer and therefore needs to be a layered image to accommodate the minimal install option.
2024-02-15 09:08:39 -08:00
Michael Hudson-Doyle
9e42d66ed5 Merge branch 'copy-hooks-more' into ubuntu/master 2024-02-13 13:26:40 +13:00
Michael Hudson-Doyle
810458d2a4 Edubuntu, Ubuntu Studio and Ubuntu Budgie have hooks in live-build/${PROJECT}/hooks now but they need to be copied to config/ to do anything. 2024-02-13 13:19:22 +13:00
Julian Andres Klode
04d1f1af25 Setup preinstalled pool in preinstalled-pool.sources
Also Use Signed-By: /etc/apt/keyrings/preinstalled-pool.gpg and
make sure we only update from that .sources file as we did before.

This code may all be dead, who can say.

FIXME: We should figure out how to do an armored export of that key
and then embed it in the signed-by field instead of using a keyring
file.
2024-02-12 21:54:53 +01:00
Julian Andres Klode
8a0a5a7e4a Switch from sources.list to ubuntu.sources
Template is based on the specification with some rewording for
Ubuntu Pro as agreed.

v2:
- Enabled backports by default (I did not see that!)
- Enabled restricted, multiverse security updates
- Replaced tweaked with adjusted

v3:
- Insert an explanatory sources.list

LP: #2048129
2024-02-12 21:54:53 +01:00
Sebastien Bacher
fdf1a22b92 Use the ubuntu-desktop-bootstrap snap as the Ubuntu Desktop installer 2024-02-12 21:31:58 +01:00
Łukasz 'sil2100' Zemczak
fd3864acfe Merge branch 'u-boot-starfive' of git+ssh://git.launchpad.net/~xypron/livecd-rootfs into ubuntu/master 2024-02-12 17:02:42 +01:00
Didier Roche
f49ce9e3d8
Ensure ubuntu-wsl image can be published in cloud-images.
The publisher for cloud-images.ubuntu.com expects that artefacts
finishes with: file_url.endswith(project_prefix + suffix).
Now that we integrate app_id to the image name, we need thus to put it
before project_prefix and not between project_prefix and suffix.
2024-02-12 10:59:27 +01:00
Simon Quigley
c6a66eaa8d Add missing mkdir invocation from 24.04.26 (LP: #2052617). 2024-02-09 13:32:33 -06:00
Heinrich Schuchardt
c34e3dccd7 riscv: install u-boot-starfive on VisionFive 2 preinstalled image
The StarFive VisionFive 2 board can boot from SPI flash or SD-card.
Install U-Boot to the SD card.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-02-08 11:24:51 +01:00
Didier Roche
e5d6d07bad
Enable systemd as part of image creation
Microsoft offically support systemd now and our Pro service relies on
it. This option is enabled by default via our launcher (Windows-side) on
first run for quite a while.
Remve this file creation from it, don’t ship it in a package as the
file may be altered by the user to add additional options and ship it as
part of the rootfs.

Co-authored-by: Jean-Baptiste Lallement <jean-baptiste@ubuntu.com>
2024-02-07 16:58:45 +01:00
Didier Roche
602463592a
Create different WSL tarball depending on upgrade policy
On WSL, we have multiple applications with the same rootfs, but
different upgrade policy:
Ubuntu: should always track latest LTS and offer upgrade.
Ubuntu-<Version>: should never offer upgrade and will stick to Version
Ubuntu-Preview: current in development version.

Co-authored-by: Jean-Baptiste Lallement <jean-baptiste@ubuntu.com>
2024-02-07 16:58:44 +01:00
dann frazier
3a00ad5263 Use flock to avoid races with systemd-udevd
The race causes loop device partitions to briefly disappear. LP: #2045586.
2024-01-31 15:12:42 -07:00
Steve Langasek
20a43b540d Merge remote-tracking branch 'vorlon/common-hooks-for-layered-images' into ubuntu/master 2024-01-30 23:16:33 -08:00
Łukasz 'sil2100' Zemczak
3a99b297d4 For ubuntu-server, consider the actual kernel flavor when dealing with netboot layers - even if we don't really care in the end. 2024-01-30 11:29:50 +01:00
Utkarsh Gupta
d58a31e130 Merge remote-tracking branch 'utkarsh/drop-python3-systemd' into ubuntu/master
* utkarsh/drop-python3-systemd:
  Update d/ch for 24.04.20 release
  Drop python3-systemd from our minimized builds
2024-01-29 22:21:14 +05:30
Utkarsh Gupta
e37253418b Merge remote-tracking branch 'virtustom/mount-partnum-param' into ubuntu/master
* virtustom/mount-partnum-param:
  feat: mount_disk_image: Add rootpart parameter
2024-01-29 22:19:20 +05:30
Michael Hudson-Doyle
ffe99d4008 Remove magic-proxy and all references to it as it is not used by any builds of any release newer than 18.04. 2024-01-29 14:51:54 +13:00
Łukasz 'sil2100' Zemczak
54100874a4 Merge branch 'noble-64k' of git+ssh://git.launchpad.net/livecd-rootfs into ubuntu/master 2024-01-25 11:59:25 +01:00
Michael Hudson-Doyle
57592e6dc1 live-build/functions: avoid losetup -P as it appears to race with udev and do it a bit more by-hand instead. (LP: #2045586) 2024-01-25 10:26:19 +13:00
Philip Roche
200bde50cc fix: return 0 instead of return if the intent is not to exit build
If the previous if statement checking if PASSES_TO_LAYERS is true,
then the last return code be non-zero and a return statement with no
argument will return the error code of the if statement thus exiting
the script. This is  not our intent. So we need to return 0 here when
layer name as already been registered
2024-01-24 18:08:42 +00:00
Philip Roche
e1ab57301f fix: Fix calls to unminimize if lxd-installer package not present (LP: #2049723)
The unminimize script will try to install the lxd snap using the shim script
`/usr/sbin/lxd` from the lxd-installer package.

Previously `unminimize` was using `snap`
to install `lxd` directly which was being diverted by diverting the `snap` command.

This is no longer the case so we can remove `/usr/sbin/lxd` from the lxd-installer package
if it exists and then redirect any calls to `/usr/sbin/lxd` to `/bin/true`

This is a cherry pick forward port from Jammy livecd-rootfs version 2.765.37.

(cherry picked from commit 8b83212372e0c1adb1dbdf7ead234f93c52a189e)
2024-01-24 18:04:35 +00:00
Tomáš Virtus
dab1f8c765
feat: mount_disk_image: Add rootpart parameter
mount_disk_image function expects root partition to be at number 1. But
some images require the root partition to be at other some other number.
For example, EKS Anywhere images for bare metal are used with Tinkerbell
deployment with a default configuration that expects the root device to
be found at /dev/sda2. The knowledge of the root device path is needed
to modify certain files in the root filesystem (e.g. cloud-init configs)
for the machine to join Kubernetes cluster control plane.

The partition number can be changed in the hook by "sgidsk --transpose".
Allow the hook to use mount_disk_image with custom root partition number
by making it an optional third parameter that defaults to 1.
2024-01-24 13:53:24 +01:00
Łukasz 'sil2100' Zemczak
8c4ebae358 Add a largemem subarch that ships a 64k kernel variant by default. 2024-01-22 15:00:58 +01:00
Utkarsh Gupta
a0ebea19a8 Drop python3-systemd from our minimized builds
This package was once needed by ubuntu-advantage-tools for cloud images.
However, u-a-t have finally dropped this entirely in their v30 release.
cf: https://github.com/canonical/ubuntu-pro-client/issues/2692
cf: https://github.com/canonical/ubuntu-pro-client/pull/2717
cf: https://bugs.launchpad.net/ubuntu/+source/ubuntu-advantage-tools/+bug/2038417
2024-01-22 18:01:45 +05:30
Steve Langasek
7de5d67bf7 live-build/auto/config: don't repeatedly add the same pass name to the list of layers. 2024-01-18 11:03:53 -08:00
Steve Langasek
240affbaca Share live-build/ubuntu/hooks/020-ubuntu-live.chroot_early across all flavors using new-style layered squashfs, removing need for kernel commandline options in debian-cd. 2024-01-17 16:20:54 -08:00
Thomas Bechtold
f82fb62222 fix: add kernel 6.6 apparmor features tree
Noble moved to the 6.6 kernel now and the preseeding optimization
doesn't work anymore given that the apparmor features used during
preseeding do not match the apparmor features used on a running system
with kernel 6.6 .
2024-01-16 13:03:34 +01:00
Utkarsh Gupta
795927c48c unminimize: Use lxd-installer to install LXD itself (LP: 2036725)
By invoking LXD, lxd-installer will install LXD from the right
place, thereby make it simpler for us to not hardcode the
channel and manually snap install it.
2024-01-09 08:26:21 +05:30
Steve Langasek
650815889f Fix overlooked syntax error in live-build/auto/config. 2024-01-03 23:38:50 -08:00
Steve Langasek
fc6a8a7b94 But include a sensible error message for wrong usage of .live layers
Instead of just returning 'EXPLODE: command not found', heh
2024-01-03 23:03:56 -08:00
Steve Langasek
cdcb44ebf9 include a sanity check that no layered image has more than one "live" layer
This would cause undefined behavior with the LAYERFS_LIVE handling in the
hook.
2023-12-20 22:02:30 -08:00
Steve Langasek
80cd4153e1 check for glib-compile-schemas presence before calling from the ubuntu hook
This makes the hook ok to use cross-flavor.

We could also move glib-compile-schemas to a separate hook, to ensure we never
silently fail because glib-compile-schemas is broken/missing.
2023-12-20 19:47:14 -08:00