Package: dosfstools Version: 4.0-1 Severity: serious Tags: d-i Justification: d-i build failure/regression, without blatant misusage from d-i's side
Control: affects -1 src:debian-installer (Please keep debian-b...@lists.debian.org and debian-...@lists.debian.org in the loop when replying.) Hi, The version bump from 3.0.28-2 to 4.0-1 led to a new FTBFS on all EFI archs for debian-installer (amd64, arm64, i386), where the following operations are happening: | + mkfs.msdos -C ./tmp/netboot-gtk/grub_efi/efi.img 416 | mkfs.fat 4.0 (2016-05-06) | + mmd -i ./tmp/netboot-gtk/grub_efi/efi.img ::efi | Total number of sectors (832) not a multiple of sectors per track (63)! | Add mtools_skip_check=1 to your .mtoolsrc file to skip this test | + cleanup | + [ -z efi-image.7vXUPq ] | + rm -f efi-image.7vXUPq | + [ -z efi-image.u4utfz ] | + rm -rf efi-image.u4utfz | config/x86.cfg:38: recipe for target 'x86_grub_efi' failed This can be reproduced with: | make -C build build_netboot-gtk USE_UDEBS_FROM=sid after having added "set -x" at the top of build/util/efi-image in src:debian-installer. After a quick look, it seems the d-i build system is only passing a number of blocks to mkfs.{msdos,fat}, without specifying strange parameters for sectors or trackers, so it looks to me that mkfs's or mmd's behaviour is buggy. Incidently, 832 isn't a multiple of 63, but is a multiple of 64. Could there be some off-by-one somewhere? Switching on verbose mode (adding -v): | + mkfs.msdos -v -C ./tmp/netboot-gtk/grub_efi/efi.img 416 | mkfs.fat 4.0 (2016-05-06) | ./tmp/netboot-gtk/grub_efi/efi.img has 255 heads and 63 sectors per track, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | hidden sectors 0x0000; | logical sector size is 512, | using 0xf8 media descriptor, with 832 sectors; | drive number 0x80; | filesystem has 2 12-bit FATs and 4 sectors per cluster. | FAT size is 1 sector, and provides 199 clusters. | There is 1 reserved sector. | Root directory contains 512 slots and uses 32 sectors. | Volume ID is 0da76041, no volume label. | + mmd -i ./tmp/netboot-gtk/grub_efi/efi.img ::efi | Total number of sectors (832) not a multiple of sectors per track (63)! | Add mtools_skip_check=1 to your .mtoolsrc file to skip this test | + cleanup | + [ -z efi-image.AQOJ9R ] | + rm -f efi-image.AQOJ9R | + [ -z efi-image.dShhUx ] | + rm -rf efi-image.dShhUx | config/x86.cfg:38: recipe for target 'x86_grub_efi' failed Comparing with the previous version (downgrading to 3.0.28-2): | + mkfs.msdos -v -C ./tmp/netboot-gtk/grub_efi/efi.img 416 | mkfs.fat 3.0.28 (2015-05-16) | ./tmp/netboot-gtk/grub_efi/efi.img has 64 heads and 32 sectors per track, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ | hidden sectors 0x0000; | logical sector size is 512, | using 0xf8 media descriptor, with 832 sectors; | drive number 0x80; | filesystem has 2 12-bit FATs and 4 sectors per cluster. | FAT size is 1 sector, and provides 199 clusters. | There is 1 reserved sector. | Root directory contains 512 slots and uses 32 sectors. | Volume ID is 1666ec2f, no volume label. | + mmd -i ./tmp/netboot-gtk/grub_efi/efi.img ::efi | + mmd -i ./tmp/netboot-gtk/grub_efi/efi.img ::efi/boot | + mcopy -i ./tmp/netboot-gtk/grub_efi/efi.img efi-image.qksN5Q/bootx64.efi ::efi/boot/bootx64.efi | + grub-cpmodules ./tmp/netboot-gtk/grub_efi x86_64-efi | + exit 0 It would be great if this could be investigated shortly, as I'd like to prepare a new d-i release soon: https://lists.debian.org/debian-boot/2016/05/msg00055.html KiBi.