diff --git a/linux/build/scripts/build-inner.sh b/linux/build/scripts/build-inner.sh index 820f244..10763fc 100755 --- a/linux/build/scripts/build-inner.sh +++ b/linux/build/scripts/build-inner.sh @@ -185,10 +185,24 @@ post_process_for_reproducibility() { # rewrites just the named file then re-emits the ISO; -boot_image # any keep preserves the existing El Torito + GPT/UEFI bits so the # image stays bootable. + # + # -return_with SORRY 0: by default xorriso exits 32 when it raises + # a SORRY-severity diagnostic, even when the write itself succeeded. + # The post-write re-assessment of the new ISO produces one + # unavoidably: + # libburn : SORRY : Read start address 525977s larger than + # number of readable blocks 506240 + # …because we just shrunk the ISO (smaller squashfs) and the + # protective MBR header still records the *original* size. The + # GPT and El Torito records inside are correct and self-consistent; + # the protective MBR is vestigial and bootloaders don't consult its + # size field. Demoting SORRY -> exit 0 lets xorriso warn but still + # report success on the actually-completed write. local new_iso="${iso_file%.iso}.silvermetal-clean.iso" sudo --non-interactive rm -f "${new_iso}" echo "post-process: replacing /live/filesystem.squashfs in ISO" sudo --non-interactive xorriso \ + -return_with SORRY 0 \ -indev "${iso_file}" \ -outdev "${new_iso}" \ -boot_image any keep \