Enième tentative de faire du preseed.

1er cap : le démarrage avec le réseau

Le fichier donné en example par Debian est périmé, il faut plutôt se référer à celui exhaustif fourni par Steve McIntyre.

On démarre depuis le grub de l’installeur, avec :

La config réseau dans le fichier preseed.txt intervient trop tard via cette méthode de démarrage réseau, et n’est donc pas prise en compte.

De plus, dans mon cas, la config réseau échoue :

Installation step failed
An installation step failed. You can try to run the failing item again from the menu, or skip it and choose something else. The failing step is: Detect network hardware

Il rappelle alors le menu avec l’étape qui correspond, et un second essai de détection fonctionne ! Je ne sais pas bien pourquoi…

2ème cap

Réponses aux questions plus classiques de l’installeur.

On désactive root, et on inscrit un mot de passe chiffré pour le compte utilisateur.

Le chiffrement d’un mot de passe peut se faire avec :

mkpasswd -m sha-512

3ème cap : le partitionnement

Un peu relou à régler.

On part sur l’option Debian chiffrée. Il faut mettre tous les confirm à true. On part sur un partitionnement intelligent automatique de Debian (pas besoin de décrire le schéma de partitions).

4ème cap : les paquets

Options minimales indiquées ici : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815344

Il semble que la ligne tasksel qui commence par d-i ne soit pas prise en compte.

Ici, cela installe les outils standards, et un serveur SSH

tasksel tasksel/first multiselect standard, ssh-server

Mais on peut la laisser vide pour une installation vraiment minimale :

tasksel tasksel/first multiselect

Bonus

Petit script pour vérifier que les valeurs qu’on a renseignées (en péchotant sur le net) sont recensées dans la liste exhaustive de Steve McIntyre.

#!/bin/bash

mplxf=$(mktemp)
grep -e '^d-i' mplx.txt > "$mplxf"

while read ligne
do
	motif=$(echo "$ligne" | cut -d ' ' -f '1-2')
	grep -q "$motif" amd64-main-full.txt || echo "$motif non trouvé !"
done < $mplxf

Debug

Une piste toujours donnée ici : https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=815344

Fichier de seed

d-i debian-installer/language string fr
d-i debian-installer/country string FR
d-i debian-installer/locale select fr_FR
d-i keyboard-configuration/xkb-keymap select fr

d-i passwd/root-login boolean false
d-i passwd/user-fullname string fab
d-i passwd/username string fab
d-i passwd/user-password-crypted password $6$ooo1OR/atAzpAcoq$6Ndq8fWvqi8Jc689QrkebEmtbYU9X4z4uFwPGbBDTyhgYJdH1q02.9dbyFGPUTGeFJ4SAnfOwxqlkJmzHu.gv.

# non prises en compte si auto url=...
#d-i netcfg/enable boolean true
#d-i netcfg/choose_interface select enp37s0
#d-i netcfg/link_wait_timeout string 10
d-i hw-detect/load_firmware boolean false
d-i hw-detect/load_media boolean false

d-i netcfg/get_hostname string mplx
d-i netcfg/get_domain string mplx.ml

d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman-auto/init_automatically_partition select Guided
d-i partman-auto/automatically_partition select /dev/sda
d-i partman-auto/disk string /dev/sda
d-i partman-auto/select_disk select /dev/sda
d-i partman-auto/method string crypto
d-i partman-auto/choose_recipe select boot-crypto
d-i partman-auto-lvm/new_vg_name string mplx
d-i partman-auto-lvm/guided_size string max
d-i partman-auto-crypto/erase_disks boolean false
d-i partman-crypto/plain_warn_erase boolean false
d-i partman-crypto/crypto_warn_erase boolean false
d-i partman-crypto/confirm boolean true
d-i partman-crypto/confirm_nochanges boolean true
d-i partman-crypto/passphrase password monpetitpasstemp
d-i partman-crypto/passphrase-again password monpetitpasstemp
d-i partman-lvm/confirm boolean true
d-i partman-lvm/confirm_nochanges boolean true
d-i partman-lvm/device_remove_lvm boolean true
d-i partman-lvm/vgdelete_confirm boolean true
d-i partman-md/confirm boolean true
d-i partman-md/device_remove_md boolean true
d-i partman-partitioning/confirm_write_new_label boolean true

d-i base-installer/install-recommends boolean false
tasksel tasksel/first multiselect ssh-server

d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i grub-installer/bootdev string default
d-i finish-install/reboot_in_progress note
d-i debian-installer/exit/halt boolean true