diff --git a/code/linux/linux-mint/alpi-fiche.sh b/code/linux/linux-mint/alpi-fiche.sh index f9d0b45..eee7465 100755 --- a/code/linux/linux-mint/alpi-fiche.sh +++ b/code/linux/linux-mint/alpi-fiche.sh @@ -106,12 +106,24 @@ ARCHITECTURE="$(uname -m)" # comparer — un disque qui allait bien le matin et qui se plaint le soir, cela # se voit. # -# Une session live monte sa racine en overlay au-dessus d'un squashfs, et garde -# un /cdrom ou un /rofs. Aucun de ces signes n'existe sur un système installé. +# Le signe qui ne trompe pas est la racine : une session live la monte en +# overlay au-dessus d'un squashfs, ce qu'aucun système installé ne fait. S'y +# ajoute « boot=casper » ou « boot=live » sur la ligne de commande du noyau. +# +# L'existence de /cdrom ou de /rofs, elle, ne prouve rien : l'installateur de +# Mint laisse un /cdrom vide derrière lui. La première version de ce test a +# donc déclaré « session live » une machine parfaitement installée — constaté +# le 24/09/2026 sur un HP 250 G4. Ce n'est pas anodin : la durée d'une +# installation se mesure entre le relevé d'avant et celui d'après, et deux +# relevés « avant » ne se soustraient pas. On ne retient donc ces répertoires +# que s'ils sont réellement montés, et montés depuis un support en lecture +# seule. MOMENT="post-installation" -if [ -d /rofs ] || [ -d /cdrom ] \ - || findmnt -n -o FSTYPE / 2>/dev/null | grep -qE '^(overlay|aufs|squashfs)$' \ - || grep -qE '(^| )(boot=casper|boot=live)( |$)' /proc/cmdline 2>/dev/null; then +if findmnt -n -o FSTYPE / 2>/dev/null | grep -qE '^(overlay|aufs|squashfs)$' \ + || grep -qE '(^| )boot=(casper|live)( |$)' /proc/cmdline 2>/dev/null \ + || mountpoint -q /rofs 2>/dev/null \ + || { mountpoint -q /cdrom 2>/dev/null \ + && findmnt -n -o FSTYPE /cdrom 2>/dev/null | grep -qE '^(iso9660|squashfs)$'; }; then MOMENT="live" fi