Package: release.debian.org Severity: normal Tags: bookworm User: release.debian....@packages.debian.org Usertags: pu X-Debbugs-Cc: di-netboot-assist...@packages.debian.org, a...@debian.org Control: affects -1 + src:di-netboot-assistant
[ Reason ] With Bookworm, a few modifications have happened to the Debian Live ISO images' meta data [1]. These changes make di-netboot-assistant partially fail when bookworm ISO images are in use (the menus for the network boot loaders like grub and iPXE are not generated properly). The Live ISO images side has improved and stabilized [2], and also di-netboot-assistant has been made more robust to account for these modifications. In addition a few minor fixes to documentation and examples (bookworm, preseed file) have been applied. [1] https://lists.debian.org/debian-live/2023/06/msg00023.html [2] https://lists.debian.org/debian-live/2023/07/msg00030.html [ Impact ] The inclusion of bookworm live ISO images fails. [ Tests ] I tested the changes with the 12.2.0 gnome, kde and standard ISOs. Grub and iPXE menu. [ Risks ] There are almost no risks involved. [ Checklist ] [X] *all* changes are documented in the d/changelog [X] I reviewed all changes and I approve them [X] attach debdiff against the package in (old)stable [X] the issue is verified as fixed in unstable [ Changes ] Mostly parsing latest meta data from the live images and more robust handling of kernel/initrd (with/without version number). [ Other info ] I'll already upload the updated package. The release team is doing a great job, thank you!
diff -Nru di-netboot-assistant-0.76/config/grub.cfg.HEAD di-netboot-assistant-0.78~deb12u1/config/grub.cfg.HEAD --- di-netboot-assistant-0.76/config/grub.cfg.HEAD 2023-03-16 17:05:12.000000000 +0100 +++ di-netboot-assistant-0.78~deb12u1/config/grub.cfg.HEAD 2023-06-18 09:11:47.000000000 +0200 @@ -18,7 +18,7 @@ set default='Boot from local disk..' #set timeout=10 -if background_image /d-i/n-pkg/images/11/amd64/text/debian-installer/amd64/boot-screens/splash.png; then +if background_image /d-i/n-pkg/images/12/amd64/text/debian-installer/amd64/boot-screens/splash.png; then set color_normal=light-gray/black set color_highlight=white/black elif background_image /d-i/n-a/stable/amd64/boot-screens/splash.png; then diff -Nru di-netboot-assistant-0.76/debian/changelog di-netboot-assistant-0.78~deb12u1/debian/changelog --- di-netboot-assistant-0.76/debian/changelog 2023-03-16 17:05:12.000000000 +0100 +++ di-netboot-assistant-0.78~deb12u1/debian/changelog 2023-06-18 09:11:47.000000000 +0200 @@ -1,3 +1,10 @@ +di-netboot-assistant (0.78~deb12u1) bookworm; urgency=medium + + * Fixes for bookworm live iso image inclusion. + * Update/add/fix preseed examples. Thanks to Holger Wansing. + + -- Andreas B. Mundt <a...@debian.org> Sun, 18 Jun 2023 09:11:47 +0200 + di-netboot-assistant (0.76) unstable; urgency=medium * Fix typo in preseeding example. diff -Nru di-netboot-assistant-0.76/di-netboot-assistant di-netboot-assistant-0.78~deb12u1/di-netboot-assistant --- di-netboot-assistant-0.76/di-netboot-assistant 2023-03-16 17:05:12.000000000 +0100 +++ di-netboot-assistant-0.78~deb12u1/di-netboot-assistant 2023-06-18 09:11:47.000000000 +0200 @@ -26,7 +26,7 @@ # ------------------ Declare the constants ------------------- # PACKAGE_NAME=di-netboot-assistant -PACKAGE_VERSION=0.76 +PACKAGE_VERSION=0.78 # -------------- Initialize the global variables ------------- # OFFLINE=false @@ -253,8 +253,8 @@ # Returns: (EXIT STATUS) 0=Success, 1=Error # ------------------------------------------------------------ # prepare_grub() { - local v="" opt=$1 VERS V GRUB AR DIR - + local v="" opt=$1 VERS V GRUB AR DIR + $VERBOSE && v="-v" [ -z "$opt" ] && [ -d $TFTP_ROOT/$N_A_DIR/grub ] && return 0 @@ -263,7 +263,7 @@ [ ! -e "$TFTP_ROOT/debian-installer" ] && \ ln -srv $TFTP_ROOT/$N_A_DIR/ $TFTP_ROOT/debian-installer - for AR in x64 aa64 ; do + for AR in x64 aa64 ; do ## We link bootnet*.efi and grub*.efi from the latest available image: echo "I: Preparing EFI executables for '${AR}'." GRUB="" @@ -533,7 +533,7 @@ EOF sed -i "s%\(\# END_PKG_LIVE_MENU.*\)%item $tag $title\n\1%" menu.ipxe - + for AR in amd64 arm64 ; do gcfg="${TFTP_ROOT}/${relpath}/debian-installer/${AR}/grub/grub.cfg" if [ -f "$gcfg" ] ; then @@ -560,7 +560,7 @@ relpath=$(dirname "$x" | sed -e "s#${TFTP_ROOT}##" -e "s#^/*##" -e "s#\/.disk##") # shellcheck disable=SC2034 ISO_NAME=$(basename "$relpath") - title=$(sed -e "s#Official ##" -e "s#T.*\$##" "$x") + title="$(sed -e "s#Official ##" -e "s#\(T\|-\)[0-9]\{2\}:[0-9]\{2\}\$##" "$x")" ## We cannot modify the iso images, copy grub.cfg instead: cfg="${TFTP_ROOT}/${relpath}/isolinux/menu.cfg" ncfgdir="live/pxe-${relpath//'/'/'_'}" @@ -578,9 +578,9 @@ EOF - tag="$(echo "$title" | cut -d ' ' -f4,5,6 | sed "s/ /_/g")" - linux="$(find "${TFTP_ROOT}/${relpath}/live/" -name 'vmlinuz*' -exec basename '{}' \; )" - initrd="$(find "${TFTP_ROOT}/${relpath}/live/" -name 'initrd*' -exec basename '{}' \; )" + tag="${ISO_NAME}-LiveISOImage" + linux="$(find "${TFTP_ROOT}/${relpath}/live/" -name 'vmlinuz*' -printf "%f" -quit)" + initrd="$(find "${TFTP_ROOT}/${relpath}/live/" -name 'initrd*' -printf "%f" -quit)" cat >> menu.ipxe <<EOF :$tag echo Booting $title @@ -598,6 +598,7 @@ print_do_not_edit_header "$gcfg" > "${TFTP_ROOT}/$N_A_DIR/$ngcfg" sed -e "s#live#$relpath/live#" -e "s#isolinux#$relpath/isolinux#" \ -e "s#\"\${loopback}\"#fetch=$(eval echo "${SQUASHIMG}")#" \ + -e "s# findiso=\${iso_path}# fetch=$(eval echo "${SQUASHIMG}")#" \ "$gcfg" >> "$ngcfg" cat >> grub/grub.cfg <<EOF menuentry '$title' { diff -Nru di-netboot-assistant-0.76/examples/preseed.cfg di-netboot-assistant-0.78~deb12u1/examples/preseed.cfg --- di-netboot-assistant-0.76/examples/preseed.cfg 2023-03-16 17:05:12.000000000 +0100 +++ di-netboot-assistant-0.78~deb12u1/examples/preseed.cfg 2023-06-18 09:11:47.000000000 +0200 @@ -27,8 +27,10 @@ #d-i debconf/priority string critical ## Preseeding only locale sets language, country and locale: -d-i debian-installer/locale string en_US +d-i debian-installer/locale string en_US.UTF-8 d-i keyboard-configuration/xkb-keymap select us +#d-i debian-installer/language string en_US:en +#d-i debian-installer/country string DE ## netcfg will choose an interface that has link if possible. This makes it ## skip displaying a list if there is more than one interface: @@ -104,12 +106,12 @@ # d-i partman-auto/choose_recipe select multi ### Package selection -#tasksel tasksel/first multiselect standard, ssh-server, gnome-desktop, print-server +#tasksel tasksel/first multiselect standard, ssh-server, gnome-desktop tasksel tasksel/first multiselect standard, ssh-server ### Individual additional packages to install d-i pkgsel/include string firmware-linux ansible git -#d-i pkgsel/include string firmware-linux ansible/bullseye-backports git +#d-i pkgsel/include string firmware-linux ansible/bookworm-backports git #d-i pkgsel/include string firmware-linux ### GRUB on default disk: @@ -122,7 +124,7 @@ in-target chown -R ansible:ansible /home/ansible/.ssh/ ; \ in-target chmod -R og= /home/ansible/.ssh/ ; \ [ -z "$playbook" ] || mkdir -v /target/dev/shm ; \ - [ -z "$playbook" ] || in-target mount -v -t tmpfs tmpfs /dev/shm ; \ + [ -z "$playbook" ] || in-target mount -v -t tmpfs tmpfs /dev/shm ; \ [ -z "$playbook" ] || in-target ansible-pull --verbose --purge --extra-vars="run_in_installer=true" \ -i localhost, --url=https://salsa.debian.org/andi/debian-lan-ansible.git $playbook # -i localhost, --url=git://installbox/.git $playbook