[Syslinux] Error device (Résolu)

Questions et astuces concernant l'installation et la configuration d'archlinux
Répondre
Avatar de l’utilisateur
Qwaser
Hankyu
Messages : 19
Inscription : jeu. 23 févr. 2017, 13:29
Contact :

[Syslinux] Error device (Résolu)

Message par Qwaser » dim. 01 déc. 2019, 20:42

Bonjour,

J'ai loué un nouveau serveur dédié auprès d'OVH et comme pour le premier j'effectue mon installation d'Archlinux en démarrant en mode rescue puis en utilisant la méthode bootscrap, chose que j'avais fait à l'identique sur le serveur actuellement en fonctionnement. Malheureusement je n'arrive pas à quelque chose de concluant... En effet, lors du redémarrage final, ce dernier reste bloqué sur le message suivant (remonté par OVH car ce dernier n'est pas pourvu d'IPMI) :

Code : Tout sélectionner

error device '' not found, skipping fsck, :: mounting '' on real root mount: /new_root: no filesystem type specified You are being dropped to a recovery shell sh: can't access tty; job control turned off [rootfs /]#
J'ai refait mon installation plusieurs fois, mais rien n'y fait... Pourtant celle-ci avait parfaitement fonctionné sur l'autre serveur dédié que je loue. Le problème se situerais au niveau du bootloader, pourtant son fichier de configuration est des plus simple :

Code : Tout sélectionner

PROMPT 0
TIMEOUT 0
DEFAULT arch

LABEL arch
	LINUX ../../../vmlinuz-linux-hardened
	APPEND root=/dev/md127 rootflags=subvol=CURRENT rw
	INITRD ../../../intel-ucode.img,../../../initramfs-linux-hardened.img
Auriez-vous des pistes à explorer auxquelles je n'aurais pas pensé ? :cry:

En vous remerciant d'avance pour votre aide :wink:
Dernière modification par Qwaser le jeu. 05 déc. 2019, 15:06, modifié 2 fois.

benjarobin
Maître du Kyudo
Messages : 15565
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Syslinux] Error device

Message par benjarobin » dim. 01 déc. 2019, 22:11

Bonjour,
Quel est le contenu de /etc/mkinitcpio.conf et de /etc/mdadm.conf ?
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

Avatar de l’utilisateur
Qwaser
Hankyu
Messages : 19
Inscription : jeu. 23 févr. 2017, 13:29
Contact :

Re: [Syslinux] Error device

Message par Qwaser » lun. 02 déc. 2019, 07:46

Voici le contenu des deux fichiers demandés, sachant que le prompt avec "SRV-ATHOS" correspond au serveur fonctionnant depuis 2016 alors que celui avec "root@rescue" correspond au nouveau que j'essaye de mettre en place.

/etc/mkinitcpio.conf :
Image

/etc/mdadm.conf
Image

laurent85
Chu Ko Nu
Messages : 402
Inscription : mar. 16 oct. 2018, 21:05

Re: [Syslinux] Error device

Message par laurent85 » lun. 02 déc. 2019, 23:38

Bonjour,
Enlève autodetect ou utilise l'initramfs fallback pour voir.

Je te donne un truc, pour les install à l'aveugle sur un serveur j'installe d'abord un système "de secours" avec l'installateur automatique de l'hébergeur sur quelques Go pour être sûr qu'il va démarrer.

Ensuite je fais mon installation "complexe" à partir du système de secours. Quand c'est fait j'installe Grub, si ça démarre pas je redémarre en rescue, je chroot dans le système de secours et je réinstalle le grub du secours dans le MBR.

Reboot sur le secours, c'est plus simple d'investiguer à partir d'un système Arch "de secours" que du rescue trop limité.

Avatar de l’utilisateur
Qwaser
Hankyu
Messages : 19
Inscription : jeu. 23 févr. 2017, 13:29
Contact :

Re: [Syslinux] Error device

Message par Qwaser » mar. 03 déc. 2019, 08:09

J'ai retiré le HOOK autodetect et ai modifié le fichier syslinux.cfg pour pointer vers initramfs-linux-hardened-fallback.img. Cependant rien de mieux, toujours le même message reporté par OVH lors du démarrage :

Code : Tout sélectionner

Le serveur reste bloque durant la phase de boot sur le message :
((error device '' not found, skipping fsck, :: mounting '' on real root mount: /new_root: no filesystem type specified You are being dropped to a recovery shell sh: can't access tty; job control turned off [rootfs /]#) ) )
Un redemarrage sur un noyau standard OVH ('netboot') ne corrige pas la
situation.
Si le serveur n'était pas compatible UEFI, on arriverait pas à cette étape nous sommes d'accord ? Là il trouve bien vmlinuz-linux-hardened + initramfs-linux-hardened.img cependant c'est lors du montage de /dev/md127 dans / qu'il coince si je visualise bien ? :(

benjarobin
Maître du Kyudo
Messages : 15565
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Syslinux] Error device

Message par benjarobin » mar. 03 déc. 2019, 08:52

Tu visualises bien... Ce qui me gène, c'est que le nom du device soit vide.
Perso, je n'aime pas trop syslinux, essaye avec grub, au cas où on loupe un truc
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

Avatar de l’utilisateur
Qwaser
Hankyu
Messages : 19
Inscription : jeu. 23 févr. 2017, 13:29
Contact :

Re: [Syslinux] Error device

Message par Qwaser » mar. 03 déc. 2019, 20:46

Je me demande si le fait que j'ai monté /dev/md126 sans /boot au lieu de /boot/efi comme préconisé dans la documentation d'Archlinux ne serait la cause. Pourtant sous ma VM cela fonctionne ! Cependant mon serveur actuellement en fonctionnement lui a le /dev/md126 dans /boot/efi, je vais tenté une nouvelle installer en ce sens ! Sinon j'essayais GRUB mais je ne connais pas ce bootloader aussi bien que Syslinux :)

benjarobin
Maître du Kyudo
Messages : 15565
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Syslinux] Error device

Message par benjarobin » mar. 03 déc. 2019, 22:09

Euh, syslinux ne supporte pas ce genre de montage que je sache (ou alors je n'ai pas tout compris). Peux tu détailler tes partitions et points de montage, etc... Le plus simple avec le raid est d'avoir la partition ESP montée dans /boot. La partition ESP étant en dehors du Raid.

Sinon j'avais complètement oublié, mais tu devrais vraiment utilise des UUID au lieu de la notation en /dev/mdX
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

Avatar de l’utilisateur
Qwaser
Hankyu
Messages : 19
Inscription : jeu. 23 févr. 2017, 13:29
Contact :

Re: [Syslinux] Error device

Message par Qwaser » mar. 03 déc. 2019, 23:46

Le nouvel essai d'installation en montant /dev/md126 dans /boot/efi toujours avec Syslinux. Cela n'a rien donné de mieux, de même qu'en replaçant le bootloader par GRUB... Je ne comprends vraiment pas ce qui coince, sachant que j'ai très bien réussi sur mon serveur actuel !

J'avais tenté d'utiliser les UUID, mais cela n'avait pas été concluant sur mon serveur actuel. Lors du démarrage il ne trouvait pas la partition contenant /.

Voici le détail de mes partitions et points de montage, sachant qu'il est le même maintenant que sur mon serveur fonctionnel :
  • /dev/md127 (448 GB - BTRFS) -> /
  • /dev/md126 (128 MB - FAT32) -> /boot/efi
  • md127 = sda2 + sdb2 en RAID1
  • md126 = sda1 + sdb1 en RAID1
  • md127 contient deux volumes BTRFS, CURRENT (celui monté dans /) et BACKUP
Ça va se terminer que je vais annuler ce nouveau serveur et rester avec celui actuel... Si le template d'OVH était plus personnalisable aussi, mais on a pas le choix du bootloader, obligation d'une partition Swap, pas de création de volume BTRFS, pas le choix de langue, etc.

benjarobin
Maître du Kyudo
Messages : 15565
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Syslinux] Error device

Message par benjarobin » mer. 04 déc. 2019, 00:32

Si avec les UUID il ne trouve pas la partition, c'est que tu ne fais pas correctement quelque chose (je parle avec ton serveur actuel). Après as tu essayé d'ajouter un rootdelay ?.
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

Avatar de l’utilisateur
Qwaser
Hankyu
Messages : 19
Inscription : jeu. 23 févr. 2017, 13:29
Contact :

Re: [Syslinux] Error device

Message par Qwaser » mer. 04 déc. 2019, 07:40

Effectivement je viens de refaire un essai en remplaçant /dev/md127 par UUID=xxxx, mais j'ai pris celui retourné par la commande blkid cette fois et le redémarrage a bien fonctionné (sur mon serveur actuel). C'est bien plus facile, comme ce dernier a un KVM, je peux voir en direct la séquence de démarrage, j'ai également mit les UUID dans le fichier fstab.

Je vais essayer de faire de même sur le nouveau serveur maintenant que je vois quel UUID prendre, mais j'ai des doutes que cela résolve le problème. Comme tu as dit benjarobin : "Ce qui me gène, c'est que le nom du device soit vide". :cry:

Avatar de l’utilisateur
Qwaser
Hankyu
Messages : 19
Inscription : jeu. 23 févr. 2017, 13:29
Contact :

Re: [Syslinux] Error device

Message par Qwaser » mer. 04 déc. 2019, 23:26

Petit retour sur mes différents essais de la journée. En utilisant les UUID, j'ai réussi à redémarrer sur mon installation d'Arch ce matin ! Donc c'est bel et bien possible sur ce serveur OVH, ouf.

J'ai tenté de réinstaller diverses fois Arch, mais sur presque dix tentatives une seule a fonctionné (hors celle de ce matin). Je suis donc repassé sous Virtualbox car il est plus simple de tester ainsi et j'ai eu une installation fonctionnelle du premier coup ! Voici un récapitulatif des points de montages, fstab et syslinux.cfg :
Image

OVH ne me fournissant plus la ligne sur laquelle le démarrage bloque, je ne sais pas si c'est encore un défaut de configuration du bootloader/fstab ou si c'est ma configuration IPV6 qui est foireuse (j'avais mit du temps à trouver la bonne pour mon serveur actuel), donc je continue mes essais.

Avatar de l’utilisateur
Qwaser
Hankyu
Messages : 19
Inscription : jeu. 23 févr. 2017, 13:29
Contact :

Re: [Syslinux] Error device

Message par Qwaser » jeu. 05 déc. 2019, 15:06

J'ai bel et bien réussi mon installation et ainsi pu faire une liste des points importants qui pouvait bloquer le démarrage :
  • La partition RAID1 dédié à l'ESP doit bien être montée dans /boot/efi ! Malgré que sur ma VM la monter directement dans /boot fonctionne sans problème, je n'ai pas d'explication.
  • Le démarrage avec le microcode du CPU n'est pas possible (https://wiki.archlinux.org/index.php/Microcode#Syslinux). Là encore sur ma VM c'est bien fonctionnel, donc je comprends pas.
  • Faire bien attention à la configuration de sa carte réseau, particulièrement l'IPV6
  • Préférer les UUID retourné par blkid et vérifié le fstab car il peut avoir de mauvais UUID de renseignés
En tout cas merci à vous tous pour votre aide ! Et si vous avez des explication concernant les points dont je n'arrive pas à comprendre, je suis preneur :wink:

benjarobin
Maître du Kyudo
Messages : 15565
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Syslinux] Error device (Résolu)

Message par benjarobin » jeu. 05 déc. 2019, 20:21

Hum, ce n'est clairement pas logique... Après syslinux être très très limité. Grub est beaucoup plus robuste et gère bien plus de cas.
Pour moi ta configuration de syslinux est incorrect dans l'état actuelle des choses :
- Les chemins sont relatifs au fichier de configuration.
- Ici tu remonte 3 fois, mais le fichier de configuration syslinux.cfg n'est que dans EFI/syslinux/ (soit 2 dossiers...)
- syslinux ne gère pas que je sache, le chargement de fichier depuis une autre partition...

Extrait du wiki
Pour syslinux, les fichiers kernel et initramfs ont besoin d'être placés dans ESP, attendu que syslinux n'a pas (pour le moment) la capacité d'accèder à des fichiers en dehors de sa propre partition (i.e. en dehors d'ESP dans ce cas). Pour cette raison, il est recommandé de monter ESP dans /boot.
Donc ta configuration ne devrait pas fonctionner !!!

Dans ton cas, maintenant il y a quoi dans /boot/efi (dit autrement quel est le contenu de la partition ESP) ?
Peux tu donner aussi ton nouveau fstab ainsi que la configuration de syslinux

Pour moi la méthode que j'utiliserais (depuis un chroot) est :

Code : Tout sélectionner

# On démonte la partition ESP
umount /dev/md127

# On vide /boot de tout fichier
rm -rf /boot/*

# On monte la partition ESP dans /boot (adapter le fstab), et on la vide
mount /dev/md127 /boot
rm -rf /boot/*

# On réinstalle le kernel
pacman -S linux-hardened intel-ucode

# On installe Grub entièrement dans la partition ESP
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=grub --boot-directory=/boot --debug --removable
grub-mkconfig -o /boot/grub/grub.cfg
Peux tu donner aussi la sortie de : fdisk -l
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

Avatar de l’utilisateur
Qwaser
Hankyu
Messages : 19
Inscription : jeu. 23 févr. 2017, 13:29
Contact :

Re: [Syslinux] Error device (Résolu)

Message par Qwaser » ven. 06 déc. 2019, 10:14

Concernant tes trois points sur la configuration Syslinux de ma VM :
  • On peut mettre les chemins de manière absolu ? /boot/vm-linux-hardened directement ?
  • En effet je remonte dans de trois crans car les trois fichiers appelés se situent dans /boot étant leur emplacement de génération par défaut
  • Ici Syslinux est bien dans la même partition puisque tout /boot est monté dans /dev/md127
Tu me demandes le contenu de /boot/efi de ma VM ou du serveur dédié ? Si c'est de ce dernier, le voici :
Image

Pour le fstab et la configuration Syslinux, les voici :
Image

Voici le retour de la commande fdisk -l :
Image

benjarobin
Maître du Kyudo
Messages : 15565
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Syslinux] Error device (Résolu)

Message par benjarobin » ven. 06 déc. 2019, 19:25

Qwaser a écrit :
jeu. 05 déc. 2019, 15:06
La partition RAID1 dédié à l'ESP doit bien être montée dans /boot/efi !
Qwaser a écrit :
ven. 06 déc. 2019, 10:14
Ici Syslinux est bien dans la même partition puisque tout /boot est monté dans /dev/md127
Tu te ne contredis pas un peu ?

Comment peux tu avoir le kernel dans /boot/efi/EFI ???! Il devrait être dans /boot normalement...
Je ne sais vraiment pas ce que tu fais, mais c'est très étrange...
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

Avatar de l’utilisateur
Qwaser
Hankyu
Messages : 19
Inscription : jeu. 23 févr. 2017, 13:29
Contact :

Re: [Syslinux] Error device (Résolu)

Message par Qwaser » ven. 06 déc. 2019, 21:05

Enfaite la partition RAID1 montée dans /boot/efi c'est sur mes serveurs dédiés, car la montée dans /boot n'avait pas l'air de fonctionner lors du démarrage . En revanche, sur ma machine virtuelle Archlinux, la partition RAID1 est montée dans /boot et le démarrage fonctionne parfaitement.
Machine virtuelle :
-> /dev/md126 = /boot
-> /dev/md127 = /

Serveur dédié :
-> /dev/md126 = /boot/efi
-> /dev/md127 = /
Comment peux tu avoir le kernel dans /boot/efi/EFI ???! Il devrait être dans /boot normalement...
En effet lorsque je lance la commence mkinitcpio -p linux-hardened, tout est généré dans /boot directement. Après je copie le nécessaire dans /boot/efi/EFI. Dans la documentation officielle, on voit bien que le fichier de configuration va chercher le kernel dans le dossier parent : https://wiki.archlinux.org/index.php/Sy ... FI_Systems

Mais il est vrai que je ne comprends pas pourquoi sous machine virtuelle, il accepte sans broncher plusieurs façon de faire par rapport aux serveurs dédiés.

benjarobin
Maître du Kyudo
Messages : 15565
Inscription : sam. 30 mai 2009, 15:48
Localisation : Lyon

Re: [Syslinux] Error device (Résolu)

Message par benjarobin » ven. 06 déc. 2019, 21:45

Qwaser a écrit :
ven. 06 déc. 2019, 21:05
Après je copie le nécessaire dans /boot/efi/EFI.
A la moindre mise à jour, ton serveur ne démarre plus...
Tu dois monter la partition ESP dans /boot et bien sûr adapter la configuration de syslinux en fonction.

Supposons que :
- syslinux.cfg soit ici : EFI/syslinux/syslinux.cfg
- La partition ESP monté dans /boot (donc avec le kernel à la racine de la partition ESP)
- Alors les chemins dans ton syslinux.cfg, doivent avoir la forme suivante ../../vmlinuz-linux
Qwaser a écrit :
ven. 06 déc. 2019, 21:05
Dans la documentation officielle, on voit bien que le fichier de configuration va chercher le kernel dans le dossier parent
Ce n'est qu'un exemple pour un démarrage en mode Legacy/MBR. Syslinux possède tellement de limitation en UEFI que plus grand monde doit l'utiliser, voilà pourquoi il ne doit pas y avoir d'exemple pour un démarrage UEFI.

On sinon utiliser Grub, systemd-boot, ... qui s'occupe de tout automatiquement...

Pour peut être clarifier les choses :
- Le point de montage de la partition ESP n'a aucune importance pour le bon démarrage du PC
- La seule chose importante, c'est de placer les fichiers au bon endroit dans la partition ESP, et avec les bons chemins (relatifs) dans la configuration du chargeur de démarrage (dans ton cas syslinux)
- Le point de montage n'a son importance que pour la mise à jour... Donc c'est pour cela que je t'incite plus que fortement à monter la partition ESP dans /boot, pour que la prochaine mise à jour se passe bien... Car par défaut, lors de la mise à jour le kernel est placé dans /boot. Hors on veut le kernel dans la partition ESP. C'est le moyen le plus simple d'avoir un système qui fonctionne.
Zsh | KDE | PC fixe : core i7, carte nvidia | Portable : Asus ul80vt
Titre d'un sujet : [Thème] Sujet (état)

Répondre