Compare commits

..

222 Commits

Author SHA1 Message Date
Utkarsh Gupta
65ec6cdf6e Update d/ch for 25.10.17 release 2025-08-27 18:58:46 +05:30
Tim Andersson
31c80a3490
Add debian/changelog entry 2025-08-18 10:12:48 +01:00
Tim Andersson
2ae311a772
030-ubuntu-enhanced-sb.binary: remove snap overrides
This is follow up work to LP: #2120473 being resolved.
2025-08-18 10:12:07 +01:00
Tim Andersson
e654618ec5
update classic model for 25.10 2025-08-18 10:12:07 +01:00
Tim Andersson
80aa8b71d6
new: changes to enable daily-dangerous image builds
daily-dangerous image builds are standard desktop images for the devel
series, except all of the snaps are set to their respective edge
channels, and the dangerous model is used, hence its inclusion in this
commit.

Goes hand in hand with this MP:
https://code.launchpad.net/~andersson123/ubuntu-cdimage/+git/ubuntu-cdimage/+merge/490708
2025-08-18 10:11:58 +01:00
Michael Hudson-Doyle
b1604eadc4 releasing package livecd-rootfs version 25.10.16 2025-08-13 10:34:53 +12:00
Michael Hudson-Doyle
af76e8089d do not completely delete the seed from the live layer 2025-08-13 10:32:03 +12:00
Michael Hudson-Doyle
5494522a14 Put the uc20-style system seed for TPM backed FDE in the live layer. 2025-08-13 10:32:03 +12:00
Utkarsh Gupta
e733e7b129 Update d/ch for 25.10.15 release 2025-08-12 19:37:11 +05:30
Utkarsh Gupta
793965ba6c Merge remote-tracking branch 'bryalex/bryalex/6.14-master' into ubuntu/master
* bryalex/bryalex/6.14-master:
  Add debian/changelog entry (LP: #2116199)
  feat(apparmor): Add missing components to 6.14 kernel apparmor features' preseeds
2025-08-12 19:36:17 +05:30
Dan Bungert
bcf7ded68e releasing package livecd-rootfs version 25.10.14 2025-08-07 16:21:33 -06:00
Dan Bungert
6c2b20e070 desktop TPMFDE: move most snaps to stable channels 2025-08-07 16:18:04 -06:00
Dan Bungert
e46416e873 Revert "Move back ubuntu classic to a standard model"
This reverts commit 1c631c99dc2a8fd5759e9c8f872610b1f2238ddf.

We're unfortunately not ready for the standard model yet.
2025-08-07 16:17:20 -06:00
Didier Roche
1c631c99dc
Move back ubuntu classic to a standard model
We don’t use edge anymore. The model still needs to be signed though.
2025-08-06 07:36:59 +02:00
Tim Andersson
3dd6f72a21
switch snaps back to stable now that the TPM FDE spike is over.
This was enabled for more rapid development on the snaps that go into
the live desktop image. Revert now that the spike is over.
2025-07-30 16:49:10 +01:00
Olivier Gayot
b706c97ac2 releasing package livecd-rootfs version 25.10.13 2025-07-24 17:37:44 -06:00
Olivier Gayot
a54084218f Build with multipath-tools-boot
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2025-07-24 00:34:44 +02:00
Bryan Alexander
88cd42efd1 Add debian/changelog entry (LP: #2116199) 2025-07-17 13:27:40 -07:00
Bryan Alexander
727e75341a feat(apparmor): Add missing components to 6.14 kernel apparmor features' preseeds
- Add the domain/disconnected.ipc component
 - Modified the policy/unconfined_restrictions/io_uring component
(LP: #2116199)
2025-07-17 13:25:12 -07:00
Didier Roche
30107ce354
releasing package livecd-rootfs version 25.10.12 2025-07-15 16:52:14 +02:00
Didier Roche
59e55cb364
Merge branch 'polkit-allow-snap-seeding' into ubuntu/master 2025-07-15 16:30:33 +02:00
Didier Roche
69f6b3795b
Allow the ubuntu-desktop-installer to request snap seeding state
This is used to only start the installer after all snaps have been
seeded.

Co-Authored-By: Dennis Loose <dennis.loose@canonical.com>
2025-07-15 16:24:10 +02:00
Zygmunt Krynicki
c4fbaf5d3b Use snap wait system seed.loaded to wait for snapd
We cannot use After=snapd.service as user services cannot synchronize
with system services. Using `snap system wait seed.loaded` should work,
except for the fact that it requires polkit authentication to perform
this operation.

Signed-off-by: Zygmunt Krynicki <zygmunt.krynicki@canonical.com>
2025-07-14 11:15:50 +02:00
Didier Roche
9fbd9ba71e
releasing package livecd-rootfs version 25.10.11 2025-07-11 14:59:06 +02:00
Didier Roche
e672f5ca4c
Update debian/changelog 2025-07-11 14:58:47 +02:00
Didier Roche
8a70acb1ec
Make sure the system was seeded before starting the installer
The installer is a snap, and as such, the system needs to be seeded
first to avoid a race during live boot.
Fixes https://bugs.launchpad.net/ubuntu-desktop-provision/+bug/2114923
2025-07-11 13:05:08 +02:00
Adriano Cordova
56660131e3
Update changelog
Signed-off-by: Adriano Cordova <adriano.cordova@canonical.com>
2025-07-01 09:15:22 -04:00
Adriano Cordova
4f0c09311d
ubuntu-cpc: enable cpc fixes for riscv
LXD is going to support launching riscv64 virtual machines,
and for riscv64 virtual machines to be usable the console
needs to be properly set. This and other fixes are currently
done in the hook 999-cpc-fixes.chroot, which was disabled for
riscv64 and which this commit enables.

Signed-off-by: Adriano Cordova <adriano.cordova@canonical.com>
2025-07-01 09:13:38 -04:00
Michael Hudson-Doyle
692f72bcee releasing package livecd-rootfs version 25.10.9 2025-06-17 22:23:21 +12:00
Michael Hudson-Doyle
2ea437c340 Merge branch 'nvidia-kernels' into ubuntu/master 2025-06-17 22:21:14 +12:00
Michael Hudson-Doyle
8ea3c69736 bump number in changelog, add bug ref 2025-06-17 22:21:06 +12:00
Dan Bungert
0c0c93a826 releasing package livecd-rootfs version 25.10.8 2025-06-13 12:00:26 -06:00
Dan Bungert
4c2baf9e58 server: fix hwe kernel layer having multiple kernels
LP: #2112501
2025-06-13 11:22:39 -06:00
Dan Bungert
8679885bc0 changelog 2025-06-13 11:21:32 -06:00
Dan Bungert
f33c8ba809 lb_binary_layered: second take on fixing mtimes 2025-06-13 11:19:18 -06:00
Dan Bungert
20820cc567 changelog 2025-06-13 10:55:31 -06:00
Didier Roche
231ee26831 Switch some TPM FDE components to edge channels
We want the firmware updater and security center pointing to edge too.
The model only allow to select it, but we need to invoke them by
default in snap prepare-image
2025-06-13 10:54:19 -06:00
Dan Bungert
60c2e90746 changelog 2025-06-13 10:39:23 -06:00
Didier Roche
a02700313a
Move snapd to edge for the TPM FDE snaps
We need edge on the live session too so that subiquity knows about
latest and greatest on TPM FDE support. We will revert that once snapd
is released to the stable channel.
2025-06-13 11:47:57 +02:00
Antoine Lassagne
208d53affc Allow to chose nvidia kernel instead of generic 2025-06-13 09:32:08 +02:00
Dan Bungert
08be218c82 releasing package livecd-rootfs version 25.10.7 2025-06-10 07:57:28 -06:00
Dan Bungert
75ad30fe5d Revert "lb_binary_layered: fix mtimes in layered squashfses"
This reverts commit eec13dad681c66f3a318600827f52dde55291f9f.
2025-06-10 07:55:37 -06:00
Dan Bungert
934a269424 releasing package livecd-rootfs version 25.10.6 2025-06-02 12:23:02 -06:00
Dan Bungert
eec13dad68 lb_binary_layered: fix mtimes in layered squashfses
layer construction involves rsync, and that process ignores times to
avoid some of the layers being larger than they would otherwise where
the only difference is times.  This saves a small amount of space,
around 14MiB, but results in files in the layers having non-intended
time values.  Ensure mtime and atime in the source chroot match what is
found in the destination chroot.
2025-06-02 12:23:02 -06:00
Dan Bungert
9092fd30e9 releasing package livecd-rootfs version 25.10.5 2025-05-28 10:27:49 -06:00
Dan Bungert
a0d948f17b desktop: TPMFDE snapd from latest/edge 2025-05-28 10:03:56 -06:00
Dan Bungert
27e3f982e7 releasing package livecd-rootfs version 25.10.4 2025-05-25 23:19:01 -06:00
Dan Bungert
37dd412bfa desktop: TPMFDE kernel from 25.10/candidate 2025-05-23 19:50:34 -06:00
Dan Bungert
d053e12a68 releasing package livecd-rootfs version 25.10.3 2025-05-23 12:59:43 -06:00
Dan Bungert
dde90dfb79 desktop: cherry-pick pc-kernel from different channel
To get 25.10 Desktop ISOs with TPMFDE bits, we need matching pc-kernel
and snapd otherwise we get errors like so when running
`snap prepare-image`:

WARNING: the kernel for the specified UC20+ model does not carry
assertion max formats information, assuming possibly incorrectly the
kernel revision can use the same formats as snapd
error: snapd 2.68+ is not compatible with a kernel containing snapd
prior to 2.68

Use the "dangerous" model, which allows overriding the channel, and pick
up the matching pc-kernel which is not yet on 25.10/stable, where the
non-dangerous model would expect to find it.
2025-05-23 09:53:18 -06:00
Dan Bungert
83022a6ebe desktop: add notes about generation of a signed model 2025-05-22 10:29:05 -06:00
Dan Bungert
237595f90a desktop: no long skip 020-ubuntu-enhanced-sb.binary 2025-05-14 16:14:28 +02:00
Dan Bungert
f472f1e437 desktop: update TPMFDE model for questing 2025-05-14 16:14:28 +02:00
Dan Bungert
d1d6c1b181 releasing package livecd-rootfs version 25.10.2 2025-05-06 08:24:12 +02:00
Dan Bungert
5dc5cd082a desktop: skip 020-ubuntu-enhanced-sb.binary 2025-05-05 15:06:53 +02:00
Dan Bungert
40737df2b1 releasing package livecd-rootfs version 25.10.1 2025-04-28 09:53:36 -06:00
Dan Bungert
8c4996cce7 server: provide network config direct to netplan 2025-04-28 09:26:35 -06:00
Dan Bungert
5f5a686760 desktop: no longer involve cloud-init in early networking
LP: #2107225
2025-04-23 16:23:19 -06:00
Tomáš Virtus
78c855a08c
releasing package livecd-rootfs version 25.04.26 2025-04-10 17:26:04 +02:00
Tomáš Virtus
60641d7411
ubuntu-cpc: Restore UseDomains=true
Also see https://bugs.launchpad.net/cloud-images/+bug/2106729.

Since Oracular[1]:

    Ubuntu’s systemd-networkd no longer sets UseDomains=true for managed
    network interfaces. In effect, this means that search domains
    configured in DHCP leases will not be reflected in /etc/resolv.conf
    by default. This change aligns Ubuntu’s default behavior with that
    of upstream. System administrators may choose to override this
    default on a global, or per-interface basis. See systemd.network 4
    for details.

The default in systemd is UseDomains=false. From systemd.network(5)[2]:

    DHCP=

        Furthermore, note that by default the domain name specified
        through DHCP is not used for name resolution. See option
        UseDomains= below.

    UseDomains=

        It is recommended to enable this option only on trusted
        networks, as setting this affects resolution of all hostnames,
        in particular of single-label names. It is generally safer to
        use the supplied domain only as routing domain, rather than as
        search domain, in order to not have it affect local resolution
        of single-label names.

It has been reported to us by few clouds that this breaks local name
resolution. For instance, in Google Cloud Compute, users can no longer
reach instances in the same zone[3] nor Google Cloud services[4] by
their names.

Arguably, the security concerns for having this option disabled are not
valid in cloud environments. As one of our partners said:

    IIUC, the motivation to disable UseDomains by default is that a
    laptop might be used on an untrusted network where the domains
    provided by DHCP can be a security issue, directing users to places
    they don't intend.

    But it's not possible for a cloud instance to be connected to an
    untrusted network (barring a breached account).

    The way I'm looking at this is that DHCP option 119 exists for the
    express purpose of allowing a network administrator to configure the
    DNS search path for computers on that network. I understand there's
    a security concern if that network isn't a datacenter. But in the
    cloud there's no concern (in some clouds, it's not even possible for
    DHCP response packets to come from anywhere but the cloud's own
    DHCP).

We should restore this setting in cloud images.

[1] https://discourse.ubuntu.com/t/oracular-oriole-release-notes/44878
[2] https://manpages.ubuntu.com/manpages/plucky/en/man5/systemd.network.5.html
[3] https://cloud.google.com/compute/docs/internal-dns
[4] https://cloud.google.com/compute/docs/metadata/overview
2025-04-10 17:25:16 +02:00
Dave Jones
a237a63bf0
releasing package livecd-rootfs version 25.04.25 2025-03-20 17:29:08 +00:00
Dave Jones
8add8daa49
ubuntu-image: Avoid filling tmpfs-based /tmp 2025-03-20 17:22:32 +00:00
Dan Bungert
d79eb2cb9c releasing package livecd-rootfs version 25.04.24 2025-03-13 17:17:31 -06:00
Dan Bungert
c1d898ed2c desktop: update tpmfde model for pc-kernel channel
* Updated model to move pc-kernel to channel 25.04/stable
* Move model from heredoc to a file
2025-03-13 11:03:10 -06:00
Jess Jang
43d1478298 Add debian/changelog entry 2025-03-12 21:31:08 -05:00
Jess Jang
fa00c36419 feat: Add 6.14 kernel apparmor features' preseeds 2025-03-12 21:05:01 -05:00
Dan Bungert
043ad264d4 releasing package livecd-rootfs version 25.04.22 2025-03-11 09:16:05 -06:00
Dan Bungert
20590f0dbf ubuntu-desktop: update model for 25.04 and components
This model intentionally uses pc-kernel from a branch, for components
testing purposes.  We'll have to update this again before release when
the desired pc-kernel is on a stable channel.
2025-03-11 09:14:18 -06:00
Dan Bungert
b79160bf08 server: delete the initrd but not initrd.img symlink
The initrd is recreated later.  Leave the symlink.
2025-03-10 16:27:45 -06:00
Dan Bungert
a768818bea releasing package livecd-rootfs version 25.04.21 2025-03-05 08:18:59 -07:00
Dan Bungert
d2050181d4 subiquity: easier bridge kernel setup
For subiquity installs, make it easier to enable bridge kernel, just a
boolean to set true/false.  Don't enable yet though.
2025-03-04 15:50:15 -07:00
Michael Hudson-Doyle
362c5d1f19 releasing package livecd-rootfs version 25.04.20 2025-02-27 20:34:21 +13:00
Michael Hudson-Doyle
e814e02bf4 Again in ubuntu-server builds, configure LAYERFS_PATH in the kernel layer and ensure the initrd is freshly regenerated in that layer. LAYERFS_PATH was being set to the layer below the kernel layer, which meant that the live session did not get access to all the modules in the case that the kernel had not been installed in the base layer, which in turn means that installs fail. (LP: #2100148)
* Again in ubuntu-server builds, configure LAYERFS_PATH in the kernel layer
  and ensure the initrd is freshly regenerated in that layer. LAYERFS_PATH
  was being set to the layer below the kernel layer, which meant that the
  live session did not get access to all the modules in the case that the
  kernel had not been installed in the base layer, which in turn means that
  installs fail. (LP: #2100148)
* While we're at it, delete any initrd from any other layer than a kernel
  layer, as they just waste space on the ISO.
2025-02-27 20:32:56 +13:00
Michael Hudson-Doyle
ff331b2d94 In ubuntu-server builds, install the first kernel in the base layer, not the "ga" kernel (which may not be installed at all, as is the case in e.g. the arm64+largemem builds). 2025-02-27 20:31:38 +13:00
Michael Hudson-Doyle
cc1654bb22 set changelog back to UNRELEASED 2025-02-27 16:00:58 +13:00
Adriano Cordova
949f980646 riscv: add SUBARCH 'jh7110'
Add SUBARCH 'jh7110' for jh7110-based boards.
2025-02-25 15:28:36 -03:00
Thomas Bechtold
c9f4659b16
add debian/changelog entry 2025-02-25 13:21:23 +01:00
John Chittum
e85f367421
feat(ubuntu-cpc): sbom generation everywhere
patch create_manifest to produce an sbom when called by an ubuntu-cpc
project. Patch all the ubuntu-cpc hooks and series files to include the
newly generated manifests, filelists, and sboms. Generates a number of
new artifacts in the builds. the snap utilized, cpc-sbom, is an open
source repo and a provided via a hidden snap. there is no intention of
publisizing the snap or how we generate sboms, however partners require
the ability to audit if required.

defensively checks if the snap is already installed, in the case of
multiple hooks being called in a single build (thus sharing a build
host), and only if called in an ubuntu-cpc project.

(cherry picked from commit 7c7b7df89dc96169db1f255d6bba901ebb63a43c)
2025-02-25 13:18:55 +01:00
Michael Hudson-Doyle
bfdfba31b8 releasing package livecd-rootfs version 25.04.18 2025-02-20 10:25:50 +13:00
Simon Poirier
7f5b9374b2 fix: increase ppc64el disk size to 2.4Gib
ppc64el was and still is a bit low compared to other ubuntu-cpc archs
and started running out of space.
2025-02-19 16:12:28 -05:00
Simon Quigley
2b638d3321 Add debian/files to .gitignore 2025-02-19 11:52:25 -06:00
Simon Quigley
00b7f2dc35 Correct back to sh from previous commit for now 2025-02-19 02:18:53 -06:00
Simon Quigley
818af83d4d Add support for multiple pools (/var/lib/{livefs,preinstalled}-pool/). 2025-02-19 02:15:04 -06:00
Simon Quigley
e71a331e82 Update Standards-Version to 4.7.0, no changes needed. 2025-02-18 22:54:07 -06:00
Simon Quigley
784c7d3060 Make the package completely Lintian-clean except for no-dep5-copyright. 2025-02-18 22:53:52 -06:00
Simon Quigley
87c2e08669 Update debhelper compat to 13, no changes needed. 2025-02-18 22:26:29 -06:00
Simon Quigley
29ee4398e8 Move from http://ppa.launchpad.net to https://ppa.launchpadcontent.net when specifying EXTRA_PPAS. 2025-02-18 22:22:10 -06:00
Michael Hudson-Doyle
5fb3d42d36 Pre-emptively include the override to not try to build HWE kernel layer in post .2 server riscv64 ISOs. 2025-02-17 11:17:35 +13:00
Michael Hudson-Doyle
c3a74a4641 releasing package livecd-rootfs version 25.04.17 2025-02-14 17:25:55 +13:00
Michael Hudson-Doyle
99f61b2ad7 live-build/ubuntu-mini-iso/hooks/01-mini-iso.chroot_early: Fix paths that should have been adjusted when code moved from binary to chroot hook. 2025-02-14 11:02:21 +13:00
Michael Hudson-Doyle
11f1a1dc84 live-build/ubuntu-mini-iso/hooks/01-mini-iso.binary: Drop the assumption that the uncompressed part of the initrd is unpacked to a directory called "main". 2025-02-14 11:01:45 +13:00
Dan Bungert
9930bcd9b4 changelog 2025-02-13 13:11:17 -07:00
Dan Bungert
bf17ce99e1 build: fix FLAVOUR set for lowlatency
similar to: 06fd5dacc34d018142e8fa713b6eba6011ababfc
(cherry picked from commit 2a9992ad7d538567a6449059d998bfc8c6d3103f)
2025-02-13 13:00:16 -07:00
Utkarsh Gupta
59ea05ea90 Fix d/ch entry 2025-02-14 00:20:10 +05:30
Simon Poirier
787428ea4d changelog 2025-02-13 13:44:19 -05:00
Simon Poirier
1ee581ca0c fix(buildd): add udev to buildd images. (LP: #2092196)
On 24.10 forward, networkd relies on udev for interface setup. This addresses
forever pending interfaces in networkd on buildd lxd images.
2025-02-13 13:42:50 -05:00
Thomas Bechtold
ba529b0d80
Add debian/changelog entry 2025-02-13 12:15:14 +01:00
Thomas Bechtold
5c61d04183
Add 6.12 kernel apparmor features preseeds
Plucky is currently on kernel 6.12 so preseeding fails with a apparmor
feature mismatch given that the live-build/apparmor/generic tree is
used. Adding a 6.12 tree (which is identical with the 6.11 tree)
solves this.
2025-02-13 12:12:35 +01:00
Dan Bungert
5c18a9e496 releasing package livecd-rootfs version 25.04.14 2025-02-11 12:17:59 -07:00
Dan Bungert
e3355e29d8 ubuntu-server: default-layer.conf in casper pass
default-layer.conf needs to be done in the casperization pass or we
don't get that file.
2025-02-11 08:30:38 -07:00
Chris Peterson
15b069883f releasing package livecd-rootfs version 25.04.13 2025-02-05 17:43:56 -08:00
Chris Peterson
03f95a7c04 ubuntu-core-installer: update install-sources.yaml with kernel 2025-02-05 13:58:18 -08:00
Chris Peterson
86506c838d write_kernel_yaml: quote the default argument 2025-02-05 13:58:10 -08:00
Michael Hudson-Doyle
20356ce4cb releasing package livecd-rootfs version 25.04.12 2025-02-05 15:26:29 +13:00
Michael Hudson-Doyle
e7153d9d3d Similar changes for ubuntu-mini-iso build. 2025-02-05 11:24:25 +13:00
Michael Hudson-Doyle
8d7efb4d15 Move configuration of casper in ubuntu-serve:live builds to a "chroot early" hook for the installer layer and remove the now unnecessary update-initramfs from the binary hook that breaks because mkinitramfs now requires that /sys is mounted. (LP: #2097280) 2025-02-05 11:23:58 +13:00
Michael Hudson-Doyle
bdd7d035e2 Stop producing a rootfs tarball for the ubuntu-mini-iso builds. 2025-02-05 11:20:18 +13:00
Michael Hudson-Doyle
47333c22a7 releasing package livecd-rootfs version 25.04.11 2025-01-29 08:52:19 +13:00
Michael Hudson-Doyle
c17a99bc1f Allow snapd to re-exec in installer environment (the issues between snapd, overlayfs and apparmer that meant re-execing caused problems were fixed in snapd a long time ago). 2025-01-29 06:39:25 +13:00
Heinrich Schuchardt
0c5b7dfd0c riscv: correct installation path of dtbs
U-Boot with distroboot has:

efi_dtb_prefixes=/ /dtb/ /dtb/current/

So we should install the device-trees into dtb/ and not dtbs/ on the EFI
system partition.

Fixes: 365435ad2dbe ("riscv: copy device trees to the ESP")
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2025-01-27 13:49:26 +01:00
Adriano Cordova
365435ad2d riscv: copy device trees to the ESP
Commit f9c5020200ce ("riscv: directly copy device trees to /boot/dtbs")
incorrectly copied devicetrees into /boot/dtbs/$kvers instead of /boot/efi/dtbs,
inside the ESP and where U-boot expects them. This commit fixes this path.

Fixes: f9c5020200ce ("riscv: directly copy device trees to /boot/dtbs")
Signed-off-by: Adriano Cordova <adriano.cordova@canonical.com>
2025-01-24 11:16:32 +13:00
Didier Roche
2adb738584
releasing package livecd-rootfs version 25.04.9 2025-01-22 10:23:51 +01:00
Didier Roche
420545f892
Update reference to wsl-setup now in /usr/lib/wsl/
Microsoft expects this binary to be under that path.
2025-01-22 10:22:18 +01:00
Adriano Cordova
f9c5020200 riscv: directly copy device trees to /boot/dtbs
Signed-off-by: Adriano Cordova <adriano.cordova@canonical.com>
2024-12-20 08:55:21 -03:00
Didier Roche
74a86b18ca
releasing package livecd-rootfs version 25.04.7 2024-12-09 14:36:14 +01:00
Didier Roche
f213d88801
Update changelog for new Microsoft image format 2024-12-09 14:35:23 +01:00
Didier Roche
8a0f0357b5
Create wsl-distribution.conf for WSL images
This file is required in the new Microsoft WSL package format.

Co-authored-by: Carlos Nihelton <carlos.santanadeoliveira@canonical.com>
2024-12-09 14:29:28 +01:00
Didier Roche
42f3b442e9
Create livecd-roots tarball as a .wsl extension
Co-authored-by: Carlos Nihelton <carlos.santanadeoliveira@canonical.com>
2024-12-09 14:29:27 +01:00
Didier Roche
b53628564c
Keep a single wsl rootfs upgrade policy
We are removing our different variants of wsl rootfs with the new
Microsoft format. We only keep one following the distribution policy:
- lts to lts
- intermediate release to next one

Co-authored-by: Carlos Nihelton <carlos.santanadeoliveira@canonical.com>
2024-12-09 14:29:22 +01:00
Michael Hudson-Doyle
23a6547dfc releasing package livecd-rootfs version 25.04.6 2024-12-06 18:59:47 +13:00
Michael Hudson-Doyle
524c0f5c4e Refer to LB_DISTRIBUTION, not SUITE, in the ubuntu-mini-iso binary hook. 2024-12-06 09:56:55 +13:00
Michael Hudson-Doyle
e2c2b1c2cb releasing package livecd-rootfs version 25.04.5 2024-12-04 13:34:03 +13:00
Michael Hudson-Doyle
c59b2165fd fix ubuntu-mini-iso build
replace reliance on cd-boot-images-amd64 with direct use of debian-cd sccripts.
2024-12-04 12:50:25 +13:00
Loïc Minier
9a27af4f83 Release 25.04.4 to plucky 2024-11-26 13:49:37 +00:00
Loïc Minier
9f0bc6a17c Merge remote-tracking branch 'rmartin013/rename-tegra-igx' into ubuntu/master
Fix typo in live-build/auto/config
2024-11-26 13:49:19 +00:00
Simon Quigley
bf0cfce5e0 Upload to Plucky 2024-11-23 13:52:17 -06:00
Simon Quigley
3c39128f16 Add optional Dracut support for installed images, enable it for Lubuntu. 2024-11-23 13:49:04 -06:00
Simon Quigley
c73b51ec43 Switch Lubuntu to stacked squashfses, and split apart the common functionality to avoid Subiquity-specific commands. 2024-11-23 13:48:02 -06:00
John Chittum
9fc87851f3 changelog 2024-11-08 10:49:04 +13:00
Remy MARTIN
a666bf4110
Add tegra-jetson subarch,model,variant
The previous Tegra kernel metapackage implementation (linux-nvidia-tegra-igx)
was initially planned to apply both for Jetson devices and IGX systems. It turned
out recently (LP: #2069179) that we now need to reserve the metapackage name
linux-nvidia-tegra-igx for IGX systems, and use the new linux-nvidia-tegra-jetson
metapackage for Jetson devices. For the sake of clarity, the image name, model,
sub-arch, variant should align with the kernel metapackage name.
2024-11-06 15:47:23 +01:00
John Chittum
e128704c77
fix(buildd): create buildd homedir
LP:2083240

starting in noble, adduser no longer creates a homedir for system users.
The buildd user then does not have a home directory, causing snaps to be
unable to run, as well as possibly other issues from a missing assumed
homedir. Explicitly create /home/buildd
2024-11-06 07:17:16 -05:00
Dan Bungert
ceec72cd59 releasing package livecd-rootfs version 25.04.1 2024-10-17 08:23:27 -06:00
Dan Bungert
5219913642 changelog 2024-10-16 12:40:44 -06:00
Dan Bungert
dbfe42ad25 live-server: omit kernel-meta-package file 2024-10-16 12:40:44 -06:00
Dan Bungert
76ee7808ea lb_chroot_layered: omit kernel-meta-package file 2024-10-16 12:40:44 -06:00
Dan Bungert
2096eccd67 lb_binary_layered: use kernel.yaml 2024-10-16 12:40:44 -06:00
Dan Bungert
2f103f886c config: output kernel.yaml fragment 2024-10-16 12:40:44 -06:00
Dan Bungert
9b42f898bf update-source-catalog: support version 2 scheme
Version 1 of install-sources.yaml is a top-level list of the sources to
be offered.
Version 2 extends this by placing the list under a top-level key
`sources`, adding a `version` field, and adding a `kernel` field which
supplants the current kernel-meta-package file.  `kernel.default` is
read to know which kernel to use - unless we need to fallback to the
bridge kernel.
2024-10-14 17:13:39 -06:00
Łukasz 'sil2100' Zemczak
9b1ea66dc8 Add comment re: the cohort key in prepare-image 2024-10-08 13:30:36 +01:00
Łukasz 'sil2100' Zemczak
40d0f57a8a releasing package livecd-rootfs version 24.10.27 2024-10-08 13:18:01 +01:00
Łukasz 'sil2100' Zemczak
293ec25aba Use cohort key for prepare-image. 2024-10-08 13:08:14 +01:00
Łukasz 'sil2100' Zemczak
86f57d78a7 releasing package livecd-rootfs version 24.10.26 2024-10-04 12:53:26 +02:00
Heinrich Schuchardt
e5977a2e2b riscv: use generic kernel flavor for Nezha D1 and LicheeRV Dock
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-10-04 12:11:47 +02:00
Michael Hudson-Doyle
e69728f173 releasing package livecd-rootfs version 24.10.25 2024-10-04 12:21:44 +13:00
Michael Hudson-Doyle
3f44a55392 Update the model used for TPM FDE installs, yet again. 2024-10-04 11:53:16 +13:00
Dan Bungert
0ad935a358 releasing package livecd-rootfs version 24.10.24 2024-10-02 15:18:21 -06:00
Dan Bungert
5e990020e5 desktop: remove references to subiquity snap
No subiquity snap is present on Desktop isos, these are cruft.
2024-10-02 08:20:34 -06:00
Michael Hudson-Doyle
0737221b36 releasing package livecd-rootfs version 24.10.23 2024-10-02 19:07:06 +13:00
Michael Hudson-Doyle
e5ef431598 Update the model used for TPM FDE installs, again, hopefully working this time. 2024-10-02 19:05:26 +13:00
Utkarsh Gupta
6746078386 Update d/ch for 24.10.22 release 2024-09-30 16:20:25 +05:30
Utkarsh Gupta
e8d5fde9e2 Revert "Update the model used for TPM FDE installs."
This reverts commit c4e69348aed2e89bdef0187afe79da18d855eb8c as
the more debugging is needed for autopkgtest failures and is
therefore blocking apparmor fixes for cloud images.
2024-09-30 16:15:08 +05:30
Utkarsh Gupta
b5d00fae13 Add 6.11 kernel apparmor features' preseeds 2024-09-25 13:41:12 +05:30
Michael Hudson-Doyle
c4e69348ae Update the model used for TPM FDE installs. 2024-09-25 13:51:08 +12:00
Dan Bungert
17e5802c2b releasing package livecd-rootfs version 24.10.20 2024-09-20 12:36:44 -06:00
Chad Smith
c567b71239 fix(functions): cloud-init.service renamed cloud-init-network.service
In cloud-init version 24.3, single process mode where a shared python
systemd service cloud-init-main. In that release, cloud-init.service was
renamed cloud-init-network.service to better clarify cloud-init's
systemd unit names relative to the cloud-init boot stages.

This rename only applies to Oracular and newer releases.

See: https://discourse.ubuntu.com/t/announcement-cloud-init-perfomance-optimization-single-process/47505

functions drops in a complete override for cloud-init.service. That
override in /etc/systemd/system needs to be renamed and refreshed to
latest single process configuration.

LP: #2081325
2024-09-20 10:41:57 -06:00
Chris Peterson
160cca31da releasing package livecd-rootfs version 24.10.19 2024-09-17 21:12:56 -07:00
Chris Peterson
ed1844eda1 live-{server,desktop}: USE_KDUMP=0 only live layer
kdump-tools uses ucf for config file management and naively
modifying the config file meant for the target system directly
will cause the file hash to not get updated in the ucf database.
This will then cause later modifications to fail because
"there's nothing to do". Although actually doing the modification
to the ucf database is messy. Let's just modify the file in the live
layer to get the behavior we want there.
2024-09-17 21:01:36 -07:00
Chris Peterson
c16a2fda9b releasing package livecd-rootfs version 24.10.18 2024-09-16 17:34:58 -06:00
Chris Peterson
7f1c726441 ubuntu: disable kdump-tools by default
We install the kdump-tools package to minimal layer via inclusion in the
desktop-minimal seed, but it is enabled by default. Include a new chroot
hook to set USE_KDUMP=0 to make sure it's disabled by default and let
the installer decide to enable it or not.
2024-09-16 09:48:27 -07:00
Chris Peterson
67df97f099 ubuntu-server: disable kdump-tools by default
We install the kdump-tools package to minimal layer via inclusion in the
server-minimal seed, but it is enabled by default. Include a new chroot
hook to set USE_KDUMP=0 to make sure it's disabled by default and let
the installer decide to enable it or not.
2024-09-16 09:46:33 -07:00
Dan Bungert
9509ef415a releasing package livecd-rootfs version 24.10.17 2024-09-12 15:30:37 -06:00
Dan Bungert
db0a0f0462 desktop & many flavors: kernel in minimal layer 2024-09-12 14:24:33 -06:00
Dan Bungert
c02b2224b7 releasing package livecd-rootfs version 24.10.16 2024-09-11 12:30:36 -06:00
Dan Bungert
c9df34c340 live-server: fix looking for ga variant 2024-09-11 12:29:35 -06:00
Dan Bungert
2154b4fe1f releasing package livecd-rootfs version 24.10.15 2024-09-10 17:00:56 -06:00
Dan Bungert
8acf29a786 live-server: place kernel in the minimal layer
By placing the kernel in minimal, we can achieve the following
improvements:

1. Space savings - there are redundant packages present in the ship-live
   pool and in the live layer.  Adding the kernel to minimal means that
   the kernel is already in the live layer, and we don't then also need
   it in the pool.
2. Time savings - informal vm testing suggests more than a minute
   improvement to have the kernel preinstalled over installing it at
   runtime.

As always, there is a cost tradeoff:

1. If a different kernel is desired, we need to be able to remove this
   preinstalled kernel.  Relevant curtin and subiquity changes are
   already landed.
2. When installing that other kernel, it'll take longer than today due
   to still needing to install a kernel at runtime + the time cost of
   removing the preinstalled kernel.
2024-09-10 17:00:56 -06:00
Michael Hudson-Doyle
09199d5fee releasing package livecd-rootfs version 24.10.14 2024-09-10 16:12:04 +12:00
Michael Hudson-Doyle
529d2cce97 add changelog for ubuntu-core-desktop -> ubuntu-core-installer change 2024-09-10 16:11:27 +12:00
Sergio Costas Rodriguez
d8fa3db5dc
Integrate Core Desktop 24 as a Core subproject
This patch updates Core Desktop to version 24, and also makes
it a subproject of Core, so it shares nearly the whole project
files and simplifies maintenance. It is based on a proposal from
Michael Hudson-Doyle. https://git.launchpad.net/~mwhudson/livecd-rootfs/+git/livecd-rootfs/commit/?id=94cb68d47530a564060155f985f963f59786809f
2024-09-05 13:06:32 +02:00
Dan Bungert
ee0a30b589 releasing package livecd-rootfs version 24.10.13 2024-09-04 14:27:29 -06:00
Dan Bungert
df279c8292 autopkgtest: change workdir
As seen in LP: #2078980, the default workdir under /tmp may be mounted
nodev, so create our own.
2024-09-04 14:24:32 -06:00
Chris Peterson
9d57bd093e Release packaging livecd-rootfs version 24.10.12 2024-08-26 17:03:38 -07:00
Chris Peterson
7f25e9cad5 Refresh ubuntu-classic-2404-amd64 model
Update the ubuntu-classic-2404-amd64.model definition in the
ubuntu hooks after changes in [1] to update snap tracks.

[1] d864558b66
2024-08-26 12:39:51 -07:00
Utkarsh Gupta
bd5ca6e0b5 Update d/ch for 24.10.11 release 2024-08-22 04:59:09 +05:30
Simon Poirier
df4017bf10 disk-image-uefi: Fix regression with partition sizing on arm
The sgdisk arguments for arm got mistakenly reordered, with the second
partition starting at offset 0.
2024-08-21 18:44:30 -04:00
Simon Poirier
60a5c1a779 Update changelog 2024-08-20 19:13:23 -04:00
Simon Poirier
61f1b20a5a disk-image-uefi.binary: shift down boot number to 13
Support some systems which don't handle partition numbers
higher than 15. (LP: #2072929)
Partition 16 was added for /boot to enable cloud FDE (commit a8b2a9b01)
2024-08-20 18:57:07 -04:00
Utkarsh Gupta
1a6895d2ba Update d/ch for 24.10.9 release 2024-08-14 18:02:48 +05:30
Cody Shepherd
eecd0191ec
fix: remove ec2-version hook for cpc images 2024-08-09 13:25:06 -07:00
Steve Langasek
eb075b35ec releasing package livecd-rootfs version 24.10.8 2024-07-25 11:12:54 -07:00
Steve Langasek
776d9c18c3 Merge remote-tracking branch 'ubuntustudio-dev/ubuntu/master' into ubuntu/master 2024-07-25 11:12:45 -07:00
Łukasz 'sil2100' Zemczak
c78d87d638 releasing package livecd-rootfs version 24.10.7 2024-07-24 16:13:02 +01:00
Heinrich Schuchardt
5fda764262 riscv64: preinstalled image for Microchip PIC64GX Curiosity Kit
Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-07-22 15:24:21 +02:00
Erich Eickmeyer
adb8e34261 Fix version after rebase 2024-07-19 12:26:49 -07:00
Erich Eickmeyer
27191e873b Update changelog 2024-07-19 12:23:17 -07:00
Erich Eickmeyer
8f33879432 Add a minimal installation for Ubuntu Studio
Ubuntu Studio wants to add a minimal installation. The individual tasks
are metapackages that can be installed by the ubuntustudio-desktop task.

With that in mind, we would like to reintroduce
ubuntustudio-desktop-core as a minimal installation. This is made much
easier with the layered images compared to the package removal format
used by ubiquity. This also means ubuntustudio-desktop-core becomes the
base seed.

If I'm missing anything, please advise.
2024-07-19 12:21:16 -07:00
Dan Bungert
8c254c25f0 releasing package livecd-rootfs version 24.10.6 2024-07-18 15:58:56 -06:00
Chad Smith
97dd81183b functions: proper cloud-init.service full unit override in etc
System override drop-ins cannot redact dependencies (Before or After) and
thus require a full unit override. Avoid writing the unit file delivered
by cloud-init deb package in /lib/systemd/system/cloud-init.service because
it will generate warnings fron debsums -c about modified files.

The correct place to provide a full unit override is in
/etc/systemd/system/cloud-init.service in order to drop
Before=sysinit.target from the packaged cloud-init.service file.

Note vigilance will be needed across cloud-init SRU boundaries to ensure
we sync any cloud-init.service unit changes that are introduced to
stable releases because livecd-rootfs is overriding the whole file.

LP: #2069391
2024-07-16 10:58:09 -06:00
Łukasz 'sil2100' Zemczak
fcbde8a452 releasing package livecd-rootfs version 24.10.5 2024-07-11 13:02:09 +02:00
Łukasz 'sil2100' Zemczak
c9fc7f390d Add changelog, fix typo. 2024-07-11 13:01:44 +02:00
Łukasz 'sil2100' Zemczak
b6135788ba Build qcow2 images for non-SUBARCH core images for lxd purposes. 2024-07-05 11:36:42 +02:00
Łukasz 'sil2100' Zemczak
60d79eebdc Tweak changelog. 2024-06-27 09:26:20 +02:00
Zhai Zhaoxuan
f189a4e680
support specify sector size in ubuntu-image
Signed-off-by: Zhai Zhaoxuan <zhai.zhaoxuan@canonical.com>
2024-06-27 09:58:59 +08:00
Erich Eickmeyer
782d564441 Update changelog 2024-06-19 15:54:01 -07:00
Erich Eickmeyer
adcbbe388d Switch ubuntustudio to generic kernel
The lowlatency kernel will eventually undergo deprecation. Rather than
wait for such a time to happen and be reactive, Ubuntu Studio would
rather be proactive about this now that the generic kernel can act as a
lowlatency kernel with certain command line parameters as outlined by
https://discourse.ubuntu.com/t/fine-tuning-the-ubuntu-24-04-kernel-for-low-latency-throughput-and-power-efficiency/44834.

As such, we have modified our `ubuntustudio-lowlatency-settings`
package, which installs `/etc/default/grub.d/ubuntustudio.cfg` with the
following line:

-GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT threadirqs"
+GRUB_CMDLINE_LINUX_DEFAULT="$GRUB_CMDLINE_LINUX_DEFAULT preempt=full
nohz_full=all threadirqs"

Additionally, that same file used to set "GRUB_FLAVOUR_ORDER" which is
no longer needed.
2024-06-19 15:53:52 -07:00
Utkarsh Gupta
e3dbb76a27 Update d/ch for 24.10.4 release 2024-06-19 22:03:18 +05:30
Utkarsh Gupta
a8991217d3 Merge branch 'drop-unminimize' into ubuntu/master
* drop-unminimize:
  Drop unminimize spit out by livecd-rootfs
2024-06-19 22:02:17 +05:30
Utkarsh Gupta
34482819f0 Drop unminimize spit out by livecd-rootfs
And prefer the one that is packaged separately as
src:unminimize, which installs the package in
/usr/bin/unminimize
2024-06-19 21:59:31 +05:30
Utkarsh Gupta
7535bf7bc7 Use packaged unminimize in the ubuntu-server images
unminimize is currently present at /usr/local/sbin/unminimize,
which is spit out by livecd-rootfs currently. We'd like to switch
that to use the packaged unminimize, which will be at
/usr/bin/unminimize instead.
2024-06-19 21:51:50 +05:30
Philip Roche
1e8cdd60a8
Merge bugfix/LP-2069828-restore-unminimize-during-server-build into ubuntu/master [a=philroche] [r=sdeziel,utkarsh]
fix: Revert removal of unminimize call in server builds (LP: #2069828)

There was a change made by me in https://code.launchpad.net/~philroche/livecd-rootfs/+git/livecd-rootfs/+merge/466388
as part of LP: #2066905 to remove references to LXD in the unminimize scripts
but I also removed the calls to `unminimize` in error.

This still needs to run but without any references to LXD which no longer
needs to be `unminimized` via snap installation.

MP: https://code.launchpad.net/~philroche/livecd-rootfs/+git/livecd-rootfs/+merge/467826
2024-06-19 16:46:32 +01:00
Philip Roche
f574fc8200
fix: Revert removal of unminimize call in server builds (LP: #2069828)
There was a change made by me in https://code.launchpad.net/~philroche/livecd-rootfs/+git/livecd-rootfs/+merge/466388
as part of LP: #2066905 to remove references to LXD in the unminimize scripts
but I also removed the calls to `unminimize` in error.

This still needs to run but without any references to LXD which no longer
needs to be `unminimized` via snap installation.
2024-06-19 15:47:18 +01:00
Michael Hudson-Doyle
07aded687c releasing package livecd-rootfs version 24.10.3 2024-06-11 11:51:50 +12:00
Michael Hudson-Doyle
216ad48bcf Merge branch 'ubuntu-core-installer' into ubuntu/master 2024-06-11 10:31:54 +12:00
Michael Hudson-Doyle
d6484f4de0 add a comment explaining what the ubuntu-core-installer project is 2024-06-07 19:38:41 +12:00
Michael Hudson-Doyle
abe1dec82f simplifications suggested in review 2024-06-07 19:38:41 +12:00
Michael Hudson-Doyle
61427da03f Add 'ubuntu-core-installer' project.
The ubuntu-core-installer image is an installer that installs ubuntu
core. The environment the installer runs in is similar to the server
installer but it has a source catalog entry that points to the model
created in ubuntu-core-installer/hooks/05-prepare-image.binary, which
subiquity knows how to install.
2024-06-07 19:38:16 +12:00
Brian Murray
5122c279aa Add a changelog entry for the last merge 2024-06-06 14:04:30 -07:00
Heinrich Schuchardt
6b3e2b5a97 riscv64: use earlycon=sbi on command line
With current kernel we need to specify the SBI driver
for the early console to work.

Signed-off-by: Heinrich Schuchardt <heinrich.schuchardt@canonical.com>
2024-06-06 16:19:24 +02:00
Philip Roche
789729be3b releasing package livecd-rootfs version 24.10.2 2024-05-24 12:04:21 +01:00
Philip Roche
05b66d0897 Merge bugfix/lxd-no-longer-seeded-unminimize-oracular into ubuntu/master [a=philroche] [r=paride,sdeziel,utkarsh,vorlon]
fix: No longer install LXD snap in unminimize script (LP: #2066905)

The LXD snap is no longer seeded in any images since Noble+ so the LXD related unminimize logic in
./live-build/auto/build?h=ubuntu/noble and ./live-build/ubuntu-server/hooks/01-unminimize.chroot_early
 is no longer required.

lxd-installer can remain installed.

MP: https://code.launchpad.net/~philroche/livecd-rootfs/+git/livecd-rootfs/+merge/466316
2024-05-24 12:03:30 +01:00
Philip Roche
46c19dfa91 fix: No longer install LXD snap in unminimize script (LP: #2066905)
The LXD snap is no longer seeded in any images since Noble+ so the LXD related unminimize logic in
./live-build/auto/build?h=ubuntu/noble and ./live-build/ubuntu-server/hooks/01-unminimize.chroot_early
 is no longer required.

lxd-installer can remain installed.
2024-05-23 14:13:30 +01:00
Michael Hudson-Doyle
626dced7a2 Replace 'ubuntustudio-dvd' project with an almost identical 'ubuntustudio' project. 2024-05-12 11:23:46 +02:00
Phil Roche
52b244f4d5 Upload initial 24.10.1 for oracular 2024-05-06 15:59:19 +02:00
Phil Roche
eb0d0cdfce fix: Transition to ocular versioning for livecd-rootfs - initial version 24.10.1 2024-05-06 15:58:36 +02:00
Phil Roche
d63b16bdf0 Merge feature/re-enable-noble-hyperv-desktop-builds into ubuntu/master [a=philroche] [r=jchittum,jibel,vorlon]
fix(HyperV desktop): Re-enable ability to build HyperV desktop images (LP: #2064280)

We have not built Hyperv desktop images since Jammy and with the re-introduction of HyperV for Noble we have encountered build issues caused by refactoring and removals of code assumed to be redundant but the HyperV desktop images were actually using these code paths.

In bbedffe6 we split the building of cloud images and non cloud to using an ddisk-image-uefi.binary and disk-image-uefi-non-cloud.binary respectively. In e38264ca there was a change which meant that any attempt to build hyperv images would result in incorrect disk size and incorrect disk label.

This has been fixed by ensuring that the ubuntu:desktop-preinstalled $PROJECT:$SUBPROJECT matches and sets the correct disk size and correct disk label.

A change in 76d79466 changed the logic of how the image size for amd64 images were being set. This overrode the sizes set for the desktop images incorrectly.

This MP ensures that hyperv desktop images can now be built and successfully launched with hyperv manager.

MP: https://code.launchpad.net/~philroche/livecd-rootfs/+git/livecd-rootfs/+merge/465288
2024-05-06 14:24:04 +02:00
Philip Roche
0945c40fb2 fix(Hyperv Desktop): remove redundant case statement match ubuntu
`ubuntu` will never match `${PROJECT:-}:${SUBPROJECT:-}` cases statement and can be safely removed.
2024-05-02 10:23:35 +01:00
Philip Roche
8fe26586cc fix(Hyperv Desktop): as we are using oem-config we do not need ubiquity-slideshow-ubuntu
As we are only using oem-config, oem-config-slideshow-ubuntu will suffice
2024-05-02 10:21:50 +01:00
Philip Roche
dc2d1318d2 fix(Hyperv Desktop): ubiquity-frontend-gtk is a dependency of the oem-config-gtk package so does not need to be added explicitly 2024-05-02 10:21:50 +01:00
Philip Roche
7895eb2240 d/ch update for 24.04.70 to re-enable ability to build HyperV desktop images (LP: #2064280) 2024-05-02 10:21:50 +01:00
Philip Roche
ff47664d8c feat(Hyperv Desktop): Disable cloud-init for Hyperv Desktop images (LP: #2064280)
For Ubuntu 24.04 and later cloud-init is included in desktop images. This is not applicable for Hyperv images so
we can disable cloud-init. This leaves the cloud-init package installed but disabled so users can still
use it if they want.

This is a documented way to disable cloud-init. See https://cloudinit.readthedocs.io/en/latest/howto/disable_cloud_init.html
2024-05-02 10:21:50 +01:00
Phil Roche
c459e5e5af fix(HyperV desktop): Ensure removed hyperv dependencies are present in HyperV builds (LP: #2064280)
A change in 8fb21808 also removed many of the dependencies that the hyperv images require.
This removal has been restored in this commit by adding them expliciltly in the hyperv hook.
2024-04-30 18:00:14 +01:00
Phil Roche
48aed40194 fix(HyperV desktop): Re-enable ability to build HyperV desktop images (LP: #2064280)
We have not built Hyperv desktop images since Jammy and with the re-introduction of HyperV for Noble we have encountered build issues caused by refactoring and removals of code assumed to be redundant but the HyperV desktop images were actually using these code paths.

In bbedffe6 we split the building of cloud images and non cloud to using an ddisk-image-uefi.binary and disk-image-uefi-non-cloud.binary respectively. In e38264ca there was a change which meant that any attempt to build hyperv images would result in incorrect disk size and incorrect disk label.

This has been fixed by ensuring that the ubuntu:desktop-preinstalled $PROJECT:$SUBPROJECT matches and sets the correct disk size and correct disk label.

A change in 76d79466 changed the logic of how the image size for amd64 images were being set. This overrode the sizes set for the desktop images incorrectly.

This commit ensures that any desktop image being created uses the correct image size.
2024-04-30 18:00:07 +01:00
128 changed files with 1566 additions and 1023 deletions

1
debian/.gitignore vendored Normal file
View File

@ -0,0 +1 @@
files

588
debian/changelog vendored
View File

@ -1,87 +1,319 @@
livecd-rootfs (24.04.94) noble; urgency=medium livecd-rootfs (25.10.17) questing; urgency=medium
[ Chad Smith ] [ Tim Andersson ]
* Override cloud-init.service in /etc so as to not invalidate debsums * Enable ubuntu-dangerous desktop builds (desktop images
(LP: #2069391) with all snaps on edge).
* Update the overridden copy of cloud-init.service * Remove temporary snap overrides.
* These changes were introduced in 24.04.90 first, then reverted. * Import latest 25.10 classic model (LP: #2120473)
* Import 25.10 dangerous model with all snap channels corrected.
-- Antoine Lassagne <antoine.lassagne@canonical.com> Thu, 21 Aug 2025 14:17:08 +0200 -- Utkarsh Gupta <utkarsh@ubuntu.com> Wed, 27 Aug 2025 18:57:13 +0530
livecd-rootfs (24.04.93) noble; urgency=medium livecd-rootfs (25.10.16) questing; urgency=medium
* Add 6.14 kernel apparmor features' preseeds. (LP: #2116199) * Put the uc20-style system seed for TPM backed FDE in the live layer.
-- Bryan Alexander <bryan.alexander@canonical.com> Thu, 17 Jul 2025 11:52:40 -0700 -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 13 Aug 2025 10:34:39 +1200
livecd-rootfs (24.04.92) noble; urgency=medium livecd-rootfs (25.10.15) questing; urgency=medium
* Temporarily revert the 24.04.90 changes. We wish to validate only * Add missing components to 6.14 kernel apparmor features' preseeds.
24.04.91 for Ubuntu 24.04.3 point release. (LP: #2116199)
-- Dan Bungert <daniel.bungert@canonical.com> Thu, 31 Jul 2025 11:27:41 -0600 -- Bryan Alexander <bryan.alexander@canonical.com> Thu, 17 Jul 2025 13:27:17 -0700
livecd-rootfs (24.04.91) noble; urgency=medium livecd-rootfs (25.10.14) questing; urgency=medium
* Fix lowlatency kernel flavour name (LP: #2119012) [ Didier Roche-Tolomelli ]
[ Tim Andersson ]
[ Daniel Bungert ]
* desktop TPMFDE: move snaps back to stable channels
-- Juerg Haefliger <juerg.haefliger@canonical.com> Wed, 30 Jul 2025 17:36:25 +0200 -- Dan Bungert <daniel.bungert@canonical.com> Thu, 07 Aug 2025 16:21:32 -0600
livecd-rootfs (24.04.90) noble; urgency=medium livecd-rootfs (25.10.13) questing; urgency=medium
[ Chad Smith ] [ Olivier Gayot ]
* Override cloud-init.service in /etc so as to not invalidate debsums * Build ubuntu-server with multipath-tools-boot installed, so that the
(LP: #2069391) multipath stack ends up present in the initramfs.
* Update the overridden copy of cloud-init.service The LVM stack is already present in the initramfs of the installer. And
since kinetic, the /dev/mapper entries for LVM devices are created during
the initramfs phase. This is a problem when we have LVM on top of a
multipath disk because LVM ends up creating /dev/mapper entries out of
/dev/sdX (or /dev/sdXpY) devices, not out of /dev/mapper/mpatha as it
should. Adding the multipath stack in the initramfs gives multipath a
chance to take ownership of /dev/sdX (or /dev/sdXpY) devices before LVM
does (LP: #2080474).
-- Dan Bungert <daniel.bungert@canonical.com> Tue, 22 Jul 2025 15:50:34 -0600 -- Dan Bungert <daniel.bungert@canonical.com> Thu, 24 Jul 2025 17:37:33 -0600
livecd-rootfs (24.04.89) noble; urgency=medium livecd-rootfs (25.10.12) questing; urgency=medium
* desktop: Remove some cruft referencing the subiquity snap, which can [ Zygmunt Krynicki ]
result in 'error: snap "subiquity" is not installed' messages being * Use snap wait system seed.loaded to wait for snapd (LP: #2114923)
printed on the terminal. (LP: #2083554)
-- Dan Bungert <daniel.bungert@canonical.com> Wed, 30 Apr 2025 15:27:46 -0600 [ Dennis Loose ]
[ Didier Roche-Tolomelli ]
* Allow the ubuntu-desktop-installer to request snap seeding state
livecd-rootfs (24.04.88) noble; urgency=medium -- Didier Roche-Tolomelli <didrocks@ubuntu.com> Tue, 15 Jul 2025 16:30:41 +0200
* risc-v: directly copy device trees to /boot/dtb. (LP: #2092205) livecd-rootfs (25.10.11) questing; urgency=medium
* Fix installer startup to wait for snapd to be preseeded first
(LP: #2114923)
-- Didier Roche-Tolomelli <didrocks@ubuntu.com> Fri, 11 Jul 2025 14:57:56 +0200
livecd-rootfs (25.10.10) questing; urgency=medium
* risc-v cloud images: enable cpc fixes for riscv64
-- Adriano Cordova <adriano.cordova@canonical.com> Tue, 01 Jul 2025 09:11:16 -0400
livecd-rootfs (25.10.9) questing; urgency=medium
* desktop and server: read $SUBARCH to allow the use of nvidia's kernel
instead of generic (LP: #2109822)
-- Antoine Lassagne <antoine.lassagne@canonical.com> Tue, 17 Jun 2025 22:23:11 +1200
livecd-rootfs (25.10.8) questing; urgency=medium
[ Didier Roche-Tolomelli ]
* desktop: use snapd from edge
* desktop: tpmfde image use desktop-security-center and firmware-updater
from edge
[ Dan Bungert ]
* lb_binary_layered: try #2 to fix mtimes in layered squashfses. (LP2107332)
Constrain mtime sync to the current upperdir so that files in lower layers
are not redundantly included.
* server: fix failure to process the hwe kernel layer due to multiple
kernels being present (LP: #2112501)
-- Dan Bungert <daniel.bungert@canonical.com> Fri, 13 Jun 2025 12:00:20 -0600
livecd-rootfs (25.10.7) questing; urgency=medium
* revert 25.10.6 due to duplicated snaps
-- Dan Bungert <daniel.bungert@canonical.com> Tue, 10 Jun 2025 07:55:40 -0600
livecd-rootfs (25.10.6) questing; urgency=medium
* lb_binary_layered: fix mtimes in layered squashfses. (LP: #2107332)
Failing to preserve mtime causes unnecessary python pyc rebuilds due to
mtime mismatch, and it's generally strange that reinstalling a package
that is already installed changes the files on the system (minus
intentional differences such as what's going on in the minimized install
source).
-- Dan Bungert <daniel.bungert@canonical.com> Fri, 30 May 2025 17:05:15 -0600
livecd-rootfs (25.10.5) questing; urgency=medium
* desktop: TPMFDE snapd from latest/edge
-- Dan Bungert <daniel.bungert@canonical.com> Wed, 28 May 2025 10:27:47 -0600
livecd-rootfs (25.10.4) questing; urgency=medium
* desktop: TPMFDE kernel from 25.10/candidate
-- Dan Bungert <daniel.bungert@canonical.com> Sun, 25 May 2025 23:18:59 -0600
livecd-rootfs (25.10.3) questing; urgency=medium
* desktop: update TPMFDE model and don't skip 020-ubuntu-enhanced-sb.binary.
(LP: #2110195) Temporarily use the model that allows overriding snap
channels so we can get matching snaps.
-- Dan Bungert <daniel.bungert@canonical.com> Fri, 23 May 2025 12:59:40 -0600
livecd-rootfs (25.10.2) questing; urgency=medium
* desktop: skip 020-ubuntu-enhanced-sb.binary until a matching kernel is
ready for snapd 2.68.x
-- Dan Bungert <daniel.bungert@canonical.com> Tue, 06 May 2025 08:24:10 +0200
livecd-rootfs (25.10.1) questing; urgency=medium
* desktop: no longer involve cloud-init in early networking (LP: #2107225)
* server: provide network config direct to netplan
* server: update default netplan config for IPv6 autoconfiguration &
connectivity
-- Dan Bungert <daniel.bungert@canonical.com> Mon, 28 Apr 2025 09:53:34 -0600
livecd-rootfs (25.04.26) plucky; urgency=medium
* cpc: Restore UseDomains=true in cloud images (LP: #2106729)
-- Tomáš Virtus <tomas.virtus@canonical.com> Thu, 10 Apr 2025 13:07:25 +0000
livecd-rootfs (25.04.25) plucky; urgency=medium
* live-build/auto/build: Use --workdir in ubuntu-image to avoid filling
tmpfs-based /tmp (LP: #2103735)
-- Dave Jones <dave.jones@canonical.com> Thu, 20 Mar 2025 17:22:47 +0000
livecd-rootfs (25.04.24) plucky; urgency=medium
* desktop: update TPMFDE model to move pc-kernel to channel 25.04/stable.
-- Dan Bungert <daniel.bungert@canonical.com> Thu, 13 Mar 2025 17:17:30 -0600
livecd-rootfs (25.04.23) plucky; urgency=medium
* Add 6.14 kernel apparmor features' preseeds. (LP: #2102120)
-- Jess Jang <jess.jang@canonical.com> Wed, 12 Mar 2025 21:08:31 -0500
livecd-rootfs (25.04.22) plucky; urgency=medium
* server: leave the initrd.img symlink, we want that later for probably
several reasons but at least for LP: #2101831
* desktop: update TPMFDE model for 25.04.
-- Dan Bungert <daniel.bungert@canonical.com> Tue, 11 Mar 2025 09:16:03 -0600
livecd-rootfs (25.04.21) plucky; urgency=medium
* With subiquity builds, setup install-sources to offer bridge kernel.
* Add USE_BRIDGE_KERNEL to make it easier to control in the future.
-- Dan Bungert <daniel.bungert@canonical.com> Wed, 05 Mar 2025 08:18:54 -0700
livecd-rootfs (25.04.20) plucky; urgency=medium
[ Adriano Cordova ]
* riscv: add SUBARCH 'jh7110'. (LP: #2099993) * riscv: add SUBARCH 'jh7110'. (LP: #2099993)
-- Adriano Cordova <adriano.cordova@canonical.com> Mon, 10 Feb 2025 10:40:23 -0300 [ Michael Hudson-Doyle ]
* In ubuntu-server builds, install the first kernel in the base layer, not
the "ga" kernel (which may not be installed at all, as is the case in e.g.
the arm64+largemem builds).
* Again in ubuntu-server builds, configure LAYERFS_PATH in the kernel layer
and ensure the initrd is freshly regenerated in that layer. LAYERFS_PATH
was being set to the layer below the kernel layer, which meant that the
live session did not get access to all the modules in the case that the
kernel had not been installed in the base layer, which in turn means that
installs fail. (LP: #2100148)
* While we're at it, delete any initrd from any other layer than a kernel
layer, as they just waste space on the ISO.
livecd-rootfs (24.04.87) noble; urgency=medium -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Thu, 27 Feb 2025 20:34:01 +1300
* Add 6.11 kernel apparmor features' preseeds. (LP: #2098306) livecd-rootfs (25.04.19) plucky; urgency=medium
-- Thomas Bechtold <thomas.bechtold@canonical.com> Thu, 13 Feb 2025 12:22:41 +0100 * add cpc-sbom to create_manifest calls to generate sboms (LP: #2077105)
livecd-rootfs (24.04.86) noble; urgency=medium -- Thomas Bechtold <thomasbechtold@jpberlin.de> Tue, 25 Feb 2025 13:20:49 +0100
* Do not build HWE kernel layer on RISC-V as there is no HWE kernel there. livecd-rootfs (25.04.18) plucky; urgency=medium
(LP: #2098622)
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Mon, 17 Feb 2025 11:32:19 +1300 [ Michael Hudson-Doyle ]
* Pre-emptively include the override to not try to build HWE kernel layer in
post .2 server riscv64 ISOs.
livecd-rootfs (24.04.85) noble; urgency=medium [ Simon Quigley ]
* Move from http://ppa.launchpad.net to https://ppa.launchpadcontent.net
when specifying EXTRA_PPAS.
* Update debhelper compat to 13, no changes needed.
* Make the package completely Lintian-clean except for no-dep5-copyright.
* Update Standards-Version to 4.7.0, no changes needed.
* Add support for multiple pools (/var/lib/{livefs,preinstalled}-pool/).
[ Simon Poirier ]
* increase ubuntu-cpc ppc64el disk size to 2.4G
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Thu, 20 Feb 2025 10:24:04 +1300
livecd-rootfs (25.04.17) plucky; urgency=medium
[ Dan Bungert ]
* Fix build failure when using lowlatency-hwe-24.04, as ubuntustudio does. * Fix build failure when using lowlatency-hwe-24.04, as ubuntustudio does.
(LP: #2098105) (LP: #2098105)
-- Dan Bungert <daniel.bungert@canonical.com> Wed, 12 Feb 2025 18:39:48 -0700 [ Michael Hudson-Doyle ]
* live-build/ubuntu-mini-iso/hooks/01-mini-iso.binary: Drop the
assumption that the uncompressed part of the initrd is unpacked to a
directory called "main".
* live-build/ubuntu-mini-iso/hooks/01-mini-iso.chroot_early: Fix paths that
should have been adjusted when code moved from binary to chroot hook.
livecd-rootfs (24.04.84) noble; urgency=medium -- Dan Bungert <daniel.bungert@canonical.com> Fri, 14 Feb 2025 17:25:29 +1300
[ Florent 'Skia' Jacquet ] livecd-rootfs (25.04.16) plucky; urgency=medium
* Enable the HWE stack for 24.04.2. (LP: #2098105)
[ Utkarsh Gupta ] * buildd: add udev to buildd images to fix networking issue. (LP: #2092196)
* Bump HWE kernel track to 24.04 for ubuntu-core-desktop.
-- Utkarsh Gupta <utkarsh@ubuntu.com> Thu, 13 Feb 2025 03:15:12 +0530 -- Simon Poirier <simon.poirier@canonical.com> Thu, 13 Feb 2025 13:44:02 -0500
livecd-rootfs (24.04.83) noble; urgency=medium livecd-rootfs (25.04.15) plucky; urgency=medium
* Add 6.12 kernel apparmor features' preseeds.
-- Thomas Bechtold <thomas.bechtold@canonical.com> Thu, 13 Feb 2025 12:14:33 +0100
livecd-rootfs (25.04.14) plucky; urgency=medium
* Restore the default-layer.conf file in the initrd (LP: #2097838)
-- Dan Bungert <daniel.bungert@canonical.com> Tue, 11 Feb 2025 08:21:56 -0700
livecd-rootfs (25.04.13) plucky; urgency=medium
* install-sources: quote default kernel argument.
* ubuntu-core-installer: update install-sources.yaml with kernel.
-- Chris Peterson <chris.peterson@canonical.com> Wed, 05 Feb 2025 17:43:34 -0800
livecd-rootfs (25.04.12) plucky; urgency=medium
* Stop producing a rootfs tarball for the ubuntu-mini-iso builds.
* Move configuration of casper in ubuntu-serve:live builds to a "chroot
early" hook for the installer layer and remove the now unnecessary
update-initramfs from the binary hook that breaks because mkinitramfs
now requires that /sys is mounted. (LP: #2097280)
* Similar changes for ubuntu-mini-iso build.
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 05 Feb 2025 15:26:13 +1300
livecd-rootfs (25.04.11) plucky; urgency=medium
[ Heinrich Schuchardt ]
* riscv: copy device trees dtb/ in ESP
[ Michael Hudson-Doyle ]
* Allow snapd to re-exec in installer environment (the issues between snapd,
overlayfs and apparmer that meant re-execing caused problems were fixed in
snapd a long time ago).
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 29 Jan 2025 08:51:49 +1300
livecd-rootfs (25.04.10) plucky; urgency=medium
* riscv: copy device trees to the ESP. Fixes (LP: #2095415)
-- Adriano Cordova <adriano.cordova@canonical.com> Tue, 21 Jan 2025 10:38:54 -0300
livecd-rootfs (25.04.9) plucky; urgency=medium
* Move reference wsl-setup script to /usr/lib/wsl/
-- Didier Roche-Tolomelli <didrocks@ubuntu.com> Wed, 22 Jan 2025 10:17:56 +0100
livecd-rootfs (25.04.8) plucky; urgency=medium
* risc-v: directly copy device trees to /boot/dtbs (LP: #2092205)
-- Adriano Cordova <adriano.cordova@canonical.com> Thu, 19 Dec 2024 10:42:57 -0300
livecd-rootfs (25.04.7) plucky; urgency=medium
[ Carlos Nihelton ] [ Carlos Nihelton ]
[ Didier Roche-Tolomelli ] [ Didier Roche-Tolomelli ]
@ -90,105 +322,263 @@ livecd-rootfs (24.04.83) noble; urgency=medium
- Create livecd-roots tarball as a .wsl extension - Create livecd-roots tarball as a .wsl extension
- Create wsl-distribution.conf for WSL images - Create wsl-distribution.conf for WSL images
-- Didier Roche-Tolomelli <didrocks@ubuntu.com> Thu, 23 Jan 2025 14:22:54 +0100 -- Didier Roche-Tolomelli <didrocks@ubuntu.com> Mon, 09 Dec 2024 14:29:37 +0100
livecd-rootfs (24.04.82) noble; urgency=medium livecd-rootfs (25.04.6) plucky; urgency=medium
* Add support for arm64+tegra-jetson flavor. (LP: #2091392) * Refer to LB_DISTRIBUTION, not SUITE, in the ubuntu-mini-iso binary hook.
-- Remy Martin <remy.martin@canonical.com> Fri, 13 Dec 2024 11:53:08 +0100 -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Fri, 06 Dec 2024 18:59:35 +1300
livecd-rootfs (24.04.81) noble; urgency=medium livecd-rootfs (25.04.5) plucky; urgency=medium
* Introduce unminimize as a package in OCI images. (LP: #2078583) * Fix ubuntu-mini-iso build, by using script from debian-cd to create a
bootable ISO rather than the now deleted cd-boot-images-amd64 package.
-- Utkarsh Gupta <utkarsh@ubuntu.com> Wed, 20 Nov 2024 15:43:55 +0530 -- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 04 Dec 2024 13:33:53 +1300
livecd-rootfs (24.04.80) noble; urgency=medium livecd-rootfs (25.04.4) plucky; urgency=medium
[ Rémy Martin ]
* Add support for arm64+tegra-jetson flavor to disambiguate from the
NVIDIA IGX builds.
-- Loïc Minier <loic.minier@ubuntu.com> Tue, 26 Nov 2024 13:41:05 +0000
livecd-rootfs (25.04.3) plucky; urgency=medium
* Switch Lubuntu to stacked squashfses, and split apart the common
functionality to avoid Subiquity-specific commands.
* Add optional Dracut support for installed images, enable it for Lubuntu.
-- Simon Quigley <tsimonq2@ubuntu.com> Sat, 23 Nov 2024 13:52:09 -0600
livecd-rootfs (25.04.2) plucky; urgency=medium
* Explicitly create home directory for buildd system user to avoid issues * Explicitly create home directory for buildd system user to avoid issues
with installing and running snaps. (LP: #2083240) with installing and running snaps. (LP: #2083240)
-- jchittum <john.chittum@canonical.com> Wed, 06 Nov 2024 07:43:40 -0500 -- jchittum <john.chittum@canonical.com> Wed, 06 Nov 2024 07:40:42 -0500
livecd-rootfs (24.04.79) noble; urgency=medium livecd-rootfs (25.04.1) plucky; urgency=medium
* Add apparmor policy permstable32 missing component (LP: #2084698) * Add support for install-sources version: 2, which handles bridge kernels.
-- Thomas Bechtold <thomas.bechtold@canonical.com> Fri, 18 Oct 2024 13:54:51 +0200 -- Dan Bungert <daniel.bungert@canonical.com> Thu, 17 Oct 2024 08:22:38 -0600
livecd-rootfs (24.04.78) noble; urgency=medium livecd-rootfs (24.10.27) oracular; urgency=medium
* add cpc-sbom to create_manifest calls to generate sboms (LP: #2077105) * Set UBUNTU_STORE_COHORT_KEY="+" to prepare-image to make sure we simply
use the latest snap versions regardless of phasing state.
-- jchittum <john.chittum@canonical.com> Mon, 26 Aug 2024 14:15:05 -0400 -- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Tue, 08 Oct 2024 13:06:10 +0100
livecd-rootfs (24.04.77.1) noble; urgency=medium livecd-rootfs (24.10.26) oracular; urgency=medium
* Use generic kernel flavor for Nezha D1 and LicheeRV Dock.
-- Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Fri, 04 Oct 2024 10:30:28 +0200
livecd-rootfs (24.10.25) oracular; urgency=medium
* Update the model used for TPM FDE installs, yet again.
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Fri, 04 Oct 2024 12:21:38 +1300
livecd-rootfs (24.10.24) oracular; urgency=medium
* desktop: Remove some cruft referencing the subiquity snap, which can
result in 'error: snap "subiquity" is not installed' messages being
printed on the terminal. (LP: #2083554)
-- Dan Bungert <daniel.bungert@canonical.com> Wed, 02 Oct 2024 10:13:41 -0600
livecd-rootfs (24.10.23) oracular; urgency=medium
* Update the model used for TPM FDE installs, again, hopefully working this
time.
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 02 Oct 2024 19:06:50 +1300
livecd-rootfs (24.10.22) oracular; urgency=medium
* Revert "Update the model used for TPM FDE installs."
(to unblock apparmor fixes for cloud images)
-- Utkarsh Gupta <utkarsh@ubuntu.com> Mon, 30 Sep 2024 16:19:22 +0530
livecd-rootfs (24.10.21) oracular; urgency=medium
[ Utkarsh Gupta ]
* Add 6.11 kernel apparmor features' preseeds.
[ Michael Hudson-Doyle ]
* Update the model used for TPM FDE installs.
-- Utkarsh Gupta <utkarsh@ubuntu.com> Thu, 19 Sep 2024 19:42:24 +0530
livecd-rootfs (24.10.20) oracular; urgency=medium
[ Chad Smith ]
* Refresh cloud-init service override for updated service file name and
ordering fix. (LP: #2081325)
-- Dan Bungert <daniel.bungert@canonical.com> Fri, 20 Sep 2024 12:36:12 -0600
livecd-rootfs (24.10.19) oracular; urgency=medium
* live-server and desktop: disable kdump-tools only in the live layer.
-- Chris Peterson <chris.peterson@canonical.com> Tue, 17 Sep 2024 21:11:15 -0700
livecd-rootfs (24.10.18) oracular; urgency=medium
* live-server and desktop: disable kdump-tools in the minimal layer
to allow the installer to decide when to enable it (LP: #2077990).
-- Chris Peterson <chris.peterson@canonical.com> Fri, 13 Sep 2024 09:08:33 -0700
livecd-rootfs (24.10.17) oracular; urgency=medium
* desktop and subiquity-using flavors: install the kernel in the minimal
layer (LP 2080272)
-- Dan Bungert <daniel.bungert@canonical.com> Thu, 12 Sep 2024 15:30:34 -0600
livecd-rootfs (24.10.16) oracular; urgency=medium
* live-server: fix issue where the kernel was not actually placed in the
minimal layer
-- Dan Bungert <daniel.bungert@canonical.com> Wed, 11 Sep 2024 12:30:35 -0600
livecd-rootfs (24.10.15) oracular; urgency=medium
* live-server: install the kernel in the minimal layer (LP: #2080272)
-- Dan Bungert <daniel.bungert@canonical.com> Tue, 10 Sep 2024 12:42:33 -0600
livecd-rootfs (24.10.14) oracular; urgency=medium
[ Sergio Costas ]
* Switch ubuntu-core-desktop project to be a subproject of the
ubuntu-core-installer project.
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Tue, 10 Sep 2024 16:11:32 +1200
livecd-rootfs (24.10.13) oracular; urgency=medium
* Fix autopkgtest issue where /tmp mounted with nodev is used as a working
directory, which understandably causes problems for device node creation.
(LP: #2078980)
-- Dan Bungert <daniel.bungert@canonical.com> Wed, 04 Sep 2024 14:27:27 -0600
livecd-rootfs (24.10.12) oracular; urgency=medium
* Hotfix upload outside of git history, real change from 24.04.79.
* Update ubuntu-classic-2404-amd64 model in ubuntu hooks. (LP: #2077899) * Update ubuntu-classic-2404-amd64 model in ubuntu hooks. (LP: #2077899)
-- Chris Peterson <chris.peterson@canonical.com> Mon, 26 Aug 2024 16:57:12 -0700 -- Chris Peterson <chris.peterson@canonical.com> Mon, 26 Aug 2024 17:03:28 -0700
livecd-rootfs (24.04.77) noble; urgency=medium livecd-rootfs (24.10.11) oracular; urgency=medium
* Drop unminimize spit out by livecd-rootfs. (LP: #2077695) [ Simon Poirier ]
* Use packaged unminimize in the ubuntu-server images. * disk-image-uefi: Fix regression with partition sizing on arm.
-- Utkarsh Gupta <utkarsh@ubuntu.com> Wed, 21 Aug 2024 12:08:44 +0530 -- Utkarsh Gupta <utkarsh@ubuntu.com> Thu, 22 Aug 2024 04:58:46 +0530
livecd-rootfs (24.04.76) noble; urgency=medium livecd-rootfs (24.10.10) oracular; urgency=medium
* Force latest/stable/ubuntu-24.10 subiquity onto the ubuntu-core-installer * disk-image-uefi.binary: Shift down boot partition to 13 to support systems
ISO for now. (LP: #2077495) which don't handle partition numbers higher than 15. (LP: #2072929)
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Wed, 21 Aug 2024 16:13:58 +1200 -- Simon Poirier <simon.poirier@canonical.com> Tue, 20 Aug 2024 18:57:57 -0400
livecd-rootfs (24.04.75) noble; urgency=medium livecd-rootfs (24.10.9) oracular; urgency=medium
* Add 'ubuntu-core-installer' project. (LP: #2076307) [ Cody Shepherd ]
* fix: remove ec2-version hook for cpc images.
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Tue, 30 Jul 2024 16:35:31 +1200 -- Utkarsh Gupta <utkarsh@ubuntu.com> Wed, 14 Aug 2024 18:02:29 +0530
livecd-rootfs (24.04.74) noble; urgency=medium livecd-rootfs (24.10.8) oracular; urgency=medium
[ Erich Eickmeyer ]
* Add minimal installation to Ubuntu Studio
-- Steve Langasek <steve.langasek@ubuntu.com> Thu, 25 Jul 2024 11:12:52 -0700
livecd-rootfs (24.10.7) oracular; urgency=medium
* riscv64: preinstalled server image for Microchip PIC64GX Curiosity Kit * riscv64: preinstalled server image for Microchip PIC64GX Curiosity Kit
(LP: #2072956) (LP: #2072956)
-- Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Mon, 08 Jul 2024 17:51:25 +0200 -- Heinrich Schuchardt <heinrich.schuchardt@canonical.com> Mon, 22 Jul 2024 14:51:25 +0200
livecd-rootfs (24.04.73) noble; urgency=medium livecd-rootfs (24.10.6) oracular; urgency=medium
* Build qcow2 images for ubuntu-core LXD support (LP: #2072759). [ Chad Smith ]
* Override cloud-init.service in /etc so as to not invalidate debsums
(LP: #2069391)
* Update the overridden copy of cloud-init.service
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Thu, 11 Jul 2024 13:15:43 +0200 -- Dan Bungert <daniel.bungert@canonical.com> Thu, 18 Jul 2024 15:58:53 -0600
livecd-rootfs (24.04.72) noble; urgency=medium livecd-rootfs (24.10.5) oracular; urgency=medium
[ Heinrich Schuchardt ] [ Erich Eickmeyer ]
* riscv64: use earlycon=sbi on command line (LP: #2068739) * Switch Ubuntu Studio to generic kernel
[ Zhaoxuan Zhai ]
* support config sector size in ubuntu-image
[ Łukasz 'sil2100' Zemczak ]
* Build qcow2 images for ubuntu-core LXD support.
-- Łukasz 'sil2100' Zemczak <lukasz.zemczak@ubuntu.com> Thu, 11 Jul 2024 12:57:54 +0200
livecd-rootfs (24.10.4) oracular; urgency=medium
[ Philip Roche ] [ Philip Roche ]
* Revert removal of unminimize call in server builds (LP: #2069828) * Revert removal of unminimize call in server builds. (LP: #2069828)
-- Philip Roche <phil.roche@canonical.com> Mon, 24 Jun 2024 14:24:52 +0100 [ Utkarsh Gupta ]
* Use packaged unminimize in the ubuntu-server images.
* Drop unminimize spit out by livecd-rootfs.
livecd-rootfs (24.04.71) noble; urgency=medium -- Utkarsh Gupta <utkarsh@ubuntu.com> Wed, 19 Jun 2024 22:02:39 +0530
* Re-enable ability to build HyperV desktop images (LP: #2064280) livecd-rootfs (24.10.3) oracular; urgency=medium
-- Philip Roche <phil.roche@canonical.com> Mon, 27 May 2024 12:05:33 +0100 [ Heinrich Schuchardt ]
* riscv64: use earlycon=sbi on command line
livecd-rootfs (24.04.70) noble; urgency=medium
[ Michael Hudson-Doyle ]
* Add 'ubuntu-core-installer' project.
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Tue, 11 Jun 2024 11:51:14 +1200
livecd-rootfs (24.10.2) oracular; urgency=medium
[ Michael Hudson-Doyle ]
* Replace 'ubuntustudio-dvd' project with an almost identical 'ubuntustudio'
project.
[ Philip Roche ]
* No longer install LXD snap in unminimize script (LP: #2066905)
-- Philip Roche <phil.roche@canonical.com> Thu, 23 May 2024 14:11:57 +0100
livecd-rootfs (24.10.1) oracular; urgency=medium
[ Łukasz 'sil2100' Zemczak ] [ Łukasz 'sil2100' Zemczak ]
* Add experimental support for building ubuntu-core-desktop installer images * Add experimental support for building ubuntu-core-desktop installer images
(LP: #2063203) (LP: #2063203)
[ Philip Roche ] [ Philip Roche ]
* No longer install LXD snap in unminimize script (LP: #2066905) * Re-enable ability to build HyperV desktop images (LP: #2064280)
-- Philip Roche <phil.roche@canonical.com> Fri, 24 May 2024 15:47:48 +0100 -- Philip Roche <phil.roche@canonical.com> Tue, 30 Apr 2024 17:58:43 +0100
livecd-rootfs (24.04.69) noble; urgency=medium livecd-rootfs (24.04.69) noble; urgency=medium
@ -400,7 +790,7 @@ livecd-rootfs (24.04.43) noble; urgency=medium
grub updates in cloud images (LP: #2054103) grub updates in cloud images (LP: #2054103)
-- Philip Roche <phil.roche@canonical.com> Fri, 23 Feb 2024 13:54:57 +0000 -- Philip Roche <phil.roche@canonical.com> Fri, 23 Feb 2024 13:54:57 +0000
livecd-rootfs (24.04.42) noble; urgency=medium livecd-rootfs (24.04.42) noble; urgency=medium
[ Sean Davis ] [ Sean Davis ]
@ -526,8 +916,8 @@ livecd-rootfs (24.04.27) noble; urgency=medium
livecd-rootfs (24.04.26) noble; urgency=medium livecd-rootfs (24.04.26) noble; urgency=medium
[ Steve Langasek ] [ Steve Langasek ]
* Share live-build/ubuntu/hooks/020-ubuntu-live.chroot_early across * Share live-build/ubuntu/hooks/020-ubuntu-live.chroot_early across
all flavors using new-style layered squashfs, removing need for all flavors using new-style layered squashfs, removing need for
kernel commandline options in debian-cd. kernel commandline options in debian-cd.
[ dann frazier ] [ dann frazier ]
@ -659,7 +1049,7 @@ livecd-rootfs (24.04.10) noble; urgency=medium
* Set C.UTF-8 locale in /etc/default/locale for all images; originally * Set C.UTF-8 locale in /etc/default/locale for all images; originally
intended to be landed in the cosmic cycle.. intended to be landed in the cosmic cycle..
* Project name for Ubuntu Studio needs to be 'ubuntustudio-dvd' * Project name for Ubuntu Studio needs to be 'ubuntustudio-dvd'
throughout, not 'ubuntustudio'. throughout, not 'ubuntustudio'.
-- Steve Langasek <steve.langasek@ubuntu.com> Fri, 08 Dec 2023 15:07:41 -0800 -- Steve Langasek <steve.langasek@ubuntu.com> Fri, 08 Dec 2023 15:07:41 -0800
@ -738,7 +1128,7 @@ livecd-rootfs (24.04.2) noble; urgency=medium
instead of /boot/vmlinuz. (LP: #2038957) instead of /boot/vmlinuz. (LP: #2038957)
-- Philip Roche <phil.roche@canonical.com> Thu, 26 Oct 2023 17:56:00 +0100 -- Philip Roche <phil.roche@canonical.com> Thu, 26 Oct 2023 17:56:00 +0100
livecd-rootfs (24.04.1) noble; urgency=medium livecd-rootfs (24.04.1) noble; urgency=medium
[ Steve Langasek ] [ Steve Langasek ]

1
debian/compat vendored
View File

@ -1 +0,0 @@
7

6
debian/control vendored
View File

@ -1,10 +1,12 @@
Source: livecd-rootfs Source: livecd-rootfs
Section: devel Section: devel
Priority: optional Priority: optional
Build-Depends: debhelper (>= 7) Build-Depends: debhelper-compat (= 13)
Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
Standards-Version: 3.9.6 Standards-Version: 4.7.0
Vcs-Git: https://git.launchpad.net/livecd-rootfs -b ubuntu/master Vcs-Git: https://git.launchpad.net/livecd-rootfs -b ubuntu/master
Vcs-Browser: https://git.launchpad.net/livecd-rootfs
Rules-Requires-Root: no
Package: livecd-rootfs Package: livecd-rootfs
Architecture: any Architecture: any

2
debian/copyright vendored
View File

@ -11,7 +11,7 @@ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
General Public License for more details. General Public License for more details.
You should have received a copy of the GNU General Public License with You should have received a copy of the GNU General Public License with
your Ubuntu system, in /usr/share/common-licenses/GPL, or with the your Ubuntu system, in /usr/share/common-licenses/GPL-2, or with the
livecd-rootfs source package as the file COPYING. If not, write to livecd-rootfs source package as the file COPYING. If not, write to
the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301 USA. Boston, MA 02110-1301 USA.

1
debian/install vendored
View File

@ -4,3 +4,4 @@ get-ppa-fingerprint usr/share/livecd-rootfs
minimize-manual usr/share/livecd-rootfs minimize-manual usr/share/livecd-rootfs
checkout-translations-branch usr/share/livecd-rootfs checkout-translations-branch usr/share/livecd-rootfs
update-source-catalog usr/share/livecd-rootfs update-source-catalog usr/share/livecd-rootfs
sync-mtime usr/share/livecd-rootfs

10
debian/livecd-rootfs.lintian-overrides vendored Normal file
View File

@ -0,0 +1,10 @@
# This is expected and okay
livecd-rootfs: service-file-is-not-a-file [usr/share/livecd-rootfs/*.service]
livecd-rootfs: uses-dpkg-database-directly [usr/share/livecd-rootfs/live-build/lb_chroot_layered]
livecd-rootfs: package-contains-no-arch-dependent-files
# Developer documentation in an already-expected spot
livecd-rootfs: package-contains-documentation-outside-usr-share-doc [usr/share/livecd-rootfs/live-build/ubuntu-cpc/README.cpc.md]
# This is going to occur quite a bit; we're making a livefs
livecd-rootfs: repeated-path-segment * [*]

5
debian/source/lintian-overrides vendored Normal file
View File

@ -0,0 +1,5 @@
# This is expected and okay
livecd-rootfs source: absolute-symbolic-link-target-in-source * [live-build/*]
# The description indicates that it's not required in debhelper >= 13, which we have
livecd-rootfs source: override_dh_auto_test-does-not-check-DEB_BUILD_OPTIONS [debian/rules:*]

View File

@ -78,7 +78,8 @@ live_build_rootfs() {
echo "" echo ""
} }
WORKDIR=$(mktemp -d) [ -d /adt ] || mkdir /adt
WORKDIR=$(mktemp -d -p /adt)
trap "RET=\$?; rm -rf $WORKDIR; exit \$RET" 0 INT QUIT ABRT PIPE TERM trap "RET=\$?; rm -rf $WORKDIR; exit \$RET" 0 INT QUIT ABRT PIPE TERM
cd $WORKDIR cd $WORKDIR

View File

@ -0,0 +1 @@
0xffffff

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
chown dac_override dac_read_search fowner fsetid kill setgid setuid setpcap linux_immutable net_bind_service net_broadcast net_admin net_raw ipc_lock ipc_owner sys_module sys_rawio sys_chroot sys_ptrace sys_pacct sys_admin sys_boot sys_nice sys_resource sys_time sys_tty_config mknod lease audit_write audit_control setfcap mac_override mac_admin syslog wake_alarm block_suspend audit_read perfmon bpf checkpoint_restore

View File

@ -0,0 +1 @@
acquire send receive

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
1.2

View File

@ -0,0 +1 @@
create read write exec append mmap_exec link lock

View File

@ -0,0 +1 @@
sqpoll override_creds

View File

@ -0,0 +1 @@
create read write open delete setattr getattr

View File

@ -0,0 +1 @@
mount umount pivot_root

View File

@ -0,0 +1 @@
detached

View File

@ -0,0 +1 @@
userns_create

View File

@ -0,0 +1 @@
no

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
pciu&

View File

@ -0,0 +1 @@
unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp mctp

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
unspec unix inet ax25 ipx appletalk netrom bridge atmpvc x25 inet6 rose netbeui security key netlink packet ash econet atmsvc rds sna irda pppox wanpipe llc ib mpls can tipc bluetooth iucv rxrpc isdn phonet ieee802154 caif alg nfc vsock kcm qipcrtr smc xdp mctp

View File

@ -0,0 +1 @@
file

View File

@ -0,0 +1 @@
0x000001

View File

@ -0,0 +1 @@
0x000003

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
0x000001

View File

@ -0,0 +1 @@
1

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
read trace

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
yes

View File

@ -0,0 +1 @@
allow deny audit quiet

View File

@ -0,0 +1 @@
cpu fsize data stack core rss nproc nofile memlock as locks sigpending msgqueue nice rtprio rttime

View File

@ -0,0 +1 @@
hup int quit ill trap abrt bus fpe kill usr1 segv usr2 pipe alrm term stkflt chld cont stop stp ttin ttou urg xcpu xfsz vtalrm prof winch io pwr sys emt lost

View File

@ -20,8 +20,7 @@ fi
# Link output files somewhere launchpad-buildd will be able to find them. # Link output files somewhere launchpad-buildd will be able to find them.
PREFIX="livecd.$PROJECT${SUBARCH:+-$SUBARCH}" PREFIX="livecd.$PROJECT${SUBARCH:+-$SUBARCH}"
if [ "${IMAGEFORMAT:-}" = "ubuntu-image" ] \ if [ "${IMAGEFORMAT:-}" = "ubuntu-image" ]; then
|| [ "$PROJECT" = "ubuntu-core-desktop" ]; then
# Use ubuntu-image instead (or as part) of live-build # Use ubuntu-image instead (or as part) of live-build
export SNAPPY_STORE_NO_CDN=1 export SNAPPY_STORE_NO_CDN=1
@ -47,41 +46,11 @@ if [ "${IMAGEFORMAT:-}" = "ubuntu-image" ] \
# All the builds are finished now, exit # All the builds are finished now, exit
exit 0 exit 0
elif [ "$PROJECT" = "ubuntu-core-desktop" ]; then
# Ubuntu Core Desktop payload image
# Special case for ubuntu-core-desktop - we need to call
# ubuntu-image twice, once for the core image payload and
# then for the actual image.
echo "Building the core image payload"
cd config/
/snap/bin/ubuntu-image snap $UBUNTU_IMAGE_PAYLOAD_ARGS \
-O output ubuntu-core-desktop*.model-assertion
mv output/*.img pc.img
xz -0 -T4 pc.img
rm -rf output/
# Prepare the source catalogue
cat install-sources-in.yaml | sed "s/@SIZE@/$(stat -c%s pc.img.xz)/g" > ../"$PREFIX".install-sources.yaml
# We need to rename the image file so that it can be pulled
# by the builder.
mv pc.img.xz ../"$PREFIX".img.xz
# We need to make sure the autoinstall file is also exported.
mv autoinstall.yaml ../"$PREFIX".autoinstall.yaml
# Useful to have the model-assertion exported as well.
mv ubuntu-core-desktop*.model-assertion ../"$PREFIX".model-assertion
# Important: return to the previous directory
cd ../
# Payload build finished, but now we need to build the rest with the
# usual live-build tools.
else else
# Ubuntu classic preinstalled images # Ubuntu classic preinstalled images
# --workdir is specified to avoid filling /tmp which is now a tmpfs
/snap/bin/ubuntu-image classic --verbose $UBUNTU_IMAGE_ARGS \ /snap/bin/ubuntu-image classic --verbose $UBUNTU_IMAGE_ARGS \
-O output "$IMAGE_DEFINITION" --workdir work -O output "$IMAGE_DEFINITION"
# Since the output of the ubuntu-image call can vary based on what # Since the output of the ubuntu-image call can vary based on what
# kind of an image we build, the safest bet is to 'export' all the # kind of an image we build, the safest bet is to 'export' all the
# artifacts from the output directory. The image definition file # artifacts from the output directory. The image definition file
@ -273,10 +242,11 @@ EOF
configure_universe configure_universe
if [ -d chroot/var/lib/preinstalled-pool ]; then for POOL_DIR in preinstalled-pool livefs-pool; do
cat > config/indices/apt.conf <<-EOF if [ -d chroot/var/lib/$POOL_DIR ]; then
cat > config/indices/apt.conf <<-EOF
Dir { Dir {
ArchiveDir "chroot/var/lib/preinstalled-pool"; ArchiveDir "chroot/var/lib/$POOL_DIR";
OverrideDir "config/indices"; OverrideDir "config/indices";
CacheDir "config/indices"; CacheDir "config/indices";
} }
@ -291,11 +261,11 @@ Tree "dists/$LB_DISTRIBUTION"
Contents " "; Contents " ";
} }
EOF EOF
for component in $LB_PARENT_ARCHIVE_AREAS; do for component in $LB_PARENT_ARCHIVE_AREAS; do
mkdir -p chroot/var/lib/preinstalled-pool/dists/$LB_DISTRIBUTION/$component/binary-$LB_ARCHITECTURES mkdir -p chroot/var/lib/$POOL_DIR/dists/$LB_DISTRIBUTION/$component/binary-$LB_ARCHITECTURES
done done
apt-ftparchive generate config/indices/apt.conf apt-ftparchive generate config/indices/apt.conf
cat << @@EOF > chroot/etc/apt/sources.list.d/preinstalled-pool.sources cat << @@EOF > chroot/etc/apt/sources.list.d/$POOL_DIR.sources
# This is a sources.list entry for a small pool of packages # This is a sources.list entry for a small pool of packages
# provided on your preinstalled filesystem for your convenience. # provided on your preinstalled filesystem for your convenience.
# #
@ -304,40 +274,41 @@ EOF
# packages remotely instead. # packages remotely instead.
# #
Types: deb Types: deb
URIs: file:/var/lib/preinstalled-pool/ URIs: file:/var/lib/$POOL_DIR/
Suites: $LB_DISTRIBUTION Suites: $LB_DISTRIBUTION
Components: $LB_PARENT_ARCHIVE_AREAS Components: $LB_PARENT_ARCHIVE_AREAS
Signed-By: /etc/apt/keyrings/preinstalled-pool.gpg Signed-By: /etc/apt/keyrings/$POOL_DIR.gpg
@@EOF @@EOF
echo "Waiting on gnupg ("$GPG_PROCESS") to finish generating a key." echo "Waiting on gnupg ("$GPG_PROCESS") to finish generating a key."
wait $GPG_PROCESS wait $GPG_PROCESS
R_ORIGIN=$(lsb_release -i -s) R_ORIGIN=$(lsb_release -i -s)
R_CODENAME=$(lsb_release -c -s) R_CODENAME=$(lsb_release -c -s)
R_VERSION=$(lsb_release -r -s) R_VERSION=$(lsb_release -r -s)
R_PRETTYNAME=$(echo $R_CODENAME | sed -e 's/^\(.\)/\U\1/') R_PRETTYNAME=$(echo $R_CODENAME | sed -e 's/^\(.\)/\U\1/')
apt-ftparchive -o APT::FTPArchive::Release::Origin=$R_ORIGIN \ apt-ftparchive -o APT::FTPArchive::Release::Origin=$R_ORIGIN \
-o APT::FTPArchive::Release::Label=$R_ORIGIN \ -o APT::FTPArchive::Release::Label=$R_ORIGIN \
-o APT::FTPArchive::Release::Suite=$R_CODENAME-local \ -o APT::FTPArchive::Release::Suite=$R_CODENAME-local \
-o APT::FTPArchive::Release::Version=$R_VERSION \ -o APT::FTPArchive::Release::Version=$R_VERSION \
-o APT::FTPArchive::Release::Codename=$R_CODENAME \ -o APT::FTPArchive::Release::Codename=$R_CODENAME \
-o APT::FTPArchive::Release::Description="$R_ORIGIN $R_PRETTYNAME Local" \ -o APT::FTPArchive::Release::Description="$R_ORIGIN $R_PRETTYNAME Local" \
release chroot/var/lib/preinstalled-pool/dists/$R_CODENAME/ \ release chroot/var/lib/$POOL_DIR/dists/$R_CODENAME/ \
> config/gnupg/Release > config/gnupg/Release
gpg --home config/gnupg --detach-sign --armor config/gnupg/Release gpg --home config/gnupg --detach-sign --armor config/gnupg/Release
mv config/gnupg/Release \ mv config/gnupg/Release \
chroot/var/lib/preinstalled-pool/dists/$R_CODENAME/Release chroot/var/lib/$POOL_DIR/dists/$R_CODENAME/Release
mv config/gnupg/Release.asc \ mv config/gnupg/Release.asc \
chroot/var/lib/preinstalled-pool/dists/$R_CODENAME/Release.gpg chroot/var/lib/$POOL_DIR/dists/$R_CODENAME/Release.gpg
cp config/gnupg/pubring.gpg chroot/etc/apt/keyrings/preinstalled-pool.gpg cp config/gnupg/pubring.gpg chroot/etc/apt/keyrings/$POOL_DIR.gpg
find chroot/var/lib/preinstalled-pool/ -name Packages | xargs rm find chroot/var/lib/$POOL_DIR/ -name Packages | xargs rm
# We only want to have a cache for the pre-installed pool at this point # We only want to have a cache for the pre-installed pool at this point
Chroot chroot "apt-get update -o Dir::Etc::SourceParts=/dev/null -oDir::Etc::SourceList=etc/apt/sources.list.d/preinstalled-pool.sources" Chroot chroot "apt-get update -o Dir::Etc::SourceParts=/dev/null -oDir::Etc::SourceList=etc/apt/sources.list.d/$POOL_DIR.sources"
fi fi
done
case $PROJECT:$SUBPROJECT in case $PROJECT:$SUBPROJECT in
*) *)
if [ -e "config/seeded-snaps" ]; then if [ -e "config/seeded-snaps" ]; then
@ -394,7 +365,7 @@ EOF
# affected by this, we manually clear out the archive-related Packages # affected by this, we manually clear out the archive-related Packages
# files in the cache. # files in the cache.
case $PROJECT in case $PROJECT in
ubuntu|xubuntu|kubuntu|ubuntu-budgie|ubuntukylin|ubuntu-mate|ubuntucinnamon|ubuntu-unity|edubuntu) ubuntu|xubuntu|kubuntu|ubuntu-budgie|ubuntukylin|ubuntu-mate|ubuntucinnamon|ubuntu-unity|edubuntu|lubuntu)
rm -f chroot/var/lib/apt/lists/*ubuntu.com*_Packages rm -f chroot/var/lib/apt/lists/*ubuntu.com*_Packages
;; ;;
esac esac
@ -440,7 +411,7 @@ done
# we don't need a manifest-remove for a layered-aware installer # we don't need a manifest-remove for a layered-aware installer
# here we have a list of all new-installer flavors # here we have a list of all new-installer flavors
case $PROJECT in case $PROJECT in
ubuntu|ubuntu-budgie) ubuntu|ubuntu-budgie|lubuntu)
rm -f livecd.${PROJECT}-manifest-remove rm -f livecd.${PROJECT}-manifest-remove
rm -f config/manifest-minimal-remove rm -f config/manifest-minimal-remove
;; ;;
@ -498,7 +469,7 @@ for FLAVOUR in $LB_LINUX_FLAVOURS; do
continue continue
fi fi
case $FLAVOUR in case $FLAVOUR in
allwinner|virtual|generic-hwe-*|lowlatency-hwe-*) allwinner|virtual|generic-hwe-*)
FLAVOUR="generic" FLAVOUR="generic"
;; ;;
oem-*) oem-*)
@ -510,6 +481,12 @@ for FLAVOUR in $LB_LINUX_FLAVOURS; do
intel-iotg*) intel-iotg*)
FLAVOUR="intel-iotg" FLAVOUR="intel-iotg"
;; ;;
lowlatency-hwe-*)
FLAVOUR="lowlatency"
;;
nvidia-hwe-*)
FLAVOUR="nvidia"
;;
esac esac
KVERS="$( (cd "binary/$INITFS"; ls vmlinu?-* 2>/dev/null || true) | (fgrep -v .efi || true) | sed -n "s/^vmlinu.-\\([^-]*-[^-]*-$FLAVOUR\\)$/\\1/p" )" KVERS="$( (cd "binary/$INITFS"; ls vmlinu?-* 2>/dev/null || true) | (fgrep -v .efi || true) | sed -n "s/^vmlinu.-\\([^-]*-[^-]*-$FLAVOUR\\)$/\\1/p" )"
if [ -z "$KVERS" ]; then if [ -z "$KVERS" ]; then

View File

@ -1,11 +1,11 @@
#! /bin/sh #!/bin/bash
set -e set -e
case $ARCH:$SUBARCH in case $ARCH:$SUBARCH in
amd64:|amd64:generic|amd64:intel-iot|\ amd64:|amd64:generic|amd64:intel-iot|\
arm64:|arm64:generic|arm64:raspi|arm64:snapdragon|\ arm64:|arm64:generic|arm64:raspi|arm64:snapdragon|arm64:nvidia|\
arm64:tegra|arm64:tegra-igx|arm64:tegra-jetson|\ arm64:tegra|arm64:tegra-igx|arm64:tegra-jetson|arm64:x13s|\
arm64:x13s|arm64:largemem|\ arm64:largemem|\
armhf:|\ armhf:|\
i386:|\ i386:|\
ppc64el:|\ ppc64el:|\
@ -78,6 +78,14 @@ BINARY_HOOKS=
APT_OPTIONS=" --yes -oDebug::pkgDepCache::AutoInstall=yes " APT_OPTIONS=" --yes -oDebug::pkgDepCache::AutoInstall=yes "
# Should we attempt to offer both the bridge and default kernel?
USE_BRIDGE_KERNEL=false
# Why are we using bridge kernel? Value is ignored for USE_BRIDGE_KERNEL=false.
# Possible reasons are zfs, drivers.
BRIDGE_KERNEL_REASONS="zfs,drivers"
# When building install-sources, what kernel is the default?
DEFAULT_KERNEL=
PASSES_TO_LAYERS=false PASSES_TO_LAYERS=false
_PASSES_TO_LAYERS= # Stores the initial value of PASSES_TO_LAYERS _PASSES_TO_LAYERS= # Stores the initial value of PASSES_TO_LAYERS
PASSES= PASSES=
@ -383,7 +391,7 @@ if [ -z "${IMAGEFORMAT:-}" ]; then
;; ;;
esac esac
;; ;;
ubuntu-server:live|ubuntu-mini-iso:|ubuntu-core-installer:) ubuntu-server:live|ubuntu-mini-iso:|ubuntu-core-installer:*)
IMAGEFORMAT=plain IMAGEFORMAT=plain
;; ;;
esac esac
@ -423,17 +431,19 @@ case $IMAGEFORMAT in
PREINSTALLED=true PREINSTALLED=true
;; ;;
plain) plain)
fs=$IMAGEFORMAT
case $PROJECT:${SUBPROJECT:-} in case $PROJECT:${SUBPROJECT:-} in
ubuntu-server:live|ubuntu-core-installer:) ubuntu-server:live|ubuntu-core-installer:*)
touch config/universe-enabled touch config/universe-enabled
;; ;;
ubuntu-mini-iso:) ubuntu-mini-iso:)
fs=none
;; ;;
*) *)
PREINSTALLED=true PREINSTALLED=true
;; ;;
esac esac
OPTS="${OPTS:+$OPTS }--initramfs none --chroot-filesystem $IMAGEFORMAT" OPTS="${OPTS:+$OPTS }--initramfs none --chroot-filesystem $fs"
;; ;;
ubuntu-image) ubuntu-image)
@ -469,6 +479,9 @@ case $IMAGEFORMAT in
echo "$NOW" > config/disk-info echo "$NOW" > config/disk-info
UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS --disk-info config/disk-info" UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS --disk-info config/disk-info"
fi fi
if [ -n "$SECTOR_SIZE" ]; then
UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS --sector-size=$SECTOR_SIZE"
fi
if [ $PROJECT = "ubuntu-core" ]; then if [ $PROJECT = "ubuntu-core" ]; then
# snap-based core images # snap-based core images
@ -526,7 +539,6 @@ case $IMAGEFORMAT in
UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS --snap=$snap" UBUNTU_IMAGE_ARGS="$UBUNTU_IMAGE_ARGS --snap=$snap"
done done
echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common
echo "UBUNTU_IMAGE_ARGS=\"$UBUNTU_IMAGE_ARGS\"" >> config/common
# Store model assertion in top dir to get it picked up later as a build artifact # Store model assertion in top dir to get it picked up later as a build artifact
env SNAPPY_STORE_NO_CDN=1 snap known --remote model series=16 model="$MODEL" brand-id=canonical > "$PREFIX".model-assertion env SNAPPY_STORE_NO_CDN=1 snap known --remote model series=16 model="$MODEL" brand-id=canonical > "$PREFIX".model-assertion
echo "Configured ubuntu-image for the following model assertion:" echo "Configured ubuntu-image for the following model assertion:"
@ -556,6 +568,7 @@ case $IMAGEFORMAT in
# Save the model name used for building, mostly for any model-specific hook execution # Save the model name used for building, mostly for any model-specific hook execution
echo "MODEL=$MODEL" >> config/common echo "MODEL=$MODEL" >> config/common
echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common echo "IMAGEFORMAT=$IMAGEFORMAT" >> config/common
echo "UBUNTU_IMAGE_ARGS=\"$UBUNTU_IMAGE_ARGS\"" >> config/common
# Fake finished configuration for lb build # Fake finished configuration for lb build
mkdir -p .build mkdir -p .build
touch .build/config touch .build/config
@ -570,7 +583,7 @@ case $IMAGEFORMAT in
;; ;;
*) *)
case $PROJECT in case $PROJECT in
kubuntu|lubuntu|ubuntu-unity) kubuntu|ubuntu-unity)
add_package live casper add_package live casper
;; ;;
esac esac
@ -639,7 +652,7 @@ case $PROJECT in
edubuntu|ubuntu-budgie|ubuntucinnamon|ubuntukylin) edubuntu|ubuntu-budgie|ubuntucinnamon|ubuntukylin)
COMPONENTS='main restricted universe' COMPONENTS='main restricted universe'
;; ;;
lubuntu|kubuntu|ubuntu-mate|ubuntu-unity|ubuntustudio-dvd|xubuntu) lubuntu|kubuntu|ubuntu-mate|ubuntu-unity|ubuntustudio|xubuntu)
COMPONENTS='main restricted universe multiverse' COMPONENTS='main restricted universe multiverse'
;; ;;
esac esac
@ -660,9 +673,11 @@ if ! [ -e config/germinate-output/structure ]; then
-s $FLAVOUR.$SUITE $GERMINATE_ARG -a $ARCH) -s $FLAVOUR.$SUITE $GERMINATE_ARG -a $ARCH)
fi fi
do_layered_desktop_image() { # Common functionality for layered desktop images
common_layered_desktop_image() {
touch config/universe-enabled touch config/universe-enabled
PASSES_TO_LAYERS="true" PASSES_TO_LAYERS="true"
if [ -n "$HAS_MINIMAL" ]; then if [ -n "$HAS_MINIMAL" ]; then
if [ -z "$MINIMAL_TASKS" ]; then if [ -z "$MINIMAL_TASKS" ]; then
MINIMAL_TASKS="${FLAVOUR}-desktop-minimal" MINIMAL_TASKS="${FLAVOUR}-desktop-minimal"
@ -672,8 +687,13 @@ do_layered_desktop_image() {
fi fi
# the minimal layer, for minimal installs # the minimal layer, for minimal installs
add_task minimal minimal standard $MINIMAL_TASKS add_task minimal minimal standard $MINIMAL_TASKS
# If Dracut is enabled, include it early
if [ -n "$NEEDS_DRACUT" ]; then
add_package minimal dracut
fi
# fixme: this should go in seeds, not be in code here # fixme: this should go in seeds, not be in code here
add_package minimal cloud-init add_package minimal cloud-init
add_package minimal linux-$KERNEL_FLAVOURS
MINIMAL_PREFIX=minimal. MINIMAL_PREFIX=minimal.
fi fi
@ -689,6 +709,7 @@ do_layered_desktop_image() {
if [ -z "$HAS_MINIMAL" ]; then if [ -z "$HAS_MINIMAL" ]; then
STANDARD_TASKS="minimal standard $STANDARD_TASKS" STANDARD_TASKS="minimal standard $STANDARD_TASKS"
add_package standard cloud-init add_package standard cloud-init
add_package standard linux-$KERNEL_FLAVOURS
fi fi
add_task ${MINIMAL_PREFIX}standard $STANDARD_TASKS add_task ${MINIMAL_PREFIX}standard $STANDARD_TASKS
LIVE_PREFIX="${LIVE_PREFIX}standard." LIVE_PREFIX="${LIVE_PREFIX}standard."
@ -697,7 +718,14 @@ do_layered_desktop_image() {
# the live layer, contains all packages for the live session installer # the live layer, contains all packages for the live session installer
[ -n "$LIVE_TASK" ] || LIVE_TASK=${FLAVOUR}-live [ -n "$LIVE_TASK" ] || LIVE_TASK=${FLAVOUR}-live
add_task ${LIVE_PREFIX}live "$LIVE_TASK" add_task ${LIVE_PREFIX}live "$LIVE_TASK"
add_package ${LIVE_PREFIX}live linux-$KERNEL_FLAVOURS casper add_package ${LIVE_PREFIX}live casper
# If Dracut is enabled, ensure it is removed in the live layer
# casper still depends on initramfs-tools
if [ -n "$NEEDS_DRACUT" ]; then
remove_package ${LIVE_PREFIX}live dracut
add_package ${LIVE_PREFIX}live initramfs-tools
fi
if [ -n "$LANGUAGE_BASE" ]; then if [ -n "$LANGUAGE_BASE" ]; then
# language support # language support
@ -736,6 +764,11 @@ do_layered_desktop_image() {
else else
STANDARD_IS_DEFAULT=yes STANDARD_IS_DEFAULT=yes
fi fi
}
# Function for standard layered desktop image
do_layered_desktop_image() {
common_layered_desktop_image
if [ -n "$HAS_MINIMAL" ]; then if [ -n "$HAS_MINIMAL" ]; then
[ -n "$MINIMAL_NAME" ] \ [ -n "$MINIMAL_NAME" ] \
@ -765,6 +798,8 @@ do_layered_desktop_image() {
EOF EOF
fi fi
DEFAULT_KERNEL="linux-$KERNEL_FLAVOURS"
if [ "$LOCALE_SUPPORT" != none ]; then if [ "$LOCALE_SUPPORT" != none ]; then
/usr/share/livecd-rootfs/checkout-translations-branch \ /usr/share/livecd-rootfs/checkout-translations-branch \
https://git.launchpad.net/subiquity po \ https://git.launchpad.net/subiquity po \
@ -809,6 +844,16 @@ case $PROJECT in
HAS_DEFAULT_LANGUAGES=yes HAS_DEFAULT_LANGUAGES=yes
LANGUAGE_BASE=desktop LANGUAGE_BASE=desktop
KERNEL_FLAVOURS='generic-hwe-24.04' KERNEL_FLAVOURS='generic-hwe-24.04'
case $SUBARCH in
nvidia)
KERNEL_FLAVOURS="nvidia-hwe-24.04"
;;
*)
# nothing to do here.
;;
esac
do_layered_desktop_image do_layered_desktop_image
# Enchanced secureboot stuff # Enchanced secureboot stuff
@ -844,26 +889,6 @@ case $PROJECT in
esac esac
;; ;;
ubuntu-core-desktop)
touch config/universe-enabled
KERNEL_FLAVOURS='generic-hwe-24.04'
PASSES_TO_LAYERS="true"
# the minimal layer, for minimal installs
add_task minimal minimal
# the live layer, contains all packages for the live session installer
add_snap minimal.live ubuntu-core-desktop-installer/classic core22 snapd
add_package minimal.live linux-$KERNEL_FLAVOURS plymouth-theme-spinner squashfs-tools snapd cloud-init gsettings-desktop-schemas yaru-theme-gtk lshw
echo "Configuring for additional payload preparation"
UBUNTU_IMAGE_PAYLOAD_ARGS="--image-size 12G"
EXTRA_SNAPS="$EXTRA_SNAPS evince firefox gnome-calculator gnome-characters gnome-clocks gnome-font-viewer gnome-logs gnome-system-monitor gnome-text-editor gnome-weather loupe snapd-desktop-integration snap-store ubuntu-core-desktop-init workshops"
for snap in $EXTRA_SNAPS; do
UBUNTU_IMAGE_PAYLOAD_ARGS="$UBUNTU_IMAGE_PAYLOAD_ARGS --snap $snap"
done
echo "UBUNTU_IMAGE_PAYLOAD_ARGS=\"$UBUNTU_IMAGE_PAYLOAD_ARGS\"" >> config/common
;;
ubuntu-oem) ubuntu-oem)
HAS_MINIMAL=yes HAS_MINIMAL=yes
MINIMAL_NAME="Ubuntu Desktop for OEM (minimal)" MINIMAL_NAME="Ubuntu Desktop for OEM (minimal)"
@ -881,7 +906,6 @@ case $PROJECT in
add_task install minimal standard add_task install minimal standard
add_task install kubuntu-desktop add_task install kubuntu-desktop
LIVE_TASK='kubuntu-live' LIVE_TASK='kubuntu-live'
KERNEL_FLAVOURS='generic-hwe-24.04'
add_chroot_hook remove-gnome-icon-cache add_chroot_hook remove-gnome-icon-cache
;; ;;
@ -891,7 +915,7 @@ case $PROJECT in
MINIMAL_TASKS=edubuntu-desktop-gnome-minimal MINIMAL_TASKS=edubuntu-desktop-gnome-minimal
MINIMAL_DESC="A minimal installation of the Edubuntu Desktop." MINIMAL_DESC="A minimal installation of the Edubuntu Desktop."
STANDARD_TASKS=edubuntu-desktop-gnome STANDARD_TASKS=edubuntu-desktop-gnome
KERNEL_FLAVOURS='generic-hwe-24.04' KERNEL_FLAVOURS=generic
do_layered_desktop_image do_layered_desktop_image
;; ;;
@ -900,21 +924,32 @@ case $PROJECT in
UCFLAVOUR="Ubuntu Cinnamon" UCFLAVOUR="Ubuntu Cinnamon"
HAS_MINIMAL=yes HAS_MINIMAL=yes
MINIMAL_DESC="A minimal installation of the $UCFLAVOUR Desktop." MINIMAL_DESC="A minimal installation of the $UCFLAVOUR Desktop."
KERNEL_FLAVOURS='generic-hwe-24.04' KERNEL_FLAVOURS=generic
do_layered_desktop_image do_layered_desktop_image
;; ;;
lubuntu|ubuntu-unity) ubuntu-unity)
add_task install minimal standard ${PROJECT}-desktop add_task install minimal standard ${PROJECT}-desktop
LIVE_TASK=${PROJECT}-live LIVE_TASK=${PROJECT}-live
KERNEL_FLAVOURS='generic-hwe-24.04'
;; ;;
lubuntu)
UCFLAVOUR="Lubuntu"
HAS_MINIMAL=yes
PASSES_TO_LAYERS="true"
MINIMAL_TASKS=lubuntu-desktop-minimal
MINIMAL_DESC="A minimal installation of the $UCFLAVOUR Desktop."
KERNEL_FLAVOURS=generic
NEEDS_DRACUT=yes
common_layered_desktop_image
;;
ubuntukylin) ubuntukylin)
# Ubuntu Kylin now ships the new installer. # Ubuntu Kylin now ships the new installer.
UCFLAVOUR="Ubuntu Kylin" UCFLAVOUR="Ubuntu Kylin"
HAS_MINIMAL=yes HAS_MINIMAL=yes
MINIMAL_DESC="A minimal installation of the $UCFLAVOUR Desktop." MINIMAL_DESC="A minimal installation of the $UCFLAVOUR Desktop."
KERNEL_FLAVOURS='generic-hwe-24.04' KERNEL_FLAVOURS=generic
do_layered_desktop_image do_layered_desktop_image
;; ;;
@ -924,7 +959,7 @@ case $PROJECT in
MINIMAL_TASKS=xubuntu-minimal MINIMAL_TASKS=xubuntu-minimal
MINIMAL_NAME="Xubuntu Minimal" MINIMAL_NAME="Xubuntu Minimal"
MINIMAL_DESC="A minimal installation of the Xubuntu Desktop." MINIMAL_DESC="A minimal installation of the Xubuntu Desktop."
KERNEL_FLAVOURS='generic-hwe-24.04' KERNEL_FLAVOURS=generic
case ${SUBPROJECT:-} in case ${SUBPROJECT:-} in
minimal) minimal)
HAS_STANDARD=no HAS_STANDARD=no
@ -950,16 +985,18 @@ case $PROJECT in
HAS_MINIMAL=yes HAS_MINIMAL=yes
MINIMAL_TASKS=ubuntu-mate-core MINIMAL_TASKS=ubuntu-mate-core
MINIMAL_DESC="A minimal installation of the $UCFLAVOUR Desktop." MINIMAL_DESC="A minimal installation of the $UCFLAVOUR Desktop."
KERNEL_FLAVOURS='generic-hwe-24.04' KERNEL_FLAVOURS=generic
do_layered_desktop_image do_layered_desktop_image
;; ;;
ubuntustudio-dvd) ubuntustudio)
# By default Ubuntu Studio now ships the new installer. # By default Ubuntu Studio now ships the new installer.
UCFLAVOUR="Ubuntu Studio" UCFLAVOUR="Ubuntu Studio"
STANDARD_TASKS="ubuntustudio-desktop ubuntustudio-audio ubuntustudio-graphics ubuntustudio-video ubuntustudio-photography" HAS_MINIMAL=yes
LIVE_TASK=ubuntustudio-dvd-live MINIMAL_TASKS=ubuntustudio-desktop-core
KERNEL_FLAVOURS='lowlatency-hwe-24.04' MINIMAL_DESC="A minimal installation of $UCFLAVOUR. Customize afterwards with $UCFLAVOUR Installer."
STANDARD_DESC="A full installation of $UCFLAVOUR."
KERNEL_FLAVOURS=generic
do_layered_desktop_image do_layered_desktop_image
;; ;;
@ -972,6 +1009,14 @@ case $PROJECT in
add_package ubuntu-server-minimal lxd-installer add_package ubuntu-server-minimal lxd-installer
add_task ubuntu-server-minimal.ubuntu-server minimal standard server add_task ubuntu-server-minimal.ubuntu-server minimal standard server
add_package ubuntu-server-minimal.ubuntu-server cloud-init add_package ubuntu-server-minimal.ubuntu-server cloud-init
# If we have a multipath disk with LVM on top, we want to give
# multipath a chance to create the /dev/mapper/mpatha entry
# during the initramfs phase. Otherwise LVM will "steal" the
# device (e.g., /dev/sda2) and prevent multipath from using it
# after pivoting to the root filesystem of the live
# environment.
# See LP: #2080474 and LP: #1480399.
add_package ubuntu-server-minimal.ubuntu-server.installer multipath-tools-boot
add_task ubuntu-server-minimal.ubuntu-server.installer server-live add_task ubuntu-server-minimal.ubuntu-server.installer server-live
@ -993,10 +1038,15 @@ case $PROJECT in
variants='tegra-jetson' variants='tegra-jetson'
;; ;;
largemem) largemem)
variants='ga-64k hwe-64k' # variants='ga-64k hwe-64k'
variants='ga-64k'
;;
nvidia)
variants='nvidia'
;; ;;
*) *)
variants='ga hwe' # variants='ga hwe'
variants='ga'
;; ;;
esac esac
@ -1005,6 +1055,7 @@ case $PROJECT in
variants='ga' variants='ga'
fi fi
first_kernel=y
for variant in $variants; do for variant in $variants; do
if [ "$variant" = "ga" ]; then if [ "$variant" = "ga" ]; then
kernel_metapkg=linux-generic kernel_metapkg=linux-generic
@ -1030,12 +1081,21 @@ case $PROJECT in
elif [ "$variant" = "tegra-jetson" ]; then elif [ "$variant" = "tegra-jetson" ]; then
kernel_metapkg=linux-nvidia-tegra-jetson kernel_metapkg=linux-nvidia-tegra-jetson
flavor=nvidia-tegra-jetson flavor=nvidia-tegra-jetson
elif [ "$variant" = "nvidia" ]; then
kernel_metapkg=linux-nvidia-hwe-$(lsb_release -sr)
flavor=nvidia
else else
echo "bogus variant: $variant" echo "bogus variant: $variant"
exit 1 exit 1
fi fi
if [ "$first_kernel" = "y" ]; then
# Put the first kernel offered into the base layer
first_kernel=n
add_package ubuntu-server-minimal $kernel_metapkg
fi
add_package ubuntu-server-minimal.ubuntu-server.installer.$flavor $kernel_metapkg add_package ubuntu-server-minimal.ubuntu-server.installer.$flavor $kernel_metapkg
LIVE_PASSES="${LIVE_PASSES:+$LIVE_PASSES }ubuntu-server-minimal.ubuntu-server.installer.$flavor" LIVE_PASSES="${LIVE_PASSES:+$LIVE_PASSES }ubuntu-server-minimal.ubuntu-server.installer.$flavor"
done done
case $ARCH in case $ARCH in
@ -1051,6 +1111,7 @@ case $PROJECT in
esac esac
NO_SQUASHFS_PASSES=ubuntu-server-minimal.ubuntu-server.installer.$flavor.netboot NO_SQUASHFS_PASSES=ubuntu-server-minimal.ubuntu-server.installer.$flavor.netboot
DEFAULT_KERNEL="$kernel_metapkg"
/usr/share/livecd-rootfs/checkout-translations-branch \ /usr/share/livecd-rootfs/checkout-translations-branch \
https://git.launchpad.net/subiquity po config/catalog-translations https://git.launchpad.net/subiquity po config/catalog-translations
;; ;;
@ -1068,12 +1129,19 @@ case $PROJECT in
# installer but it has a source catalog entry that points to the model # installer but it has a source catalog entry that points to the model
# created in ubuntu-core-installer/hooks/05-prepare-image.binary, which # created in ubuntu-core-installer/hooks/05-prepare-image.binary, which
# subiquity knows how to install. # subiquity knows how to install.
if [ ${SUBPROJECT} == "desktop" ]; then
cp /usr/share/livecd-rootfs/live-build/${PROJECT}/ubuntu-core-desktop-24-amd64.model-assertion config/
fi
OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal" OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal"
PASSES_TO_LAYERS=true PASSES_TO_LAYERS=true
add_task base server-minimal server add_task base server-minimal server
add_task base.live server-live add_task base.live server-live
add_package base.live linux-image-generic add_package base.live linux-image-generic
# Core installer images use the pc-kernel snap for its kernel
USE_BRIDGE_KERNEL=false
DEFAULT_KERNEL="snap:pc-kernel"
/usr/share/livecd-rootfs/checkout-translations-branch \ /usr/share/livecd-rootfs/checkout-translations-branch \
https://git.launchpad.net/subiquity po config/catalog-translations https://git.launchpad.net/subiquity po config/catalog-translations
;; ;;
@ -1088,7 +1156,6 @@ case $PROJECT in
add_package install mini-iso-tools linux-generic add_package install mini-iso-tools linux-generic
case $ARCH in case $ARCH in
amd64) amd64)
add_package install cd-boot-images-amd64
;; ;;
*) *)
echo "unexpected architecture for $PROJECT: '$ARCH'" echo "unexpected architecture for $PROJECT: '$ARCH'"
@ -1097,21 +1164,10 @@ case $PROJECT in
esac esac
;; ;;
ubuntu-base) ubuntu-base|ubuntu-oci)
OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal" OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal"
;; ;;
ubuntu-oci)
OPTS="${OPTS:+$OPTS }--bootstrap-flavour=minimal"
if [ "${SUBPROJECT:-}" = minimized ]; then
# As unminimize has been spit out from livecd-rootfs into a new
# separate pacakge, users have been reporting this as a regression for
# Noble. So we'd like to add the unminimize package; cf: LP: #2078583.
APT_OPTIONS="${APT_OPTIONS:+$APT_OPTIONS }--no-install-recommends"
add_package install unminimize
fi
;;
ubuntu-wsl) ubuntu-wsl)
add_task install minimal ubuntu-wsl add_task install minimal ubuntu-wsl
OPTS="${OPTS:+$OPTS }--linux-packages=none --initramfs=none" OPTS="${OPTS:+$OPTS }--linux-packages=none --initramfs=none"
@ -1162,9 +1218,6 @@ case $PROJECT in
riscv64*) riscv64*)
if [ -n "$SUBARCH" ]; then if [ -n "$SUBARCH" ]; then
case "${SUBARCH:-}" in case "${SUBARCH:-}" in
nezha|licheerv)
KERNEL_FLAVOURS=allwinner
;;
visionfive) visionfive)
KERNEL_FLAVOURS=starfive KERNEL_FLAVOURS=starfive
;; ;;
@ -1353,6 +1406,9 @@ echo "BUILDSTAMP=\"$NOW\"" >> config/binary
echo "SUBPROJECT=\"${SUBPROJECT:-}\"" >> config/binary echo "SUBPROJECT=\"${SUBPROJECT:-}\"" >> config/binary
echo "LB_DISTRIBUTION=\"$SUITE\"" >> config/binary echo "LB_DISTRIBUTION=\"$SUITE\"" >> config/binary
echo "CHANNEL=\"${CHANNEL:-}\"" >> config/binary echo "CHANNEL=\"${CHANNEL:-}\"" >> config/binary
echo "USE_BRIDGE_KERNEL=\"${USE_BRIDGE_KERNEL:-}\"" >> config/binary
echo "BRIDGE_KERNEL_REASONS=\"${BRIDGE_KERNEL_REASONS:-}\"" >> config/binary
echo "DEFAULT_KERNEL=\"${DEFAULT_KERNEL:-}\"" >> config/binary
if [ "${IMAGE_HAS_HARDCODED_PASSWORD:-}" = "1" ]; then if [ "${IMAGE_HAS_HARDCODED_PASSWORD:-}" = "1" ]; then
echo IMAGE_HAS_HARDCODED_PASSWORD=1 >> config/binary echo IMAGE_HAS_HARDCODED_PASSWORD=1 >> config/binary
@ -1460,28 +1516,11 @@ Pin-Priority: 500
EOF EOF
fi fi
case $PROJECT:${SUBPROJECT:-} in
*-dvd:*)
. config/bootstrap
cat > config/archives/dvd.list.binary << EOF
deb $LB_PARENT_MIRROR_BINARY $SUITE universe multiverse
deb $LB_PARENT_MIRROR_BINARY_VOLATILE $SUITE-updates universe multiverse
deb $LB_PARENT_MIRROR_BINARY_SECURITY $SUITE-security universe multiverse
EOF
if [ "$PROPOSED" ]; then
cat >> config/archives/dvd.list.binary << EOF
deb $LB_PARENT_MIRROR_BINARY_VOLATILE $SUITE-proposed universe multiverse
EOF
fi
;;
esac
case $PROJECT:${SUBPROJECT:-} in case $PROJECT:${SUBPROJECT:-} in
ubuntu-cpc:*|ubuntu-server:live|ubuntu:desktop-preinstalled| \ ubuntu-cpc:*|ubuntu-server:live|ubuntu:desktop-preinstalled| \
ubuntu-wsl:*|ubuntu-mini-iso:*|ubuntu:|ubuntu-oem:*| \ ubuntu-wsl:*|ubuntu-mini-iso:*|ubuntu:|ubuntu-oem:*| \
ubuntustudio-dvd:*|edubuntu:*|ubuntu-budgie:*|ubuntucinnamon:*|xubuntu:*| \ ubuntustudio:*|edubuntu:*|ubuntu-budgie:*|ubuntucinnamon:*|xubuntu:*| \
ubuntukylin:*|ubuntu-mate:*|ubuntu-core-desktop:*|ubuntu-core-installer:*) ubuntukylin:*|ubuntu-mate:*|ubuntu-core-installer:*|lubuntu:*)
# Ensure that most things e.g. includes.chroot are copied as is # Ensure that most things e.g. includes.chroot are copied as is
for entry in /usr/share/livecd-rootfs/live-build/${PROJECT}/*; do for entry in /usr/share/livecd-rootfs/live-build/${PROJECT}/*; do
case $entry in case $entry in
@ -1516,8 +1555,8 @@ case $PROJECT:${SUBPROJECT:-} in
esac esac
case $PROJECT in case $PROJECT in
ubuntu-oem|ubuntustudio-dvd|edubuntu|ubuntu-budgie|ubuntucinnamon| \ ubuntu-oem|ubuntustudio|edubuntu|ubuntu-budgie|ubuntucinnamon| \
xubuntu|ubuntukylin|ubuntu-mate) xubuntu|ubuntukylin|ubuntu-mate|lubuntu)
cp -af /usr/share/livecd-rootfs/live-build/ubuntu/includes.chroot \ cp -af /usr/share/livecd-rootfs/live-build/ubuntu/includes.chroot \
config/includes.chroot config/includes.chroot
@ -1565,8 +1604,8 @@ if [ "$EXTRA_PPAS" ]; then
extra_ppa_fingerprint="$(/usr/share/livecd-rootfs/get-ppa-fingerprint "$extra_ppa")" extra_ppa_fingerprint="$(/usr/share/livecd-rootfs/get-ppa-fingerprint "$extra_ppa")"
cat >> config/archives/extra-ppas.list.chroot <<EOF cat >> config/archives/extra-ppas.list.chroot <<EOF
deb http://ppa.launchpad.net/$extra_ppa/ubuntu @DISTRIBUTION@ main deb https://ppa.launchpadcontent.net/$extra_ppa/ubuntu @DISTRIBUTION@ main
deb-src http://ppa.launchpad.net/$extra_ppa/ubuntu @DISTRIBUTION@ main deb-src https://ppa.launchpadcontent.net/$extra_ppa/ubuntu @DISTRIBUTION@ main
EOF EOF
if [ -n "$extra_ppa_pin" ]; then if [ -n "$extra_ppa_pin" ]; then

View File

@ -0,0 +1,12 @@
#!/bin/bash -eux
. config/functions
chroot_dir=chroot
# Networking interface configuration relies udev.
# In normal LXD images, it's a transitive depends of ubuntu-cloud-minimal
# seed, which isn't present in buildd images.
chroot "$chroot_dir" apt-get -y update
env DEBIAN_FRONTEND=noninteractive chroot "$chroot_dir" apt-get -y install udev
chroot "$chroot_dir" apt-get -y clean

View File

@ -257,10 +257,13 @@ mount_disk_image() {
mount_image ${disk_image} "${rootpart}" mount_image ${disk_image} "${rootpart}"
mount_partition "${rootfs_dev_mapper}" $mountpoint mount_partition "${rootfs_dev_mapper}" $mountpoint
local boot_dev="${loop_device}p16" local boot_dev="${loop_device}p13"
if flock -x ${loop_device} \ if flock -x ${loop_device} \
[ -b ${boot_dev} -a -e $mountpoint/boot ]; then [ -b ${boot_dev} -a -e $mountpoint/boot ]; then
flock -x ${loop_device} mount "${boot_dev}" $mountpoint/boot # Only mount if assumed boot_dev is XBOOTLDR type
if sgdisk -i13 "${loop_device}" | grep -i BC13C2FF-59E6-4262-A352-B275FD6F7172 ; then
flock -x ${loop_device} mount "${boot_dev}" $mountpoint/boot
fi
fi fi
# Having one partition mounted should avoid udev-triggered partition # Having one partition mounted should avoid udev-triggered partition
@ -562,8 +565,12 @@ _snap_post_process() {
core[0-9]*) core[0-9]*)
# If the 'core' snap is not present, assume we are coreXX-only and # If the 'core' snap is not present, assume we are coreXX-only and
# install the snapd snap. # install the snapd snap.
channel=stable
if [ $SUBPROJECT = "dangerous" ]; then
channel=$CHANNEL
fi
if [ ! -f ${snaps_dir}/core_[0-9]*.snap ]; then if [ ! -f ${snaps_dir}/core_[0-9]*.snap ]; then
_snap_preseed $CHROOT_ROOT snapd stable _snap_preseed $CHROOT_ROOT snapd "$channel"
fi fi
;; ;;
core) core)
@ -798,12 +805,6 @@ snap_preseed() {
exit 1 exit 1
fi fi
if [ $PROJECT = ubuntu-core-installer ] && [ $SNAP_NAME = subiquity ]; then
# The ubuntu-core-installer project requires features not yet
# present in the latest/ubuntu/stable-24.04 or stable branches.
CHANNEL=latest/ubuntu/stable-24.10
fi
_snap_preseed $CHROOT_ROOT $SNAP $CHANNEL _snap_preseed $CHROOT_ROOT $SNAP $CHANNEL
# Mark this image as having snapd installed explicitly. # Mark this image as having snapd installed explicitly.
@ -1069,20 +1070,22 @@ EOF
# it disables all previous network config in /etc/netplan so # it disables all previous network config in /etc/netplan so
# any previous 50-cloud-init.yaml will be rendered inert. # any previous 50-cloud-init.yaml will be rendered inert.
# Position cloud-init.service After=NetworkManager.service. # Position cloud-init-network.service After=NetworkManager.service.
# (LP: #2008952. Drop-in systemd files cannot redact existing # (LP: #2008952. Drop-in systemd files cannot redact existing
# dependencies (Before= or After=). So, replace the entire unit # dependencies (Before= or After=). So, replace the entire unit
# with an override in /etc/systemd/system/cloud-init.service. # with an override in /etc/systemd/system/cloud-init-network.service.
# Avoid issues reported by debsums (LP: #2069391) by not overwriting # Avoid issues reported by debsums (LP: #2069391) by not overwriting
# unit files delivered by the cloud-init deb. # unit files delivered by the cloud-init deb.
# This drop-in will need to track any changes introduced by cloud-init # This drop-in will need to track any changes introduced by cloud-init
# SRUs which alter the cloud-init.service unit values. # SRUs which alter the cloud-init-network.service unit values.
# This override can be dropped when NetworkManager.service can run # This override can be dropped when NetworkManager.service can run
# Before=sysinit.target when it drops strict dbus.service dependency. # Before=sysinit.target when it drops strict dbus.service dependency.
# 24.3 renamed cloud-init.service to cloud-init-network.service for
# single process mode
mkdir -p chroot/etc/systemd/system/ mkdir -p chroot/etc/systemd/system/
cat <<EOF > chroot/etc/systemd/system/cloud-init.service cat <<EOF > chroot/etc/systemd/system/cloud-init-network.service
${AUTOMATION_HEADER} ${AUTOMATION_HEADER}
# Based on cloud-init 24.2 for Desktop LiveCD # Based on cloud-init 24.3 for Desktop LiveCD
# Redact sysinit.target from Before, add After=NetworkManager*.service # Redact sysinit.target from Before, add After=NetworkManager*.service
# (LP: #2008952) # (LP: #2008952)
[Unit] [Unit]
@ -1109,7 +1112,14 @@ ConditionEnvironment=!KERNEL_CMDLINE=cloud-init=disabled
[Service] [Service]
Type=oneshot Type=oneshot
ExecStart=/usr/bin/cloud-init init # This service is a shim which preserves systemd ordering while allowing a
# single Python process to run cloud-init's logic. This works by communicating
# with the cloud-init process over a unix socket to tell the process that this
# stage can start, and then wait on a return socket until the cloud-init
# process has completed this stage. The output from the return socket is piped
# into a shell so that the process can send a completion message (defaults to
# "done", otherwise includes an error message) and an exit code to systemd.
ExecStart=sh -c 'echo "start" | netcat -Uu -W1 /run/cloud-init/share/network.sock -s /run/cloud-init/share/network-return.sock | sh'
RemainAfterExit=yes RemainAfterExit=yes
TimeoutSec=0 TimeoutSec=0
@ -1168,9 +1178,14 @@ divert_update_initramfs () {
--divert /usr/sbin/update-initramfs.REAL --rename \ --divert /usr/sbin/update-initramfs.REAL --rename \
/usr/sbin/update-initramfs" /usr/sbin/update-initramfs"
cat > chroot/usr/sbin/update-initramfs <<'EOF' cat > chroot/usr/sbin/update-initramfs <<'EOF'
#! /bin/sh #!/bin/sh
if [ $# != 1 ] || [ "$1" != -u ]; then if [ $# != 1 ] || [ "$1" != -u ]; then
exec update-initramfs.REAL "$@" if [ -x /usr/sbin/update-initramfs.REAL ]; then
exec /usr/sbin/update-initramfs.REAL "$@"
else
echo "update-initramfs.REAL not found. Skipping execution." >&2
exit 0
fi
fi fi
echo "update-initramfs: diverted by livecd-rootfs (will be called later)" >&2 echo "update-initramfs: diverted by livecd-rootfs (will be called later)" >&2
@ -1326,3 +1341,39 @@ reset_snapd_state() {
chroot "$rootdir" apt-get install --reinstall -y snapd chroot "$rootdir" apt-get install --reinstall -y snapd
teardown_mountpoint "$rootdir" teardown_mountpoint "$rootdir"
} }
write_kernel_yaml() {
# Generate the kernel.yaml fragment used as input for
# update-source-catalog.
#
# the newer kernel is the default kernel!
# bridge is the older, fallback kernel.
# $1 string, default kernel, such as "linux-generic"
# $2 string with comma seperated list of bridge reasons,
# usually "zfs,drivers"
local default="$1"
local reasons="$2"
cat <<EOF > config/kernel.yaml
kernel:
default: "$default"
EOF
# To specify fallback to a bridge kernel, construct a kernel.yaml
# with the following:
#
# kernel:
# default: linux-foo
# bridge: linux-foo-brg-YY.MM
# bridge_reasons: [zfs, drivers]
#
# If an install is using zfs or "drivers", use the bridge kernel, else
# use the default kernel.
if $USE_BRIDGE_KERNEL ; then
cat <<EOF >> config/kernel.yaml
bridge: "${default}-brg-$(release_ver)"
bridge_reasons: [$reasons]
EOF
fi
}

View File

@ -163,15 +163,24 @@ build_layered_squashfs () {
# (rather than the default which is to skip copies based # (rather than the default which is to skip copies based
# on size + mtime) # on size + mtime)
# --no-times to not copy mtimes from source to dest (we # --no-times to not copy mtimes from source to dest (we
# don't care about mtime in the image and want to # do care about mtime in the image but want to
# deduplicate files that have indentical contents but # deduplicate files that have indentical contents but
# different mtimes) # different mtimes, and mtime will be fixed below)
# --del because we want to remove files that have been # --del because we want to remove files that have been
# deleted in this layer. # deleted in this layer.
rsync -aXHAS --checksum --no-times --del chroot/ chroot-2/ rsync -aXHAS --checksum --no-times --del chroot/ chroot-2/
umount chroot-2 umount chroot-2
rmdir chroot-2 rmdir chroot-2
overlay_dir="$overlay_dir-2" overlay_dir="$overlay_dir-2"
# We use rsync with --no-times rsync (see above)
# for the absolute best size reduction. But there are
# cases where we want mtime preservation to match what
# was found in the original archive packages, such as
# keeping .py mtime in sync with the matching .pyc.
# Operate on the upperdir directly, so that we are only
# modifying mtime on files that are actually changed in
# this layer. LP: #2107332
/usr/share/livecd-rootfs/sync-mtime chroot "$overlay_dir"
fi fi
create_squashfs "${overlay_dir}" ${squashfs_f} create_squashfs "${overlay_dir}" ${squashfs_f}
@ -185,7 +194,7 @@ build_layered_squashfs () {
if [ -f config/seeded-languages ]; then if [ -f config/seeded-languages ]; then
usc_opts="$usc_opts --langs $(cat config/seeded-languages)" usc_opts="$usc_opts --langs $(cat config/seeded-languages)"
fi fi
/usr/share/livecd-rootfs/update-source-catalog $usc_opts /usr/share/livecd-rootfs/update-source-catalog source $usc_opts
else else
echo "No catalog entry template for $pass" echo "No catalog entry template for $pass"
fi fi
@ -204,6 +213,13 @@ do
build_layered_squashfs "${_PASS}" ${*} build_layered_squashfs "${_PASS}" ${*}
done done
if [ -n "$DEFAULT_KERNEL" -a -f livecd.${PROJECT_FULL}.install-sources.yaml ]; then
write_kernel_yaml "$DEFAULT_KERNEL" "$BRIDGE_KERNEL_REASONS"
/usr/share/livecd-rootfs/update-source-catalog merge \
--output livecd.${PROJECT_FULL}.install-sources.yaml \
--template config/kernel.yaml
fi
# Ubiquity-compatible removal manifest for ISO not using a layered-aware installer # Ubiquity-compatible removal manifest for ISO not using a layered-aware installer
if [ -n "$(ls livecd.${PROJECT_FULL}.*install.live.manifest.full 2>/dev/null)" ] && \ if [ -n "$(ls livecd.${PROJECT_FULL}.*install.live.manifest.full 2>/dev/null)" ] && \
[ -n "$(ls livecd.${PROJECT_FULL}.*install.manifest.full 2>/dev/null)" ]; then [ -n "$(ls livecd.${PROJECT_FULL}.*install.manifest.full 2>/dev/null)" ]; then

View File

@ -206,13 +206,6 @@ create_chroot_pass () {
[ "$livepass" != "$pass" ] && continue [ "$livepass" != "$pass" ] && continue
lb chroot_linux-image ${*} lb chroot_linux-image ${*}
lb chroot_live-packages ${*} lb chroot_live-packages ${*}
if [ "$LB_LINUX_PACKAGES" = "linux" ]; then
for flavour in $LB_LINUX_FLAVOURS; do
mkdir -p chroot/etc/subiquity
echo "linux-$flavour" > chroot/etc/subiquity/kernel-meta-package
break
done
fi
break break
done done

View File

@ -1,12 +0,0 @@
version: 1
source:
id: ubuntu-core-desktop
search_drivers: false
interactive-sections:
- locale
- keyboard
- storage
identity:
username: ubuntu
password: '$1$zB3Qu2ef$TKLhQpQlKRyCZGUdHFFMH/'
hostname: ubuntu

View File

@ -1,21 +0,0 @@
#! /bin/sh
set -eu
case ${PASS:-} in
minimal.live)
;;
*)
exit 0
;;
esac
mkdir -p "/etc/initramfs-tools/conf.d"
cat <<EOF > /etc/initramfs-tools/conf.d/casperize.conf
export CASPER_GENERATE_UUID=1
EOF
cat <<EOF > /etc/initramfs-tools/conf.d/default-layer.conf
LAYERFS_PATH=${PASS}.squashfs
EOF

View File

@ -1,117 +0,0 @@
# The top level settings are used as module
# and system configuration.
# A set of users which may be applied and/or used by various modules
# when a 'default' entry is found it will reference the 'default_user'
# from the distro configuration specified below
users:
- default
# If this is set, 'root' will not be able to ssh in and they
# will get a message to login instead as the default $user
disable_root: true
# This will cause the set+update hostname module to not operate (if true)
preserve_hostname: true
ssh_pwauth: yes
chpasswd:
expire: false
# This is the initial network config.
# It can be overwritten by cloud-init or subiquity.
network:
version: 2
ethernets:
zz-all-en:
match:
name: "en*"
dhcp4: true
zz-all-eth:
match:
name: "eth*"
dhcp4: true
# We used to have a custom final_message here. Just use the default instead.
# Example datasource config
# datasource:
# Ec2:
# metadata_urls: [ 'blah.com' ]
# timeout: 5 # (defaults to 50 seconds)
# max_wait: 10 # (defaults to 120 seconds)
# The modules that run in the 'init' stage
cloud_init_modules:
- bootcmd
- write-files
- ca-certs
- rsyslog
- users-groups
- ssh
# The modules that run in the 'config' stage
cloud_config_modules:
# Emit the cloud config ready event
# this can be used by upstart jobs for 'start on cloud-config'.
- ssh-import-id
- set-passwords
- timezone
- disable-ec2-metadata
- runcmd
# The modules that run in the 'final' stage
cloud_final_modules:
- scripts-per-once
- scripts-user
- ssh-authkey-fingerprints
- keys-to-console
- phone-home
- final-message
# System and/or distro specific settings
# (not accessible to handlers/transforms)
system_info:
# This will affect which distro class gets used
distro: ubuntu
# Default user name + that default users groups (if added/used)
default_user:
name: installer
lock_passwd: false
gecos: Ubuntu
groups: [adm, audio, cdrom, dialout, dip, floppy, lxd, netdev, plugdev, sudo, video]
sudo: ["ALL=(ALL) NOPASSWD:ALL"]
shell: /usr/bin/subiquity-shell
# Automatically discover the best ntp_client
ntp_client: auto
# Other config here will be given to the distro class and/or path classes
paths:
cloud_dir: /var/lib/cloud/
templates_dir: /etc/cloud/templates/
upstart_dir: /etc/init/
package_mirrors:
- arches: [i386, amd64]
failsafe:
primary: http://archive.ubuntu.com/ubuntu
security: http://security.ubuntu.com/ubuntu
search:
primary:
- http://%(ec2_region)s.ec2.archive.ubuntu.com/ubuntu/
- http://%(availability_zone)s.clouds.archive.ubuntu.com/ubuntu/
- http://%(region)s.clouds.archive.ubuntu.com/ubuntu/
security: []
- arches: [arm64, armel, armhf]
failsafe:
primary: http://ports.ubuntu.com/ubuntu-ports
security: http://ports.ubuntu.com/ubuntu-ports
search:
primary:
- http://%(ec2_region)s.ec2.ports.ubuntu.com/ubuntu-ports/
- http://%(availability_zone)s.clouds.ports.ubuntu.com/ubuntu-ports/
- http://%(region)s.clouds.ports.ubuntu.com/ubuntu-ports/
security: []
- arches: [default]
failsafe:
primary: http://ports.ubuntu.com/ubuntu-ports
security: http://ports.ubuntu.com/ubuntu-ports
ssh_svcname: ssh

View File

@ -1,4 +0,0 @@
output: {all: '>> /var/log/cloud-init-output.log'}
no_ssh_fingerprints: true
ssh:
emit_keys_to_console: false

View File

@ -1,4 +0,0 @@
# systemd in 23.04+ uses a newer "compact" format by default which is not
# understood by the systemd libraries from jammy used in the subiquity snap.
[Service]
Environment="SYSTEMD_JOURNAL_COMPACT=0"

View File

@ -1,4 +0,0 @@
# systemd in 22.04+ uses "hash table hardening" by default which is not
# understood by the systemd libraries from focal used in the subiquity snap.
[Service]
Environment="SYSTEMD_JOURNAL_KEYED_HASH=0"

View File

@ -1,3 +0,0 @@
#!/bin/sh
exec sudo snap run subiquity

View File

@ -1,3 +0,0 @@
[Service]
ExecStart=
ExecStart=-/sbin/agetty --noclear -n --autologin ubuntu-server %I $TERM

View File

@ -1,9 +0,0 @@
[Unit]
Description=Subiquity, the installer for Ubuntu Server %I
After=snapd.seeded.service
StartLimitInterval=0
[Service]
Environment=SNAP_REEXEC=0
ExecStart=
ExecStart=/usr/bin/snap run subiquity.subiquity-service %I

View File

@ -1,4 +0,0 @@
[Service]
StandardOutput=tty
ExecStart=
ExecStart=/usr/bin/snap run subiquity --ssh

View File

@ -1,14 +0,0 @@
[Unit]
IgnoreOnIsolate=yes
After=systemd-user-sessions.service plymouth-quit-wait.service snap.seeded.service
[Service]
Environment=SNAP_REEXEC=0
UtmpIdentifier=tty1
TTYPath=/dev/tty1
TTYReset=yes
TTYVHangup=yes
TTYVTDisallocate=yes
KillMode=process
IgnoreSIGPIPE=no
SendSIGHUP=yes

View File

@ -1,4 +0,0 @@
[Mount]
What=/dev/disk/by-uuid/00c629d6-06ab-4dfd-b21e-c3186f34105d
Where=/subiquity_config
Type=ext4

View File

@ -1,9 +0,0 @@
127.0.0.1 localhost.localdomain localhost
::1 localhost6.localdomain6 localhost6
# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts

View File

@ -1,11 +0,0 @@
- default: true
description:
en: Ubuntu Core Desktop.
id: ubuntu-core-desktop
locale_support: none
name:
en: Ubuntu Core Desktop
path: filesystem.img.xz
type: dd-xz:file
size: @SIZE@
variant: core

View File

@ -1,187 +0,0 @@
type: model
authority-id: canonical
revision: 5
series: 16
brand-id: canonical
model: ubuntu-core-desktop-22-amd64
architecture: amd64
base: core22-desktop
display-name: Ubuntu Core Desktop 22 (amd64)
grade: signed
snaps:
-
default-channel: 22/stable
id: mZqHskGgGDECRCKP7h7ef3Rl2wTwyNfy
name: pc-desktop
type: gadget
-
default-channel: 23.10/stable
id: pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza
name: pc-kernel
type: kernel
-
default-channel: latest/edge/ubuntu-core-desktop
id: PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4
name: snapd
type: snapd
-
default-channel: latest/stable
id: qRMmQqNDz8kRUTqFIgqk2RzNNoC7jUZ6
name: core22-desktop
type: base
-
default-channel: latest/stable
id: LVkazk0JLrL0ivuHRlv3wp3bK1nAgwtN
name: ubuntu-desktop-session
type: app
-
default-channel: latest/stable
id: amcUKQILKXHHTlmSa7NMdnXSx02dNeeT
name: core22
type: base
-
default-channel: 22/stable
id: RmBXKl6HO6YOC2DE4G2q1JzWImC04EUy
name: network-manager
type: app
-
default-channel: latest/stable
id: EISPgh06mRh1vordZY9OZ34QHdd7OrdR
name: bare
type: base
-
default-channel: latest/stable
id: jZLfBRzf1cYlYysIjD2bwSzNtngY0qit
name: gtk-common-themes
type: app
-
default-channel: latest/stable
id: lATO8HzwVvrAPrlZRAWpfyrJKlAJrZS3
name: gnome-42-2204
type: app
-
default-channel: latest/stable
id: m1eQacDdXCthEwWQrESei3Zao3d5gfJF
name: cups
type: app
-
default-channel: latest/stable
id: WJKWBUuCDufOFw2p24tvkbbw02plGkbd
name: ipp-usb
type: app
-
default-channel: 22/stable
id: dVK2PZeOLKA7vf1WPCap9F8luxTk9Oll
name: avahi
type: app
-
default-channel: 22/stable
id: JmzJi9kQvHUWddZ32PDJpBRXUpGRxvNS
name: bluez
type: app
-
default-channel: latest/stable
id: Si21Q1kjaZpyJ8TfGbAnxJ4y6KMv7FuW
name: loupe
presence: optional
type: app
-
default-channel: latest/stable
id: EDFg87ESUg9sAIlm0Vm5Wmr0LjiEonSm
name: evince
presence: optional
type: app
-
default-channel: latest/stable/ubuntu-23.10
id: 3wdHCAVyZEmYsCMFDE9qt92UV8rC8Wdk
name: firefox
presence: optional
type: app
-
default-channel: latest/stable
id: J8OcDPQ0JM8dbvk29HRqpWVI9kBw0atG
name: gnome-calculator
presence: optional
type: app
-
default-channel: latest/stable
id: qJcS3UjpF9AMJKWAiKwA5EWbm0y6Uduw
name: gnome-characters
presence: optional
type: app
-
default-channel: latest/stable
id: 8NtSF2nXW6krsxbXBYydy1j985k6ZsVK
name: gnome-clocks
presence: optional
type: app
-
default-channel: latest/stable
id: BzJuWXmCIpyjUKotXPWU2psnl8gEh4hm
name: gnome-font-viewer
presence: optional
type: app
-
default-channel: latest/stable
id: kIMfmZTJspWa8vtfbgU3W9Nbv4V5Qgmh
name: gnome-logs
presence: optional
type: app
-
default-channel: latest/stable
id: PZj2sEabMQrVUV1HKZmmmXSk3E6wKC9i
name: gnome-text-editor
presence: optional
type: app
-
default-channel: latest/stable
id: LhzK7p8214jufMYx1kz43QkWhFnOKdbr
name: gnome-weather
presence: optional
type: app
-
default-channel: latest/stable
id: J60k4JY0HppjwOjW8dZdYc8obXKxujRu
name: lxd
type: app
-
default-channel: latest/edge/ubuntu-core-desktop
id: IrwRHakqtzhFRHJOOPxKVPU0Kk7Erhcu
name: snapd-desktop-integration
type: app
-
default-channel: latest/stable/ubuntu-23.10
id: gjf3IPXoRiipCu9K0kVu52f0H56fIksg
name: snap-store
type: app
-
default-channel: latest/stable
id: JMjaFobGn56fh1HepiaGuCxQgbWYnHc8
name: workshops
presence: optional
type: app
-
default-channel: latest/stable
id: 9BTClmjz31r0UltmbJ5nnGe0Xm1AzfMp
name: gnome-system-monitor
presence: optional
type: app
-
default-channel: latest/stable
id: xODwiAdjx9KGChvI1z9Xx2JWJE7oLFF6
name: ubuntu-core-desktop-init
type: app
storage-safety: prefer-encrypted
timestamp: 2023-10-21T10:19:41+00:00
sign-key-sha3-384: 9tydnLa6MTJ-jaQTFUXEwHl1yRx7ZS4K5cyFDhYDcPzhS7uyEkDxdUjg9g08BtNn
AcLBXAQAAQoABgUCZTP+wgAKCRDgT5vottzAEia0D/9FyEOb4Qai+sJQ/ilVqZ1L0FicTIwa9/Ae
khv5xXYGmukSzkIUGNYjvcCJByxgMiDsFOIIzrOYlJPmRFtdFOwm3KGS2JGthIUbQfElVbyPswZh
cgqYVuGMiRw8udlZHOmy2rWIKxo/uLMEsZzZuk83nC+ZzAoQoHOmcELuRtIc1qz9XAf6n7pd79S2
10cxG7vuaA1iVbqqtbSlQCAdKTdOCxw2/NHTZ8mIRtAQZGA1LP8IMEyv2Fi3FVpmN2derV78sO3f
kCf/KdYeD6d1a03WchIDsuPlvTpTOU3TSX07QWj+WrZHMDh9gpQHDdSIWswBCPIHa10R6aDRRUUK
/5dJDq77/CyY/Q/ivcAuFiTceghKVcx3Zci+VX2WgvLK9qYHYHSilb70nTvsDFUA/bKep57/xqeG
j03cvUaqHb6li2T2SmyzaQOGV5MF6XxlhcLWY19PHc2/ocLpukL4vxkl18Ur3FoYAOLODwrlxueS
FDu7u+qf+Ki2+f0ZtN70EPcFAQAJ4C0N6f9j9Z+9BQptTlVwrIzIUxIwxtkp27YvERno6bZPBRYs
T4YdzVSdPKXsItT/GUiqYwdgPTi61FZXTN/47yIaHZLUwMT9gg/9XgNqIHKIdFHxm6GWVxL0AqOp
JPIfqrsmVbewevzwV1Rgo1LbPKVVrjqPtW0QQlkS8w==

View File

@ -13,15 +13,29 @@ esac
. config/binary . config/binary
. config/functions . config/functions
env SNAPPY_STORE_NO_CDN=1 snap known --remote model series=16 brand-id=canonical model=ubuntu-core-24-amd64 > config/ubuntu-core-24-amd64.model case ${SUBPROJECT} in
desktop)
env SNAPPY_STORE_NO_CDN=1 snap prepare-image \
config/ubuntu-core-desktop-24-amd64.model-assertion --snap firefox chroot
env SNAPPY_STORE_NO_CDN=1 snap prepare-image \ cat <<-EOF > config/edge.catalog-in.yaml
config/ubuntu-core-24-amd64.model --snap console-conf chroot name: "Ubuntu Core Desktop 24"
mv chroot/system-seed/systems/* chroot/system-seed/systems/ubuntu-core-24-amd64 description: >-
rsync -av chroot/system-seed/{systems,snaps} chroot/var/lib/snapd/seed Ubuntu Core Desktop.
rm -rf chroot/system-seed id: ubuntu-core-desktop
type: null
variant: core
locale_support: none
snapd_system_label: ubuntu-core-desktop-24-amd64
EOF
mv chroot/system-seed/systems/* chroot/system-seed/systems/ubuntu-core-desktop-24-amd64
;;
*)
env SNAPPY_STORE_NO_CDN=1 snap known --remote model series=16 brand-id=canonical model=ubuntu-core-24-amd64 > config/ubuntu-core-24-amd64.model
env SNAPPY_STORE_NO_CDN=1 snap prepare-image \
config/ubuntu-core-24-amd64.model --snap console-conf chroot
cat <<-EOF > config/edge.catalog-in.yaml cat <<-EOF > config/edge.catalog-in.yaml
name: "Ubuntu Core 24" name: "Ubuntu Core 24"
description: >- description: >-
Ubuntu Core. Ubuntu Core.
@ -31,8 +45,15 @@ variant: core
locale_support: none locale_support: none
snapd_system_label: ubuntu-core-24-amd64 snapd_system_label: ubuntu-core-24-amd64
EOF EOF
mv chroot/system-seed/systems/* chroot/system-seed/systems/ubuntu-core-24-amd64
;;
esac
rsync -av chroot/system-seed/{systems,snaps} chroot/var/lib/snapd/seed
rm -rf chroot/system-seed
PROJECT_FULL=$PROJECT${SUBARCH:+-$SUBARCH} PROJECT_FULL=$PROJECT${SUBARCH:+-$SUBARCH}
usc_opts="--output livecd.${PROJECT_FULL}.install-sources.yaml \ usc_opts="--output livecd.${PROJECT_FULL}.install-sources.yaml \
--template config/edge.catalog-in.yaml \ --template config/edge.catalog-in.yaml \
--size 0" --size 0"
/usr/share/livecd-rootfs/update-source-catalog $usc_opts /usr/share/livecd-rootfs/update-source-catalog source $usc_opts

View File

@ -18,20 +18,6 @@ ssh_pwauth: yes
chpasswd: chpasswd:
expire: false expire: false
# This is the initial network config.
# It can be overwritten by cloud-init or subiquity.
network:
version: 2
ethernets:
zz-all-en:
match:
name: "en*"
dhcp4: true
zz-all-eth:
match:
name: "eth*"
dhcp4: true
# We used to have a custom final_message here. Just use the default instead. # We used to have a custom final_message here. Just use the default instead.
# Example datasource config # Example datasource config

View File

@ -3,6 +3,5 @@ Description=Subiquity, the installer for Ubuntu Server %I
StartLimitInterval=0 StartLimitInterval=0
[Service] [Service]
Environment=SNAP_REEXEC=0
ExecStart= ExecStart=
ExecStart=/usr/bin/snap run subiquity.subiquity-service %I ExecStart=/usr/bin/snap run subiquity.subiquity-service %I

View File

@ -2,7 +2,6 @@
IgnoreOnIsolate=yes IgnoreOnIsolate=yes
[Service] [Service]
Environment=SNAP_REEXEC=0
UtmpIdentifier=tty1 UtmpIdentifier=tty1
TTYPath=/dev/tty1 TTYPath=/dev/tty1
TTYReset=yes TTYReset=yes

View File

@ -0,0 +1,120 @@
type: model
authority-id: canonical
series: 16
brand-id: canonical
model: ubuntu-core-desktop-24-amd64
architecture: amd64
base: core24-desktop
display-name: Ubuntu Core Desktop 24 (amd64)
grade: signed
snaps:
-
default-channel: 24/stable
id: mZqHskGgGDECRCKP7h7ef3Rl2wTwyNfy
name: pc-desktop
type: gadget
-
default-channel: 24-hwe/stable
id: pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza
name: pc-kernel
type: kernel
-
default-channel: latest/edge/ubuntu-core-desktop
id: PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4
name: snapd
type: snapd
-
default-channel: latest/stable
id: GY5GohJ4F1ZsWpkosG0joeZyDfHzTZrD
name: core24-desktop
type: base
-
default-channel: 24/stable
id: LVkazk0JLrL0ivuHRlv3wp3bK1nAgwtN
name: ubuntu-desktop-session
type: app
-
default-channel: latest/stable
id: amcUKQILKXHHTlmSa7NMdnXSx02dNeeT
name: core22
type: base
-
default-channel: latest/stable
id: dwTAh7MZZ01zyriOZErqd1JynQLiOGvM
name: core24
type: base
-
default-channel: 24/stable
id: RmBXKl6HO6YOC2DE4G2q1JzWImC04EUy
name: network-manager
type: app
-
default-channel: latest/stable
id: EISPgh06mRh1vordZY9OZ34QHdd7OrdR
name: bare
type: base
-
default-channel: latest/stable
id: jZLfBRzf1cYlYysIjD2bwSzNtngY0qit
name: gtk-common-themes
type: app
-
default-channel: latest/stable
id: lATO8HzwVvrAPrlZRAWpfyrJKlAJrZS3
name: gnome-42-2204
type: app
-
default-channel: latest/stable
id: m1eQacDdXCthEwWQrESei3Zao3d5gfJF
name: cups
type: app
-
default-channel: latest/stable
id: WJKWBUuCDufOFw2p24tvkbbw02plGkbd
name: ipp-usb
type: app
-
default-channel: 24/stable
id: dVK2PZeOLKA7vf1WPCap9F8luxTk9Oll
name: avahi
type: app
-
default-channel: 24/stable
id: JmzJi9kQvHUWddZ32PDJpBRXUpGRxvNS
name: bluez
type: app
-
default-channel: latest/stable/ubuntu-24.04
id: 3wdHCAVyZEmYsCMFDE9qt92UV8rC8Wdk
name: firefox
presence: optional
type: app
-
default-channel: latest/edge/ubuntu-core-desktop
id: IrwRHakqtzhFRHJOOPxKVPU0Kk7Erhcu
name: snapd-desktop-integration
type: app
-
default-channel: latest/stable/ubuntu-24.04
id: gjf3IPXoRiipCu9K0kVu52f0H56fIksg
name: snap-store
type: app
-
default-channel: latest/candidate
id: tBdYpKjXcW5farGGJaWiYXrxIwMVMtx5
name: ubuntu-desktop-init
type: app
storage-safety: prefer-encrypted
timestamp: 2024-07-04T10:33:44+08:00
sign-key-sha3-384: 9tydnLa6MTJ-jaQTFUXEwHl1yRx7ZS4K5cyFDhYDcPzhS7uyEkDxdUjg9g08BtNn
AcLBXAQAAQoABgUCZoYTygAKCRDgT5vottzAEnlLD/4toc4w5IiLm/xmBFL8BVwXXVQsvNNtVYaT
NGSa+q7OJXeVbPQnnRMK4oH31IbGFngK3IHoc04LK76W2GQzAE4SQxTcV9VTlyPrVc6OeCn9rSWj
zFX/fOVuD5Wd6OOgNitaHqVHh8CDQFcsdOBICImHG6s0Au1mIDVQvV/DxcnnprJ53yXFCeastuX+
CnZiB6wOv/dzGHnIbhpUtKg5HV5jZoIkmplWAZr1IXd8gAPvltDzpJYwN6GMHK6SLUD1tgviP4ZB
gw9IT11DCeB9TOEnsAs7y1YApUdkxMSv4B+Jwew/lkjysncULqFCt6fCD3HEw+OdULb/OrFnYcSV
4NqPBop/9mi+CB5Fs3ubtlKxK9VnSJbLpXsyBeDvljVKp0MvNBpCTJnlGtRvQE/bHLpaAhRRsP0R
6cUqd1ieRm4wp/1/v+zMjdp6VL7co0/a6jZgtfptCMnCC6Z0KdLWGQjaXDwxNStqMK3h/Au2YWDc
ZgZ/+wTxMlDyU4i4gg+rByV2yPHfGeVpN7D7nuY8OWXq1ezESY6K5fsOW77/XEjZJOI3BFOJ6Xnl
2ATKBs6uSmMPQSZo21sk+E0c2gH8qj6L6mUcAz2qvilur9w4uEM3TRfZcAKPN+8lV44eB8/aZpq7
GfjsXFa+DpXJzWdC91SP4yIeojoj3OAl4gNwt0c85g==

View File

@ -9,6 +9,9 @@ esac
IMAGE_STR="# CLOUD_IMG: This file was created/modified by the Cloud Image build process" IMAGE_STR="# CLOUD_IMG: This file was created/modified by the Cloud Image build process"
FS_LABEL="cloudimg-rootfs" FS_LABEL="cloudimg-rootfs"
# 2.4G GiB
# Since Plucky, ppc64el need more than the default 2.2GiB
IMAGE_SIZE=2576980378
. config/binary . config/binary

View File

@ -284,6 +284,7 @@ install_grub() {
echo "Reducing initramfs size for ${SUBARCH} board" echo "Reducing initramfs size for ${SUBARCH} board"
mkdir -p mountpoint/etc/initramfs-tools/conf.d/ mkdir -p mountpoint/etc/initramfs-tools/conf.d/
cp ${my_d}/riscv64/initramfs-tools/modules_list.conf mountpoint/etc/initramfs-tools/conf.d/ cp ${my_d}/riscv64/initramfs-tools/modules_list.conf mountpoint/etc/initramfs-tools/conf.d/
cat ${my_d}/riscv64/initramfs-tools/allwinner >> mountpoint/etc/initramfs-tools/modules
chroot mountpoint update-initramfs -c -v -k all chroot mountpoint update-initramfs -c -v -k all
echo "Installing U-Boot for ${SUBARCH} board" echo "Installing U-Boot for ${SUBARCH} board"
if [ "$SUBARCH" = "licheerv" ]; then if [ "$SUBARCH" = "licheerv" ]; then

View File

@ -39,26 +39,26 @@ create_partitions() {
sgdisk "${disk_image}" \ sgdisk "${disk_image}" \
--new=15:0:204800 \ --new=15:0:204800 \
--typecode=15:ef00 \ --typecode=15:ef00 \
--new=16::1G \ --new=13::1G \
--typecode=16:ea00 \ --typecode=13:ea00 \
--new=1: --new=1:
;; ;;
riscv64) riscv64)
sgdisk "${disk_image}" \ sgdisk "${disk_image}" \
--set-alignment=2 \ --set-alignment=2 \
--new=13::1G \
--typecode=13:ea00 \
--new=15::+106M \ --new=15::+106M \
--typecode=15:ef00 \ --typecode=15:ef00 \
--new=16::1G \
--typecode=16:ea00 \
--new=1:: \ --new=1:: \
--attributes=1:set:2 --attributes=1:set:2
;; ;;
amd64) amd64)
sgdisk "${disk_image}" \ sgdisk "${disk_image}" \
--new=13::1G \
--typecode=13:ea00 \
--new=14::+4M \ --new=14::+4M \
--new=15::+106M \ --new=15::+106M \
--new=16::1G \
--typecode=16:ea00 \
--new=1:: --new=1::
sgdisk "${disk_image}" \ sgdisk "${disk_image}" \
-t 14:ef02 \ -t 14:ef02 \
@ -71,7 +71,7 @@ create_partitions() {
create_and_mount_boot_partitions() { create_and_mount_boot_partitions() {
uefi_dev="${loop_device}p15" uefi_dev="${loop_device}p15"
boot_dev="${loop_device}p16" boot_dev="${loop_device}p13"
mountpoint="$1" mountpoint="$1"
mkfs.vfat -F 32 -n UEFI "${uefi_dev}" mkfs.vfat -F 32 -n UEFI "${uefi_dev}"

View File

@ -0,0 +1,3 @@
# Required drivers to boot off MMC
mmc-block
sunxi-mmc

Some files were not shown because too many files have changed in this diff Show More