debian-installer: módulo de kernel ahci descarregado ao usar o preseed

1

Eu uso o pacote debian-installer-9-netboot-amd64 , versão 20170615 + deb9u1, para instalar automaticamente muitos computadores. Eu uso o seguinte preseed:

# 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\
                password
# 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"

Eu carrego colocando essas opções no boot 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 .

Na maioria dos computadores, funciona bem, mas tenho alguns deles que não funcionam de todo. Eles param em uma mensagem dizendo que não há partição raiz definida.

Quando vou no segundo console, vejo que não há nenhum arquivo /dev/sda (e nenhum disco). Pesquisando, tentei carregar o módulo do kernel ahci ( modprobe -iv ahci que carrega libata e libahci com ele).

Quando não uso o preseed (com apenas a opção vga=788 ), o módulo ahci é carregado.

Alguém sabe como forçar este módulo do kernel?

    
por Almtesh 10.08.2017 / 13:57

1 resposta

1

Adicionar

d-i preseed/early_command string sed -i '/depmod -a > .dev.null 2>&1 || true/a modprobe ahci || true' /bin/hw-detect

ao seu arquivo preseed.

Este é apenas um hack que funciona para mim sem modificar o kernel, initrd ou o repositório installer-udeb e pode não funcionar com outras versões do instalador .

veja o Bug do Debian # 872410

    
por 02.05.2018 / 20:37