Installation automatisée Debian 12.7: problème de partitionnement

Demande d'aide : c'est ici.
Répondre
ElBarto
Messages : 8
Inscription : 29 sept. 2024, 12:13
Status : Hors-ligne

Bonjour,
En utilisant l'outil Cubic pour intégrer un fichier preseed à l'ISO Debian 12.7,
j'ai réussit à automatiser l'installation de l'OS, cependant je rencontre un léger
soucis que je n'arrive pas à régler:
Si j'installe Debian sur un disque vide, pas de soucis;
Mais si le disque contient déjà une installation Linux, l'installation s'arrête au
bout de quelques dizaines de secondes avec le message suivant:
Impossible de créer un système de fichiers:
La création du système de fichiers efi sur la partition 1 de SCSI33 (0,0,0) (sda) a échouée

Pour que l'installation aboutisse, je dois soit:
-Redémarrer l'installation à zéro
-Revenir en arrière pour recommencer depuis le partitionnement du disque, suite à quoi
l'installateur me propose d'effectuer une modification du partionnement, que j'accepte.
Notez que j'utilise ce même fichier pour installer Linux Mint et Zorin OS, qui eut
ne présente pas ce problème, et que j'effectue mes tests en machine virtuelles VMware.
J'en déduis que le problème est propre à Debian, mais n'étant pas un expert des OS
Linux, j'avoue ne pas savoir comment règler cela !
Voici le fichier preseed utilisé:
https://www.cjoint.com/c/NIDkGodZMoE
Merci à ceux qui pourront m'éclairer sur ce problème.
@ +.
Avatar de l’utilisateur
zargos
Membre
Membre
Messages : 197
Inscription : 07 juil. 2023, 13:34
Status : Hors-ligne

Bonjour,
Dans l'utilisation de ton preseed, il faut utiliser l'action early_command pour faire le nettoyage de ton disque.
personnellement dans les udebs j'ajoute le fdisk-udeb afin de pouvoir faire la commande sfdisk --delete /dev/sdX et supprimer ainsi les partitions existantes.
Les options prévues pour effacer les partitions existantes ne marchent pas correctement.

Personnellement j'utilise simple-cdd pour la création de mes isos d'installation automatisées.
ElBarto
Messages : 8
Inscription : 29 sept. 2024, 12:13
Status : Hors-ligne

Bonjour,
Merci pour votre réponse.
J'ai jetter un oeil concernant simple-cdd, et celui-ci s'utilise en ligne
de commande contrairement à Cubic, n'étant pas un expert des OS Linux, Cubic
me semble plus approprié.
Je vais donc intégrer fdisk aux udebs et ajouter une instruction au fichier preseed.
Je vous tiendrais informé.
@ +.
ElBarto
Messages : 8
Inscription : 29 sept. 2024, 12:13
Status : Hors-ligne

Bonjour,
Alors pour fdisk, il est déjà inclus dans les udeb de Debian 12.7.
J'ai ajouter l'instruction suivante au fichier preseed:
d-i preseed/early_command string anna-install some-udeb
Afin que les outils tel que fdisk s'installe dès le chargement du fichier preseed.
Ensuite j'ai ajouté la commande:
d-i preseed/early_command \
string sfdisk --delete /dev/sda
Mais j'ai le message d'erreur suivant:
Execution of Preseeded command failed with exit code 127
Je l'ai donc remplacée par la commande:
d-i preseed/early_command \
string dd if=/dev/zero of=/dev/sda bs=4096
Mais j'ai le message d'erreur suivant:
Execution of Preseeded command failed with exit code 1
J'ai également testé avec :
d-i partman/early_command \
string debconf-set partman-auto/disk /dev/sda
Aucune erreur signalée, mais cela ne change rien.
Avatar de l’utilisateur
zargos
Membre
Membre
Messages : 197
Inscription : 07 juil. 2023, 13:34
Status : Hors-ligne

ElBarto a écrit : 01 oct. 2024, 14:24 Bonjour,
Alors pour fdisk, il est déjà inclus dans les udeb de Debian 12.7.
J'ai ajouter l'instruction suivante au fichier preseed:
d-i preseed/early_command string anna-install some-udeb
Afin que les outils tel que fdisk s'installe dès le chargement du fichier preseed.
Ensuite j'ai ajouté la commande:
d-i preseed/early_command \
string sfdisk --delete /dev/sda
Mais j'ai le message d'erreur suivant:
Execution of Preseeded command failed with exit code 127
Je l'ai donc remplacée par la commande:
d-i preseed/early_command \
string dd if=/dev/zero of=/dev/sda bs=4096
Mais j'ai le message d'erreur suivant:
Execution of Preseeded command failed with exit code 1
J'ai également testé avec :
d-i partman/early_command \
string debconf-set partman-auto/disk /dev/sda
Aucune erreur signalée, mais cela ne change rien.
en fait il faut cumuler toutes les commandes avec les backslah de changement de ligne et les ; de changement de commande.
Il ne peut y avoir q'une seule commande early_command dans un fichier preseed:

Code : Tout sélectionner

d-i preseed/early_command string \
    anna-install fdisk-udeb; \
    sfdisk --delete /dev/sda;
Parfois il faut s'assurer qu les partition à supprimer sont démontées.
un wipe peut aussi être utile.
ElBarto
Messages : 8
Inscription : 29 sept. 2024, 12:13
Status : Hors-ligne

Bonjour,
Je n'arrive à charger uniquement fdisk, j'utilise donc la commande:
d-i preseed/early_command string anna-install some-udeb
qui fonctionne bien.
Ensuite pour nettoyer le disque, j'utilise la commande:
d-i partman/early_command \
string /bin/dd if=/dev/zero of=/dev/sda bs=4K count=1
Si je lance dd avec la commande précédente, j'ai un message d'erreur,
ce qui est logique car à ce stade l'installateur n'a pas identifer les disques.
Je ne reçois pas de message d'erreur pour cette commande, mais celui
pour l'installation du système de fichiers efi sur la partition 1 est
toujours présent !
nb: Si je tente de lancer la commande wipefs ou sfdisk de la même manière,
je recois un message d'erreur.
Je ne sais pas d'ou vient le problème, car après vérification, les partitions
présentes sur le disque sont modifiées, il y a:
sda1: 537mo, EFI system, FAT
sda2: 63go, Linux Filesystem, Unknown
sda3: 1go, Linux swap, Swap-Active
Alors qu'avant la tentative d'installation, il y avait une installation ubuntu avec:
sda1: 1,1go, EFI system, FAT,
sda2: 63go, Linux Filesystem, Ext4,
L'installateur a donc bien l'air de partitionner le disque, hormis le fait que
la seconde partition n'est pas formatée.
Avatar de l’utilisateur
zargos
Membre
Membre
Messages : 197
Inscription : 07 juil. 2023, 13:34
Status : Hors-ligne

tu ne peux pas avoir deux commande early_command. C'est pour ça que ton dd ne marche pas, et non pas parce qu'il n'aurait pas détecté les disques ce qui n'est pas le cas.
ElBarto
Messages : 8
Inscription : 29 sept. 2024, 12:13
Status : Hors-ligne

Bonjour,
comme indiqué précédement, avec:
d-i preseed/early_command string \
anna-install some-udeb;\
/bin/sfdisk --delete /dev/sda;
ou
d-i preseed/early_command string \
anna-install some-udeb;\
/bin/dd if=/dev/zero of=/dev/sda bs=4K count=1;
J'ai le message d'erreur suivant:
-Execution Preseeded command failed with exit code 127

Avec les commandes citées dans le messages précédent:
les partitions présentent avant l'installation sont vidées
et modifiées, l'EFI est plus petit, la seconde n'est pas formatée
et une partition swap est créé.
Mais à force de chercher, j'ai trouvé, en début de fichier, j'ai la commande:
d-i preseed/early_command string anna-install some-udeb
et à l'étape du partitionnement, j'ai la commande:
d-i partman/early_command string \
USBDEV=$(list-devices usb-partition | sed "s/\(.*\)./\1/");\
BOOTDEV=$(list-devices disk | grep -v "$USBDEV" | head -1);\
/bin/dd if=/dev/zero of=/dev/sda bs=4K count=1; \
umount /media;
Et je n'ai désormais plus de message d'erreur concernant le système de fichier EFI !
En revanche, il ne créé pas le compte utilisateur demandé:
d-i passwd/auto-login boolean False
d-i passwd/make-user boolean true
d-i passwd/user-fullname string tech
d-i passwd/username string tech
d-i passwd/user-password string P@ssword insecure
d-i passwd/user-password-again string P@ssword insecure
Seul le compte root est activé et sécurisé. Ces instructions fonctionnent pourtant bien
avec mint et zorin, et ce sont ces instructions que l'on retrouve dans les divers exemples.
Avatar de l’utilisateur
zargos
Membre
Membre
Messages : 197
Inscription : 07 juil. 2023, 13:34
Status : Hors-ligne

ElBarto a écrit : 02 oct. 2024, 16:46 Bonjour,
comme indiqué précédement, avec:
d-i preseed/early_command string \
anna-install some-udeb;\
/bin/sfdisk --delete /dev/sda;
ou
d-i preseed/early_command string \
anna-install some-udeb;\
/bin/dd if=/dev/zero of=/dev/sda bs=4K count=1;
J'ai le message d'erreur suivant:
-Execution Preseeded command failed with exit code 127
C'est normal il manque un espace avant le \
Avec les commandes citées dans le messages précédent:
les partitions présentent avant l'installation sont vidées
et modifiées, l'EFI est plus petit, la seconde n'est pas formatée
et une partition swap est créé.
Mais à force de chercher, j'ai trouvé, en début de fichier, j'ai la commande:
d-i preseed/early_command string anna-install some-udeb
et à l'étape du partitionnement, j'ai la commande:
d-i partman/early_command string \
USBDEV=$(list-devices usb-partition | sed "s/\(.*\)./\1/");\
BOOTDEV=$(list-devices disk | grep -v "$USBDEV" | head -1);\
/bin/dd if=/dev/zero of=/dev/sda bs=4K count=1; \
umount /media;
Et je n'ai désormais plus de message d'erreur concernant le système de fichier EFI !
En revanche, il ne créé pas le compte utilisateur demandé:
d-i passwd/auto-login boolean False
d-i passwd/make-user boolean true
d-i passwd/user-fullname string tech
d-i passwd/username string tech
d-i passwd/user-password string P@ssword insecure
d-i passwd/user-password-again string P@ssword insecure
Seul le compte root est activé et sécurisé. Ces instructions fonctionnent pourtant bien
avec mint et zorin, et ce sont ces instructions que l'on retrouve dans les divers exemples.
Pour la création des comptes tu n’utilise pas les bonne valeurs et commandes; tu devrais utiliser:
Pour pouvoir utiliser root en login (local), les mots de passes cryptés sont anonymisés.:

Code : Tout sélectionner

d-i passwd/root-login boolean true
d-i passwd/root-password-crypted password ********************************************************
pour créer un utilisateur normal:

Code : Tout sélectionner

d-i passwd/user-fullname string Mon Utilisateur
d-i passwd/username string monuser
d-i passwd/user-password-crypted password *******************************************************
d-i passwd/user-default-groups string audio cdrom video sudo plugdev dip netdev
ElBarto
Messages : 8
Inscription : 29 sept. 2024, 12:13
Status : Hors-ligne

Bonjour,
Encore un problème réglé, Merci pour votre aide !
C'était l'argument string qui posé problème en effet.
Dernière question: j'utilise cette méthode pour installer également:
Mint, Zorin et Linux Lite; et ces installateurs continuent de me demander
pour Zorin et linux lite: si je souhaite installer les mises à jour et autres logiciels,
pour Mint: les codecs multimédia.
Quelles instructions ajouter au fichiier preseed pour bypasser ces demandes?
Noter que l'installateur Debian ne demande rien.
Avatar de l’utilisateur
zargos
Membre
Membre
Messages : 197
Inscription : 07 juil. 2023, 13:34
Status : Hors-ligne

Pour la définition des dépôts et des paramètres apt, la ligne d-i apt-setup/services-select multiselect est celle qui définie les mises à jour:

Code : Tout sélectionner

### Apt setup
# You can choose to install non-free and contrib software.
d-i apt-setup/contrib boolean true
d-i apt-setup/non-free boolean true
d-i apt-setup/non-free-firmware boolean true
# Uncomment this if you don't want to use a network mirror.
#d-i apt-setup/use_mirror boolean false
# Select which update services to use; define the mirrors to be used.
# Values shown below are the normal defaults.
d-i apt-setup/services-select multiselect security, updates, release updates, backports
d-i apt-setup/security_host string ftp.fr.debian.org
d-i apt-setup/security_path string /debian-security

### Description: Enable source repositories in APT?
#   By default source repositories are listed in /etc/apt/sources.list (with
#   appropriate "deb-src" lines) so that "apt-get source" works. However, if
#   you don't need this feature, you can disable those entries and save some
#   bandwidth during "apt-get update" operations.
d-i apt-setup/enable-source-repositories boolean false
Mais si tu as des problèmes c'est peut être de ces faits:
- As-tu accès à un dépot correct et avec les paramètres ci-dessus?
- As tu intégré les fichiers d'installations des paquets sur ton média d'installation? Simple-cdd permet, via l'utilisation des fichiers de profils .downloads et .packages de dé&finir quels sont respectivement les paquets embarqués sur le media et les paquets installés par le profil.

J'avais fait un tutoriel sur debian-fr.org pour simple-cdd qui expliquait tout ça, mais la gestion erratique du site fait que celui-ci est régulièrement en panne.

Et ici, les capacités de mises en page ne me permette pas de le mettre correctement alors j'ai abandonné devant la masse de travail que ça représente.
Et mon MediaWiki n'est accessible au public.
Répondre