Skip to content

Commit bf5e67b

Browse files
authored
Merge pull request #375 from grml/zeha/forky
Add forky as a selectable release and to CI
2 parents b1fe748 + e081448 commit bf5e67b

7 files changed

Lines changed: 35 additions & 15 deletions

File tree

.github/workflows/test-build.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@ jobs:
5353
- bookworm
5454

5555
release:
56+
- forky
5657
- trixie
5758
- bookworm
5859

config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
# BACKPORTREPOS='yes'
7070

7171
# Debian release that should be installed.
72-
# Supported values: bookworm, trixie, sid
72+
# Supported values: bookworm, trixie, forky, sid
7373
# Default: 'trixie'
7474
# RELEASE='trixie'
7575

grml-debootstrap

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -893,9 +893,10 @@ prompt_for_release()
893893
RELEASE="$(dialog --stdout --title "${PN}" --default-item "$default_value" --menu \
894894
"Please enter the Debian release you would like to use for installation:" \
895895
16 50 5 \
896-
bookworm Debian/12 \
897-
trixie Debian/13 \
898-
sid Debian/unstable)" \
896+
bookworm "Debian/12" \
897+
trixie "Debian/13" \
898+
forky "Debian/14 UNRELEASED" \
899+
sid "Debian/unstable")" \
899900
|| bailout
900901
}
901902
# }}}

grml-debootstrap.8.adoc

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -219,7 +219,7 @@ Options and environment variables
219219
*-r*, *--release* _releasename_::
220220

221221
Specify release of new Debian system. Supported releases names:
222-
bookworm, trixie and sid.
222+
bookworm, trixie, forky and sid.
223223
Corresponding with configuration variable RELEASE. Default release: trixie
224224

225225
*--remove-configs*::
@@ -414,15 +414,17 @@ Supported Releases
414414
|Release |Status
415415
|bookworm |works
416416
|trixie |works
417+
|forky |works[1]
417418
|sid |works[1]
418419
|======================
419420
420421
[NOTE]
421422
.unstable and testing releases
422423
================================================================================
423-
[1] Please notice that Debian/testing and Debian/unstable (sid) might
424-
not be always installable due to their nature. What _might_ work instead is
425-
deploying a stable release and upgrade it after installation finished.
424+
[1] Please notice that Debian/testing (currently: forky) and Debian/unstable
425+
(sid) might not be always installable due to their nature. What _might_
426+
work instead is deploying a stable release and upgrade it after installation
427+
finished.
426428
================================================================================
427429
428430
Bugs

packer/debian64_provision.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,7 @@ grml_debootstrap_execution() {
202202
apply_nic_workaround() {
203203
# release specific stuff
204204
case "$DEBIAN_VERSION" in
205-
bookworm|trixie|unstable|sid)
205+
bookworm|trixie|forky|unstable|sid)
206206
;;
207207
*)
208208
echo "* Debian $DEBIAN_VERSION doesn't require NIC workaround"

tests/docker-build-vm.sh

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,13 +30,22 @@ else
3030
extra_buildopts=(--vmfile)
3131
fi
3232

33+
# arm64 'virt' machines expose a pl011 UART as ttyAMA0 with no VGA console;
34+
# amd64 has the traditional 8250 UART at ttyS0 plus a VGA tty0.
35+
DPKG_ARCHITECTURE="$(dpkg --print-architecture)"
36+
if [ "$DPKG_ARCHITECTURE" = 'arm64' ]; then
37+
bootappend="console=ttyAMA0,115200 console=tty0"
38+
else
39+
bootappend="console=ttyS0,115200 console=tty0 vga=791"
40+
fi
41+
3342
grml-debootstrap \
3443
--debug \
3544
--force \
3645
"${extra_buildopts[@]}" \
3746
--imagesize 3G \
3847
--target "$TARGET_FILE" \
39-
--bootappend "console=ttyS0,115200 console=tty0 vga=791" \
48+
--bootappend "$bootappend" \
4049
--password grml \
4150
--release "$RELEASE" \
4251
--hostname "$RELEASE" \

tests/test-vm.sh

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -75,30 +75,30 @@ DPKG_ARCHITECTURE=$(dpkg --print-architecture)
7575
if [ "${DPKG_ARCHITECTURE}" = "amd64" ]; then
7676
qemu_command=( qemu-system-x86_64 )
7777
qemu_command+=( -machine q35 )
78+
qemu_command+=( -cpu max )
7879
elif [ "${DPKG_ARCHITECTURE}" = "arm64" ]; then
80+
# Pick a real CPU model, and also one that does not crash QEMU on ubuntu-24.04-arm.
81+
qemu_command=( qemu-system-aarch64 )
82+
qemu_command+=( -machine "type=virt,gic-version=max,accel=kvm:tcg" )
83+
qemu_command+=( -cpu cortex-a76 )
7984
if [ "$TARGET" = 'RPI' ]; then
8085
if ! rpi_bootdata="$(sudo "$TEST_PWD"/tests/extract-rpi-bootdata.sh "$VM_IMAGE")"; then
8186
echo "E: could not extract RPi boot data" >&2
8287
exit 1
8388
fi
8489
IFS='|' read rpi_kern rpi_initrd rpi_kerncmd <<< "$rpi_bootdata"
85-
qemu_command=( qemu-system-aarch64 )
86-
qemu_command+=( -machine "type=virt,gic-version=max,accel=kvm:tcg,highmem=off" )
8790
qemu_command+=( -kernel "$rpi_kern" )
8891
qemu_command+=( -initrd "$rpi_initrd" )
8992
qemu_command+=( -append "$rpi_kerncmd" )
9093
else
9194
cp /usr/share/AAVMF/AAVMF_VARS.fd efi_vars.fd
92-
qemu_command=( qemu-system-aarch64 )
93-
qemu_command+=( -machine "type=virt,gic-version=max,accel=kvm:tcg" )
9495
qemu_command+=( -drive "if=pflash,format=raw,unit=0,file.filename=/usr/share/AAVMF/AAVMF_CODE.no-secboot.fd,file.locking=off,readonly=on" )
9596
qemu_command+=( -drive "if=pflash,format=raw,unit=1,file=efi_vars.fd" )
9697
fi
9798
else
9899
echo "E: unsupported ${DPKG_ARCHITECTURE}" >&2
99100
exit 1
100101
fi
101-
qemu_command+=( -cpu max )
102102
qemu_command+=( -smp 2 )
103103
qemu_command+=( -m 2048 )
104104
qemu_command+=( -drive "file=${VM_IMAGE},format=raw,index=0,media=disk" )
@@ -124,6 +124,13 @@ if [ ! -d results ] || [ ! -f ./results/goss.tap ] || [ ! -f ./results/goss.exit
124124
echo "Running tests inside VM failed for unknown reason" >&2
125125
RC=1
126126
cat results/goss.err || true
127+
if ! kill -0 "${QEMU_PID}" 2>/dev/null; then
128+
echo "E: qemu (pid ${QEMU_PID}) has exited" >&2
129+
fi
130+
if [ -r qemu.log ]; then
131+
echo "qemu.log follows:" >&2
132+
cat qemu.log >&2
133+
fi
127134
else
128135
RC=$(cat results/goss.exitcode)
129136
echo "goss exitcode: $RC"

0 commit comments

Comments
 (0)