#1122921 debian-installer: doesn't install fsck.vfat even on EFI systems, which have a vfat ex def and explicitly enable fscking it in fstab

Package:
debian-installer
Source:
debian-installer
Description:
Debian Installer documentation
Submitter:
наб
Date:
2026-06-10 16:09:02 UTC
Severity:
normal
#1122921#5
Date:
2025-12-14 17:00:27 UTC
From:
To:
Dear Maintainer,

I recently installed trixie on an EFI amd64 system.

By definition, this means I have a vfat partition which is required for
booting (and indeed I had an ESP on /dev/vda1).
Additionally, /etc/fstab for /boot/efi has a fs_passno field of 1,
so fscking is explicitly enabled.

And yet! I don't have a fsck.vfat, so it doesn't get checked, ever.

I think the target ought to have a fsck for all the filesystems
configured in d-i anyway (but especially when it's part of the boot
sequence), so d-i ought to pull in dosfstools I think?

Best,

#1122921#10
Date:
2025-12-14 17:35:08 UTC
From:
To:
Hi,

наб <nabijaczleweli@nabijaczleweli.xyz> (2025-12-14):

Without knowing much about any possible decision against doing so… what
you're suggesting makes sense to me.

But from a quick look, I think this should be happening already?

    commit 859ba462b5b1fc4e2c2a654a7263856905af51ce (tag: 163)
    Author: Steve McIntyre <steve@einval.com>
    Date:   Mon May 15 22:59:30 2023 +0100

        Install dosfstools if we have a FAT ESP

That should be the case for bookworm (164) and trixie (174).

https://salsa.debian.org/installer-team/partman-basicfilesystems/-/commit/859ba462b5b1fc4e2c2a654a7263856905af51ce

Any traces of trying (and maybe failing) to get that package installed?
See /var/log/syslog at runtime, and /var/log/installer/syslog afterwards.


Cheers,

#1122921#15
Date:
2025-12-14 18:06:19 UTC
From:
To:
Hi,
(...)
(...)
AFAICS detected_filesystem is updated only when init.d/* scripts are
executed, not when the partition is formatted. As a result, it is not
always updated after a partition is formatted.

For example it is updated when using LVM after creating the EFI
partition (because LVM setup executes init.d/* scripts) but not when
using plain partitions.

#1122921#20
Date:
2025-12-14 18:07:05 UTC
From:
To:
Hi!
Attaching full /var/log/installer, but
  # grep dosfs /var/log/installer/syslog
  Dec 14 02:13:51 anna[1631]: DEBUG: retrieving dosfstools-udeb 4.2-1.2
and grep -i fat only yields os-prober.

Best,

#1122921#25
Date:
2025-12-14 21:30:52 UTC
From:
To:
Checking more carefully, detected_filesystem is updated by
update.d/detected_filesystem which is executed not only by
init.d/update_partitions but also by lib/base.sh function
update_partition() which is called in multiple scripts but AFAICS none
in commit.d/ where partitions are formatted, so my conclusion still stands.

#1122921#30
Date:
2026-06-09 14:43:57 UTC
From:
To:
I wouldn't worry about not having dosfsck too much; it's nearly as
likely to damage the filesystem as to repair it.

Nobody seems to care but me.

#1122921#35
Date:
2026-06-10 16:06:10 UTC
From:
To:
I do care, but IMO the more serious bug reported in [1] should be fixed
first. Then, depending on the chosen solution, this bug can be fixed
appropriately. For example if we choose to enforce FAT on ESPs, then
"method = efi" is a sufficient condition to install dosfstools. In
addition, installing dosfstools if "method = efi" should be done in
partman-efi, not partman-basicfilesystems (like installing e2fsprogs for
ext3 and ext4 is done in partman-ext3).

[1]
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1099700>
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1114519>
<https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1121934>