Bonjour,
J’utilise le paquet debian-installer-9-netboot-amd64
en version 20170615+deb9u1 pour installer des postes d’un parc informatique. Pour ça, j’y ajoute le preseed suivant :
# Langue et mappage clavier
d-i debian-installer/locale select fr_FR.UTF-8
d-i debian-installer/language string fr
d-i debian-installer/country string FR
d-i console-keymaps-at/keymap select fr-latin9
d-i keyboard-configuration/xkb-keymap select fr-latin9
# Réseau
## Ces lignes sont ignorées car le preseed arrive après l'initialisation du réseau
## Je les laisse à titre d'information
d-i netcfg/choose_interface select auto
d-i netcfg/get_hostname string debian
d-i netcfg/get_domain string ati33.lan
d-i hw-detect/load_firmware boolean false
# Dépôt
d-i mirror/country string manual
d-i mirror/http/hostname string ftp.fr.debian.org
d-i mirror/http/directory string /debian
d-i mirror/http/proxy string http://repos.ati33.lan:3142/
d-i mirror/suite string stretch
d-i mirror/udeb/suite string stretch
d-i apt-setup/non-free boolean false
d-i apt-setup/contrib boolean false
d-i apt-setup/services-select multiselect security, updates
d-i apt-setup/security_host string security.debian.org
d-i apt-setup/source boolean false
# Utilisateurs et mots de passe
d-i passwd/root-login boolean true
d-i passwd/make-user boolean false
d-i passwd/root-password-crypted password\
$6$zvedM6l5$jl587hN4NS/0KvISXjkJr/uVqPxyFcES8Mx9ANAoKJ/K7l5r7X7cpCwl95YQUsbXgClY6n8m0Tdcumvr/czKN/
# Horloge
d-i clock-setup/utc boolean true
d-i time/zone string Europe/Paris
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string ntp.ati33.lan
# Partitionnement
d-i partman-auto/method string regular
## Une seule partition ext4 pour / sur tout le disque
d-i partman-auto/expert_recipe string \
root :: \
4096 4096 -1 ext4 \
$primary{ } \
method{ format } \
format{ } \
use_filesystem{ } \
filesystem{ ext4 } \
mountpoint{ / } \
label{ nomachanger } \
options/discard{ discard } \
options/noatime{ noatime } \
options/nodiratime{ nodiratime }\
.
d-i partman-auto/choose_recipe select root
d-i partman-basicfilesystems/no_swap boolean false
d-i partman-partitioning/confirm_write_new_label\
boolean true
d-i partman/choose_partition select finish
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman-basicmethods/method_only boolean false
# Système de base
d-i base-installer/kernel/image string linux-image-adm64
# Installation des paquets
tasksel tasksel/first multiselect standard
## Ajout de paquets en plus
d-i pkgsel/include string python3-dialog tftp console-setup
## Configuration du mappage clavier de la console
console-setup console-setup/fontsize string 8x16
console-setup console-setup/charmap47 select UTF-8
console-setup console-setup/fontsize-text47 select 8x16
console-setup console-setup/fontface47 select Fixed
console-setup console-setup/store_defaults_in_debconf_db\
boolean true
console-setup console-setup/fontsize-fb47 select 8x16
console-setup console-setup/codesetcode string Lat15
console-setup console-setup/codeset47 select # Latin1 and Latin5 - western Europe and Turkic languages
keyboard-configuration keyboard-configuration/layoutcode string fr
keyboard-configuration keyboard-configuration/variant select Français - Français (variante)
keyboard-configuration keyboard-configuration/unsupported_options\
boolean true
keyboard-configuration keyboard-configuration/compose select No compose key
keyboard-configuration keyboard-configuration/switch select No temporary switch
keyboard-configuration keyboard-configuration/store_defaults_in_debconf_db\
boolean true
keyboard-configuration keyboard-configuration/layout select
keyboard-configuration keyboard-configuration/unsupported_config_options\
boolean true
keyboard-configuration keyboard-configuration/model select PC générique 105 touches (intl)
keyboard-configuration keyboard-configuration/toggle select No toggling
keyboard-configuration keyboard-configuration/modelcode string pc105
keyboard-configuration keyboard-configuration/unsupported_layout\
boolean true
keyboard-configuration keyboard-configuration/ctrl_alt_bksp boolean false
keyboard-configuration keyboard-configuration/xkb-keymap select fr(latin9)
keyboard-configuration keyboard-configuration/variantcode string oss
keyboard-configuration keyboard-configuration/altgr select The default for the keyboard layout
keyboard-configuration keyboard-configuration/optionscode string
keyboard-configuration keyboard-configuration/unsupported_config_layout\
boolean true
## Pas de mise à jour car la dernière version est déjà téléchargée des dépôts
d-i pkgsel/upgrade select none
## Afin de permettre à Debian de savoir quels paquets sont populaires
popularity-contest popularity-contest/participate boolean true
# GRUB
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i grub-installer/bootdev string default
# Post-installation
d-i finish-install/reboot_in_progress note
## On télécharge l'installateur de la surcouche dans le home de root
d-i preseed/late_command string\
in-target sh -c "echo get systems/debian-installer/9/preseeds/ati33/install.py /root/install.py | tftp 192.168.1.245"
Pour lancer ce pressed, je met les options vga=788 auto priority=critical url="<lien tftp vers le preseed>" hw-detect/load_firmware=false debian-installer/locale=fr_FR.UTF-8 debian-installer/language=fr debian-installer/country=FR keyboard-configuration/xkb-keymap=fr-latin9
.
Sur la plupart des postes du parc, ça fonctionne sans problème, mais sur certains, une erreur s’affiche au moment du formatage du disque, ça m’indique Aucun système de fichiers n'a été choisi comme racine.
et quand j’ouvre la seconde console pour analyser le problème, je constate que le fichier /dev/sda
n’existe pas.
En cherchant un peu, j’ai lancé l’installateur avec seulement l’option vga=788
et j’ai tenté une installation à la main et ça fonctionne sans problème.
En continuant mes recherches, j’ai trouvé qu’en chargeant le module du noyau ahci (modprobe -iv ahci
, ce qui charge les modules libata, libahci avant ahci), le fichier /dev/sda
existe enfin, ainsi que le fichier /dev/sda1
le cas échéant.
Je ne vois que deux solutions à mon problème, soit trouver l’option de démarrage ou la ligne dans le preseed qui provoque cette erreur, soit ajouter une option pour forcer le chargement du module noyau ahci. Si quelqu’un voit comment mettre ça en œuvre.
Merci.