1 votes

preseed.cfg installé dans la racine de l'initrd n'est pas reconnu dans l'installation Ubuntu (17.10 amd64 desktop ou server)

J'utilise depuis un certain temps un processus de préséparation de l'initrd dans un ISO Debian. Je viens d'essayer le même processus pour les variantes bureau et serveur des ISOs d'Ubuntu 17.10, et tout semble bien se passer jusqu'à ce que je démarre et que je ne voie absolument aucune indication que l'installateur voit l'option preseed.cfg que j'ai placé dans son initrd. Par exemple, le programme d'installation me demande d'abord quelle est la langue/locale, alors que mon fichier preseed.cfg a :

d-i debian-installer/locale string en_US.UTF-8
d-i console-setup/ask_detect boolean false
d-i keyboard-configuration/layoutcode string us
d-i debian-installer/keymap select us
d-i keymap select us
d-i keyboard-configuration/xkb-keymap select us

J'ai regardé toutes les options de la touche F* et je n'ai pas trouvé d'option comparable à l'" installation automatique " de l'installateur Debian, qui décompresse l'initrd et cherche/utilise le fichier preseed.cfg à sa base pour répondre, potentiellement, à toutes les questions des installateurs. Les documents de pré-ensemencement d'Ubuntu confirme que le pré-seeding d'Ubuntu est censé fonctionner de la même manière, en disant que :

le moment où le fichier de préconfiguration est chargé et traité. Pour le preseeding initrd, cela se passe au début de l'installation, avant même que la première question ne soit posée.

Est-ce que quelqu'un a des conseils utiles pour savoir ce qui ne va pas en se basant sur les différences entre les ISO d'Ubuntu et les ISO de Debian, et le processus de pré-ensemencement via initrd ?

Ces pages ( aquí , aquí y aquí ) indiquent que les ISO de bureau les plus récents ont été signalés comme ne pouvant pas être présélectionnés, et que les ISO de serveur devraient fonctionner "mieux". J'ai donc téléchargé le serveur 17.04 (et 17.10), répété mon test avec celui-ci, et obtenu le même comportement.

FTR, le processus d'intégration de la preseed.cfg dans l'initrd que j'utilise a été pris de le wiki Debian . Plus précisément, j'utilise l'approche "isofiles", qui consiste à monter l'ISO (j'utilise udevil), à copier les fichiers sur le stockage local, puis à ajouter le fichier preseed à l'initrd .

Comme je l'ai dit, ce processus fonctionne très bien pour les ISO de Debian, mais ne semble pas fonctionner du tout pour les ISO d'Ubuntu de bureau ou de serveur que j'ai essayés.

Le site Aide pour Ubuntu confirme que mon hypothèse est valable :

Si vous utilisez le preseeding initrd, vous devez seulement vous assurer qu'un fichier nommé preseed.cfg est inclus dans le répertoire racine de l'initrd. L'installateur vérifiera automatiquement si ce fichier est présent et le chargera.

La prochaine chose que j'ai essayée, c'est de comparer mon preseed.cfg avec l'exemple officiel du fichier preseed d'Ubuntu pour voir s'il y a un problème avec les installateurs d-i et Ubuntu qui utilisent/supportent des directives preseed différentes. Je n'ai pas trouvé de grande différence. Pour être sûr, j'ai installé, mot pour mot, la directive l'exemple officiel du fichier preseed d'Ubuntu dans l'initrd de l'ISO du serveur 17.10, et l'installateur qui en résulte demande toujours à l'homme de répondre aux questions comme s'il n'y avait pas de preseed du tout.

1voto

Dennis Hoer Points 111

Sur le serveur, pour obtenir les réponses aux questions de lang, vous devez ajouter auto=true comme option au menu de démarrage.

Voici un exemple d'un menu pxe utilisant auto=true (Le menu Grub devrait être similaire) :

label install
    menu default
    menu label ^Preseed Install
    kernel ubuntu-installer/amd64/linux
    append auto=true vga=normal initrd=ubuntu-installer/amd64/initrd.gz 

Tiré de https://wiki.debian.org/DebianInstaller/Preseed#Loading_the_preseeding_file_from_a_webserver :

La commande "auto" lance l'installation en mode automatisé, où la configuration du nom d'hôte, de la locale et du keymap est reportée afin de pouvoir répondre à partir du fichier preseed chargé depuis le réseau. Vous pourriez utiliser "install url=..." mais vous devriez répondre à ces questions manuellement, indépendamment de ce que vous avez dans la configuration preseed. Si un chemin de serveur n'est pas spécifié, le chemin 'd-i//preseed.cfg' sera essayé, par exemple d-i/stretch/preseed.cfg. Notez que les options de configuration réseau (netcfg/*) ne peuvent pas être appliquées via un fichier preseed.cfg chargé sur le réseau, car le réseau doit être configuré avant que le fichier preseed puisse être récupéré. Si les options de configuration du réseau doivent être déclarées, les options nécessaires doivent être passées comme des options du noyau (par exemple netcfg/choose_interface=eth0).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X