systemd/udev dépendance à l'échec lors de l'auto de montage de la partition séparée lors du démarrage
EDIT: Cela se produit lorsque j'essaie d'utiliser une partition séparée avec n'IMPORTE quel point de montage, et pas seulement /var
.
Je suis à l'aide de Buildroot pour construire un système linux embarqué. Je suis en train d'utiliser une partition séparée pour /var, mais cela se produit pour n'IMPORTE quel point de montage. Mon système d'init est systemd, udev pour la gestion du périphérique. J'ai édité mon fstab pour:
# <file system> <mount pt> <type> <options> <dump> <pass>
/dev/root / ext2 rw,noauto 0 1
/dev/mmcblk0p4 /var ext2 defaults 0 2
proc /proc proc defaults 0 0
devpts /dev/pts devpts defaults,gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs mode=0777 0 0
tmpfs /tmp tmpfs defaults 0 0
sysfs /sys sysfs defaults 0 0
tmpfs /run tmpfs defaults 0 0
Une fois que le système démarre, je reçois un message "Attend appareil dev-mmcblk0p4.dispositif...", suivie éventuellement par:
"Expiration du délai d'attente pour l'appareil dev-mmcblk0p4.de l'appareil."
"Dépendance a échoué pour /var."
"Dépendance a échoué pour des Systèmes de Fichiers Locaux."
Même chose si j'utilise /var2
, ou quoi que ce soit d'autre, que le point de montage au lieu de /var
. Une fois le démarrage échoue, il entre en mode d'urgence et de la monture puis réussir à se produire. Je ne puis quitter la maintenance du système et tout fonctionne comme prévu. Quelle est la cause de ce retard de monter?? Ai-je manqué une étape?
Capture d'écran de sortie:
- Il y a Fedora bug982007 Mais faut mentionner que, avec Systemd regroupés dans ALTLinux (209, 210) je n'ai pas été au courant de ce bug sur un joli complexe de configuration (/usr, /var, /home séparée, pertitions et tous sont sur des volumes raid de différents types). Donc je suppose que le problème peut être causé par des "non-élaborer" configuration et/ou de l'initrd. Je suppose que vous amorcez à partir d'une carte SD, non? Je suppose que vous introduisiez une dépendance artificielle sur le udev
add
événement? - oui, démarrage à partir de la carte SD. Malheureusement, je suis obligé de travailler avec un plus, la principale version du noyau, donc je suis inquiet il y a un bug qui peut contribuer à ce que vous l'avez suggéré. Il semble comme un changement simple, si... je vais continuer à essayer de trouver plus d'informations.
- Pouvez-vous vérifier la version de systemd et simplement le mettre à jour si c'est moins de 208?
- La version actuelle est de 202. Je vais essayer de mettre à jour et publier les résultats de cet après-midi.
- Mise à jour de systemd à 208, même problème.
- S'avère que c'est survenue lors du montage de toute partition séparée à partir de fstab...pas liées à
/var
. J'ai mis à jour la question pour en tenir compte.
Vous devez vous connecter pour publier un commentaire.
J'ai eu un problème similaire ici en utilisant systemd-208 avec le noyau 3.13.1 et 3.14.4 sous Exherbo (similaire à Gentoo): mes partitions distinctes (/var, /home, /boot, et même d'échange (swap) ont été montés sous la racine de votre choix de l'emplacement. Tout a bien fonctionné. Ensuite, la mise à niveau vers systemd 213 le processus de démarrage arrêté au point, où les partitions doivent avoir été monté avec le message: "Un début d'emploi est en cours d'exécution pour dev-sdxx.appareil jusqu'à ce que délai de 1 min 30 sec. Par la suite, j'ai été en Mode de secours.
Extrait de
montre l'échec des tentatives de montage par systemd.
Après recherche sur internet j'ai pu trouver un remède dans la configuration du noyau avec
voir "systemd Système et du Gestionnaire de Service" sous
source: http://cgit.freedesktop.org/systemd/systemd/tree/README
Ensuite, le problème a été résolu, toutes les partitions montées de nouveau.
Je ne peux pas dire, pourquoi cela ne se passait pas /ou n'a pas été nécessaire avec systemd 208.
A été en mesure de contourner ce, même si elle est une sorte de hack. Serait toujours l'amour de savoir pourquoi cela se produit dans la première place, mais il semble comme si udev n'est pas de montage mmcblk partitions jusqu'à ce que après l'init systemd est complète, ce qui entraîne la dépendance des erreurs si
/etc/fstab
appels pour un mmcblk partition. udev vérifie lafstab
, attend un mmcblk appareil pour être montées et fois sur, PUIS tente de monter l'appareil.Ma Solution:
1) Créer systemd service pour gérer le montage de la partition:
2) Ajouter un
Wants
dépendance de ce service au sein desystemd-udev-trigger.service
:Cela provoque
mount-data-partition.service
d'être appelé et exécuté avantsystemd-udev-trigger.service
. Lemount
commande sera alors cherchez/dev/mmcblk0p4
dans/etc/fstab
, et de montage comme indiqué (dans ma situation,/var
). Depuis/dev/mmcblk0p4
est maintenant monté, udev reconnaît que le dispositif existe et n'est plus temps d'attente pour elle. Le système continue de démarrage normal.Je déteste répondre à ma propre question, mais j'espère que cette information aide à quelqu'un. Si quelqu'un peut m'éclairer sur le pourquoi cela se produit en premier lieu, s'il vous plaît.