Compare commits

...

12 Commits

Author SHA1 Message Date
michael.hudson@canonical.com
dad4a04751
releasing package livecd-rootfs version 26.04.23 2026-03-02 10:52:01 +13:00
michael.hudson@canonical.com
9861d393aa
changelog for Tobias' change 2026-02-27 14:40:30 +13:00
Tobias Heider
0b30131aae Properly handle non -generic kernel and initramfs flavour
Determine used flavour by looking at the suffix of kernel.
hwe is currently the only one that needs to have a prefix
added so we can hardcode that.
2026-02-26 02:08:26 +01:00
michael.hudson@canonical.com
301cf9622c
releasing package livecd-rootfs version 26.04.22 2026-02-26 10:57:27 +13:00
michael.hudson@canonical.com
a3c8532764
changelog for tobhe's changes 2026-02-26 10:32:54 +13:00
michael.hudson@canonical.com
92e680cc2c
Merge remote-tracking branch 'tobhe/extra_ppas' into ubuntu/master 2026-02-26 10:31:11 +13:00
Tobias Heider
b1c61d8bf1 Fix extra_ppas
ignore launchpad repos in in_release_path because it
can only handle a single repo.
2026-02-25 22:22:51 +01:00
michael.hudson@canonical.com
9c4ce17909
Merge branch 'more-iso-fixes' into ubuntu/master 2026-02-26 10:15:59 +13:00
michael.hudson@canonical.com
b1ca2ae69b
changelog 2026-02-26 10:13:24 +13:00
michael.hudson@canonical.com
31a0c2716c
place kernel at /casper/vmlinux on riscv64
For no very good reason this is what debian-cd does, and what the grub
config isobuilder generates still expects. It probably makes sense to
switch to 'vmlinuz' like every other arch apart from ppc64el does but
for now I want to maintain compatibility with the old ISOs.
2026-02-26 10:13:23 +13:00
michael.hudson@canonical.com
a66fbc54b7
make sure the for-iso squashfs gets created in the right place for kubuntu 2026-02-26 10:13:21 +13:00
Olivier Gayot
9819eae23c ubuntu: pull model from Launchpad canonical-model git repo
Signed-off-by: Olivier Gayot <olivier.gayot@canonical.com>
2026-02-25 10:34:19 +01:00
7 changed files with 61 additions and 233 deletions

25
debian/changelog vendored
View File

@ -1,3 +1,28 @@
livecd-rootfs (26.04.23) resolute; urgency=medium
[ Tobias Heider ]
* Fix ISO builds when KERNEL_FLAVOUR != generic.
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Mon, 02 Mar 2026 10:51:47 +1300
livecd-rootfs (26.04.22) resolute; urgency=medium
[ Oliver Gayot ]
* Pull the model from Launchpad's lp:canonical-models
repo, instead of having it uploaded as part of livecd-rootfs. This
indirection makes it possible to update the models without requiring a new
upload of livecd-rootfs every time.
[ Michael Hudson-Doyle ]
* Fix two more problems with livefs-built ISOs:
- Generate the for-iso squashfs in the right place for Kubuntu.
- Fix confusion about the kernel path on the ISO on riscv64.
[ Tobias Heider ]
* Fix pool generation when using extra_ppas.
-- Michael Hudson-Doyle <michael.hudson@ubuntu.com> Thu, 26 Feb 2026 10:56:42 +1300
livecd-rootfs (26.04.21) resolute; urgency=medium livecd-rootfs (26.04.21) resolute; urgency=medium
[ Dan Bungert ] [ Dan Bungert ]

View File

@ -576,7 +576,7 @@ if [ "${MAKE_ISO}" = "yes" ]; then
# create a for-iso.filesystem.squashfs that does. # create a for-iso.filesystem.squashfs that does.
if [ -z "$PASSES" ]; then if [ -z "$PASSES" ]; then
isobuild generate-sources --mountpoint=/cdrom > chroot/etc/apt/sources.list.d/cdrom.sources isobuild generate-sources --mountpoint=/cdrom > chroot/etc/apt/sources.list.d/cdrom.sources
create_squashfs chroot for-iso.filesystem.squashfs create_squashfs chroot ${PWD}/for-iso.filesystem.squashfs
fi fi
# Link kernel and initrd files. The ${thing#${PREFIX}} expansion strips # Link kernel and initrd files. The ${thing#${PREFIX}} expansion strips
# the PREFIX, so "livecd.ubuntu-server.kernel-generic" becomes # the PREFIX, so "livecd.ubuntu-server.kernel-generic" becomes

View File

@ -108,10 +108,10 @@ class AptStateManager:
def in_release_path(self) -> pathlib.Path: def in_release_path(self) -> pathlib.Path:
"""Return the path to the InRelease file. """Return the path to the InRelease file.
This assumes exactly one InRelease file matches the pattern. This ignores all but the first path.
Will raise ValueError if there are 0 or multiple matches. Will raise Error if there isn't at least one match.
""" """
[path] = self.apt_root.joinpath("var/lib/apt/lists").glob( [path] = self.apt_root.joinpath("var/lib/apt/lists").glob(
f"*_dists_{self.series}_InRelease" f"*ubuntu.com*_dists_{self.series}_InRelease"
) )
return path return path

View File

@ -268,7 +268,7 @@ class ISOBuilder:
target.hardlink_to(src) target.hardlink_to(src)
kernel_name = "vmlinuz" kernel_name = "vmlinuz"
if self.arch == "ppc64el": if self.arch in ("ppc64el", "riscv64"):
kernel_name = "vmlinux" kernel_name = "vmlinux"
with self.logger.logged( with self.logger.logged(
@ -278,19 +278,18 @@ class ISOBuilder:
for path in artifact_dir.glob(f"{filename_prefix}*.{ext}"): for path in artifact_dir.glob(f"{filename_prefix}*.{ext}"):
newname = path.name[len(filename_prefix) :] newname = path.name[len(filename_prefix) :]
link(path, newname) link(path, newname)
for suffix, prefix in (
("-generic", ""), for kernel_path in artifact_dir.glob(f"{filename_prefix}kernel*"):
("-generic-hwe", "hwe-"), suffix = kernel_path.name[len(filename_prefix) + len("kernel") :]
): prefix = "hwe-" if suffix.endswith("-hwe") else ""
if artifact_dir.joinpath(f"{filename_prefix}kernel{suffix}").exists(): link(
link( artifact_dir.joinpath(f"{filename_prefix}kernel{suffix}"),
artifact_dir.joinpath(f"{filename_prefix}kernel{suffix}"), f"{prefix}{kernel_name}",
f"{prefix}{kernel_name}", )
) link(
link( artifact_dir.joinpath(f"{filename_prefix}initrd{suffix}"),
artifact_dir.joinpath(f"{filename_prefix}initrd{suffix}"), f"{prefix}initrd",
f"{prefix}initrd", )
)
self._extract_casper_uuids() self._extract_casper_uuids()
def make_bootable(self, project: str, capproject: str, subarch: str): def make_bootable(self, project: str, capproject: str, subarch: str):

View File

@ -133,8 +133,25 @@ get_components()
# env SNAPPY_STORE_NO_CDN=1 snap known --remote model series=16 brand-id=canonical model=ubuntu-classic-2410-amd64 > config/classic-model.model # env SNAPPY_STORE_NO_CDN=1 snap known --remote model series=16 brand-id=canonical model=ubuntu-classic-2410-amd64 > config/classic-model.model
# #
dangerous_model=/usr/share/livecd-rootfs/live-build/${PROJECT}/ubuntu-classic-amd64-dangerous.model
stable_model=/usr/share/livecd-rootfs/live-build/${PROJECT}/ubuntu-classic-amd64.model # We used to have the models included in livecd-rootfs itself, but now we pull
# them from the Launchpad git mirror.
canonical_models_tree=$(mktemp -d)
git clone --depth 1 https://git.launchpad.net/canonical-models -- "${canonical_models_tree}"
cleanup_repo()
{
rm -rf -- "${canonical_models_tree}"
}
trap cleanup_repo EXIT
echo 'Checked out canonical-models revision' "$(git -C "${canonical_models_tree}" rev-parse HEAD)"
model_version=$(release_ver | sed 's/\.//')
dangerous_model="${canonical_models_tree}"/ubuntu-classic-"${model_version}"-amd64-dangerous.model
stable_model="${canonical_models_tree}"/ubuntu-classic-"${model_version}"-amd64.model
prepare_args=() prepare_args=()

View File

@ -1,109 +0,0 @@
type: model
authority-id: canonical
series: 16
brand-id: canonical
model: ubuntu-classic-2604-amd64-dangerous
architecture: amd64
base: core24
classic: true
distribution: ubuntu
grade: dangerous
snaps:
-
default-channel: classic-26.04/edge
id: UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH
name: pc
type: gadget
-
components:
nvidia-590-uda-ko:
presence: optional
nvidia-590-uda-user:
presence: optional
default-channel: 26.04/beta
id: pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza
name: pc-kernel
type: kernel
-
default-channel: latest/edge
id: amcUKQILKXHHTlmSa7NMdnXSx02dNeeT
name: core22
type: base
-
default-channel: latest/edge
id: dwTAh7MZZ01zyriOZErqd1JynQLiOGvM
name: core24
type: base
-
default-channel: latest/edge
id: cUqM61hRuZAJYmIS898Ux66VY61gBbZf
name: core26
type: base
-
default-channel: latest/edge
id: PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4
name: snapd
type: snapd
-
default-channel: latest/edge
id: EISPgh06mRh1vordZY9OZ34QHdd7OrdR
name: bare
type: base
-
default-channel: latest/edge
id: HyhSEBPv3vHsW6uOHkQR384NgI7S6zpj
name: mesa-2404
type: app
-
default-channel: 1/edge
id: EI0D1KHjP8XiwMZKqSjuh6W8zvcowUVP
name: firmware-updater
type: app
-
default-channel: 1/edge
id: FppXWunWzuRT2NUT9CwoBPNJNZBYOCk0
name: desktop-security-center
type: app
-
default-channel: 1/edge
id: aoc5lfC8aUd2VL8VpvynUJJhGXp5K6Dj
name: prompting-client
type: app
-
default-channel: 2/edge
id: gjf3IPXoRiipCu9K0kVu52f0H56fIksg
name: snap-store
type: app
-
default-channel: latest/edge
id: jZLfBRzf1cYlYysIjD2bwSzNtngY0qit
name: gtk-common-themes
type: app
-
default-channel: latest/edge
id: 3wdHCAVyZEmYsCMFDE9qt92UV8rC8Wdk
name: firefox
type: app
-
default-channel: latest/edge
id: ew7OxpbRTxfK7ImpIygRR85lkxvU7Pzt
name: gnome-46-2404
type: app
-
default-channel: latest/edge
id: IrwRHakqtzhFRHJOOPxKVPU0Kk7Erhcu
name: snapd-desktop-integration
type: app
timestamp: 2026-02-24T15:37:46.0Z
sign-key-sha3-384: 9tydnLa6MTJ-jaQTFUXEwHl1yRx7ZS4K5cyFDhYDcPzhS7uyEkDxdUjg9g08BtNn
AcLBXAQAAQoABgUCaZ3mZQAKCRDgT5vottzAEkt+EACVvAOwS1sFAgor0XxstXKa2O8gez16ECTp
XK46Wc3hhU6/5A3U8Uo4i823j9sqVMQkwAT85XCIs4pXvdZYz0wlCKWNO/ZSQubiJay57iTg4P6N
eoO2yC1yP0iMIuXSyBufVklPHad71ArcLcztyK/ozBBEkKBEd30B9tk+UHGC/nFJ+ZU2uOWk5Hml
chPTDuTdu1JqJvZ9nbSnPJ6p7p8B39/2OjVyxkl7UdBMYMZMaam5bW+VPnzd9tJBzpJsuV0PVDVG
/xrF7uu47QT2g6QjEb/sbSKmlCcdRk9dEpjbciZHrKsy8MvTdW9XioAG9hRzhsToTuJC2lHIL+Lu
jY/CJklPOhhjmWFclF1rPieHNBE/PEQAbZexmz5KqONih4LbVAO4tNxNxkjmb3m1p8An8iVDV32w
20QmkPRwhgvOG2SfUKrJvRQvSo0vm+sbHRgT/nlxAoHbEaYrdI8l7Q0dxB9eLWD+sUUn/ZyzegTU
SGyrgAv7nhzxB7HfrZr3B6l9zsGGVqU0zqON+t7c0dnj1x0XTtq4NQQT+Hg++A5/XaWvStoofmWl
POjNaFhY001UQIwfQKxIRSw5VkTIp54aFVOWoJPFsEFKqZZ2v37jDhOLpx4/sUnMc7qDIbRBMNqM
Xg/iQkZeZGuvLpyXSwz0a98vsIRPWAcYFTfeF/lPAQ==

View File

@ -1,104 +0,0 @@
type: model
authority-id: canonical
series: 16
brand-id: canonical
model: ubuntu-classic-2604-amd64
architecture: amd64
base: core24
classic: true
distribution: ubuntu
grade: signed
snaps:
-
default-channel: classic-26.04/stable
id: UqFziVZDHLSyO3TqSWgNBoAdHbLI4dAH
name: pc
type: gadget
-
components:
nvidia-590-uda-ko:
presence: optional
nvidia-590-uda-user:
presence: optional
default-channel: 26.04/stable
id: pYVQrBcKmBa0mZ4CCN7ExT6jH8rY1hza
name: pc-kernel
type: kernel
-
default-channel: latest/stable
id: amcUKQILKXHHTlmSa7NMdnXSx02dNeeT
name: core22
type: base
-
default-channel: latest/stable
id: dwTAh7MZZ01zyriOZErqd1JynQLiOGvM
name: core24
type: base
-
default-channel: latest/stable
id: PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4
name: snapd
type: snapd
-
default-channel: latest/stable
id: EISPgh06mRh1vordZY9OZ34QHdd7OrdR
name: bare
type: base
-
default-channel: latest/stable/ubuntu-26.04
id: HyhSEBPv3vHsW6uOHkQR384NgI7S6zpj
name: mesa-2404
type: app
-
default-channel: 1/stable/ubuntu-26.04
id: EI0D1KHjP8XiwMZKqSjuh6W8zvcowUVP
name: firmware-updater
type: app
-
default-channel: 1/stable/ubuntu-26.04
id: FppXWunWzuRT2NUT9CwoBPNJNZBYOCk0
name: desktop-security-center
type: app
-
default-channel: 1/stable/ubuntu-26.04
id: aoc5lfC8aUd2VL8VpvynUJJhGXp5K6Dj
name: prompting-client
type: app
-
default-channel: 2/stable/ubuntu-26.04
id: gjf3IPXoRiipCu9K0kVu52f0H56fIksg
name: snap-store
type: app
-
default-channel: latest/stable/ubuntu-26.04
id: jZLfBRzf1cYlYysIjD2bwSzNtngY0qit
name: gtk-common-themes
type: app
-
default-channel: latest/stable/ubuntu-26.04
id: 3wdHCAVyZEmYsCMFDE9qt92UV8rC8Wdk
name: firefox
type: app
-
default-channel: latest/stable/ubuntu-26.04
id: ew7OxpbRTxfK7ImpIygRR85lkxvU7Pzt
name: gnome-46-2404
type: app
-
default-channel: latest/stable/ubuntu-26.04
id: IrwRHakqtzhFRHJOOPxKVPU0Kk7Erhcu
name: snapd-desktop-integration
type: app
timestamp: 2026-02-24T15:34:40.0Z
sign-key-sha3-384: 9tydnLa6MTJ-jaQTFUXEwHl1yRx7ZS4K5cyFDhYDcPzhS7uyEkDxdUjg9g08BtNn
AcLBXAQAAQoABgUCaZ3mZQAKCRDgT5vottzAEgO2EACdr7cHXU65ypjYo7e8XYHwXUiUZIAFIUD2
QzX258T572B3dg3OKM7HAM0hFuyw1myw1Q9BEGqN5gpb3c+87kNYsTo6oU6kArZvzSYN3iS0VcXf
2PQKBdR1wvGjHNcxdn5DjULzLVW2rihgmXHMJPvb9GfWrawlowTZ4/t4vfftI4GR5yxrm4425GsS
oQzUDhEfH9c0DMrizmKsFlSN5U2uh6J+MzBwod+G+heMDe3djeJnzfapBSu10tkItfufwgWZyHh+
uS0m2iRxtXNRNv0dohaAKmkoWqyBROS2mOHRCWItNEd59ielt8JCvIcuwABVm+VIdmnbAeNp4hQN
8MdQDig1Qz8U432ZxAb3miVvo2ByDrWZn2wCscOctJEp3kebq6TZXsAoVwaPdzGVduJExL4SWFd0
P4+RN1SB45yCZ0rfXwc0lWr0CqNwELdozc7/qUHUYNIioCyy6H8LKYxRlZA9ETLOI7/qiGX3mcgB
4Wcy4a0uFtzoTxnOFxiU6VbgTjE5456OsfP5NtnMlOmi3Ca4bzctO6WGMsJkDJBF8rasPfYcdy0X
wAYXhONNUrII4Qhy7NK9E2ELmVXqeu2kN7JUrih7bZRFnXJXz+qK9cL2L/W0lzDHR2dG2ylB487u
LRTMFy67WR4VrIEd0FbJgtPFhPHHr92UvuqvMkQPWw==