Skip to content

Commit 808dc24

Browse files
committed
feat(ubuntu): add Ubuntu 26.04 (Plucky Puffin) support
- Fix hardcoded dist in ubuntu provider's loadRepoConfig() to accept dist as a parameter, matching azl/emt/rcd provider patterns - Create config/osv/ubuntu/ubuntu26/ directory tree with config.yml, chrootenv configs, provider repo configs (plucky codename), default image configs, and additional files - Add ubuntu26 to dist enum in os-config.schema.json - Add ubuntu OS->dist constraint (ubuntu24, ubuntu26) in os-image-template.schema.json - Add ubuntu entries to GetProviderName() and GetDistroVersion() maps in config.go - Add ubuntu26-x86_64-minimal-raw.yml example image template - Add ubuntu26 test cases for provider init, name, and repo config - Add ubuntu24/ubuntu26 to TestAllSupportedProviders config test - Update README.md, release-notes.md, and templates documentation
1 parent ea6ee1f commit 808dc24

25 files changed

Lines changed: 665 additions & 14 deletions

README.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,7 @@ combinations. The table below lists the OS and architecture combinations that ar
2020
| Red Hat Compatible Distro | rcd10 | x86_64 |
2121
| Wind River eLxr | elxr12 | x86_64 |
2222
| Ubuntu | ubuntu24 | x86_64 |
23+
| Ubuntu | ubuntu26 | x86_64 |
2324

2425
## Quick Start
2526

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
essential:
2+
- dpkg
3+
- apt
4+
- debianutils
5+
- init-system-helpers
6+
- dash
7+
- mount
8+
- sysvinit-utils
9+
- gzip
10+
- bash
11+
- util-linux
12+
- tar
13+
- base-files
14+
- base-passwd
15+
- sed
16+
- bsdutils
17+
- coreutils
18+
- findutils
19+
- grep
20+
- login
21+
- perl-base
22+
- diffutils
23+
- libc-bin
24+
- hostname
25+
- ncurses-bin
26+
- ncurses-base
27+
28+
packages:
29+
- mmdebstrap
30+
- grub-efi-arm64-bin
Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
essential:
2+
- dpkg
3+
- apt
4+
- debianutils
5+
- init-system-helpers
6+
- dash
7+
- mount
8+
- sysvinit-utils
9+
- gzip
10+
- bash
11+
- util-linux
12+
- tar
13+
- base-files
14+
- base-passwd
15+
- sed
16+
- bsdutils
17+
- coreutils
18+
- findutils
19+
- grep
20+
- login
21+
- perl-base
22+
- diffutils
23+
- libc-bin
24+
- hostname
25+
- ncurses-bin
26+
- ncurses-base
27+
28+
packages:
29+
- mmdebstrap
30+
- grub-pc-bin
31+
- grub-efi-amd64-bin
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
deb [trusted=yes] file:///cdrom/cache-repo stable main
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Canonical Ubuntu 26.04 LTS OS Configuration
2+
# This file defines architecture-specific build configurations for Canonical Ubuntu 26.04 LTS
3+
4+
x86_64:
5+
dist: ubuntu26 # Distribution identifier
6+
arch: x86_64 # Target architecture
7+
pkgType: deb # Package management system
8+
chrootenvConfigFile: chrootenvconfigs/chrootenv_x86_64.yml # Path to chrootenv config
9+
releaseVersion: "26.04" # Distribution release version
10+
aarch64:
11+
dist: ubuntu26 # Distribution identifier
12+
arch: aarch64 # Target architecture
13+
pkgType: deb # Package management system
14+
chrootenvConfigFile: chrootenvconfigs/chrootenv_aarch64.yml # Path to chrootenv config
15+
releaseVersion: "26.04" # Distribution release version
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
[Match]
2+
Name=en*
3+
4+
[Network]
5+
DHCP=yes
6+
IPv6AcceptRA=no
7+
8+
[DHCPv4]
9+
SendRelease=false
10+
ClientIdentifier=mac
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[Service]
2+
ExecStart=
3+
ExecStart=-/sbin/agetty --noclear --autologin root --keep-baud %I $TERM
4+
5+
# Default to tty1 but allow other choices
6+
[Install]
7+
Alias=getty.target.wants/getty@tty1.service
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
[Service]
2+
ExecStart=
3+
ExecStart=-/sbin/agetty --noclear --autologin root --keep-baud %I $TERM
4+
5+
# Default to ttyS0 but allow other choices
6+
[Install]
7+
Alias=getty.target.wants/serial-getty@ttyS0.service
Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
deb http://archive.ubuntu.com/ubuntu plucky main restricted universe multiverse
2+
deb http://archive.ubuntu.com/ubuntu plucky-updates main restricted universe multiverse
3+
deb http://archive.ubuntu.com/ubuntu plucky-security main restricted universe multiverse
Lines changed: 69 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,69 @@
1+
image:
2+
name: minimal-os-image-ubuntu
3+
version: "26.04"
4+
5+
target:
6+
os: ubuntu
7+
dist: ubuntu26
8+
arch: x86_64
9+
imageType: img # Image type, valid value: [raw, iso].
10+
11+
systemConfig:
12+
name: Default_Initrd
13+
description: Default yml configuration for initrd image
14+
15+
bootloader:
16+
bootType: efi # (efi or legacy)
17+
provider: grub # (grub for efi and legacy mode, or systemd-boot for efi mode)
18+
19+
packages:
20+
- ca-certificates
21+
- vim
22+
- sudo
23+
- net-tools
24+
- openssh-client
25+
- openssh-server
26+
- procps
27+
- less
28+
- dbus
29+
- policykit-1
30+
- dosfstools
31+
- efibootmgr
32+
- eject
33+
- curl
34+
- mmdebstrap
35+
- wget
36+
- cryptsetup
37+
- systemd-resolved
38+
- cloud-guest-utils
39+
- xterm
40+
- initramfs-tools
41+
- systemd-boot
42+
- grub-pc-bin
43+
- grub-efi-amd64-bin
44+
45+
46+
additionalFiles:
47+
- local: ../additionalfiles/dhcp.network
48+
final: /etc/systemd/network/dhcp.network
49+
- local: ../additionalfiles/ubuntu-plucky.list
50+
final: /etc/apt/sources.list.d/ubuntu-plucky.list
51+
- local: ../additionalfiles/getty@.service
52+
final: /usr/lib/systemd/system/getty@.service
53+
- local: ../additionalfiles/serial-getty@.service
54+
final: /usr/lib/systemd/system/serial-getty@.service
55+
- local: ../../../../../../general/isolinux/attendedinstaller
56+
final: /root/attendedinstaller
57+
- local: ../../../../../../../build/live-installer
58+
final: /usr/bin/live-installer
59+
60+
users:
61+
- name: root
62+
startupScript: "/root/attendedinstaller"
63+
64+
kernel:
65+
name: kernel
66+
version: "6.17"
67+
cmdline: "console=ttyS0,115200 console=tty0 loglevel=7"
68+
packages:
69+
- linux-image-generic

0 commit comments

Comments
 (0)