Bonjour à tous,
Je ne sais pas si le problème concerne Debian directement, mais j’aimerais avoir une explication sur le montage des partitions. Voici le résumé de mes opérations. J’ai créé une distribution Debian 8 + LXDE pour une carte embarquée RIoTboard, en utilisant debootstrap. Le boot loader est UBoot. Debootstrap n’initialise pas fstab (le fichier est vide) et pourtant lors du démarrage, un grand nombre de montages est effectué; la partition système de la SD-Card, les partitions en flash, un nombre important de partitions en tmpfs, les partitions proc, dev. Le problème est que j’ai voulu remplir mon fstab en y intégrant tous les points de montages lus avec la commande mount, et la j’ai une erreur pendant le boot qui m’indique que le remontage de la partition système est impossible, et cela, même lorsque je supprime le montage de cette partition du fstab. Cependant, malgré cette erreur, je peux interagir avec le système par la console série, avec mon compte root. J’aurais donc besoin de connaître exactement les mécanismes de montage des partitions depuis le boot loader, jusqu’à l’environnement graphique afin de déterminer d’où vient mon problème et peut-être trouver la solution. Quelqu’un peut-il m’aider ? Merci.
Salut,
Si tu es sous systemd, tu peux regarder de ce côté là deja. Systemd peut monter des partitions sans le fichier fstab, mais je ne sais pas si c’est valable pour toutes les partitions, y compris celles du système donc… (je sais que c’est valable pour le Swap par exemple)
Tu peux deja voir ce que te donne la commande :
# systemctl list-units | grep mount
Pour plus d’infos consultes le man systemd.
Merci pour ta réponse GOGI, je vais regardé de ce côté. En attendant, je peux te mettre ce que me sort la commande que tu m’as indiquée :
root@riot:~# systemctl list-units | grep mount proc-sys-fs-binfmt_misc.automount loaded active waiting Arbitrary Executable File Formats File System Automount Point -.mount loaded active mounted / media-automate-57f8f4bc\x2dabf4\x2d655f\x2dbf67\x2d946fc0f9f25b.mount loaded active mounted /media/automate/57f8f4bc-abf4-655f-bf67-946fc0f9f25b media-automate-5a2d01d8\x2d0331\x2d4fa8\x2db87f\x2d349ceb3b9c8e.mount loaded active mounted /media/automate/5a2d01d8-0331-4fa8-b87f-349ceb3b9c8e media-automate-5aa78691\x2d0317\x2d46f2\x2d8287\x2db19c4c363014.mount loaded active mounted /media/automate/5aa78691-0317-46f2-8287-b19c4c363014 media-automate-b252b3fe\x2d0f19\x2d4717\x2d8b24\x2d0eb395cac7aa.mount loaded active mounted /media/automate/b252b3fe-0f19-4717-8b24-0eb395cac7aa media-automate-f8216356\x2d86ca\x2d4e3f\x2dacbd\x2d8c7bb618867e.mount loaded active mounted /media/automate/f8216356-86ca-4e3f-acbd-8c7bb618867e run-user-1000-gvfs.mount loaded active mounted /run/user/1000/gvfs run-user-1000.mount loaded active mounted /run/user/1000 run-user-1003.mount loaded active mounted /run/user/1003 sys-fs-fuse-connections.mount loaded active mounted FUSE Control File System sys-kernel-debug.mount loaded active mounted Debug File System systemd-remount-fs.service loaded active exited Remount Root and Kernel File Systems
Bon là déjà tu peux voir que la partition racine (/) est montée et tu as 5 autres partitions qui sont montées dans “/media/automate/”. Tu peux retrouver à quoi correspondent ces montages en prenant les UUID et en les comparant avec le retour de la commande :
# blkid
Pour le reste, je ne suis pas sur de comprendre quelle est la question de ton sujet, en relisant le 1er message? Tu n’arrives plus à booter normalement?
Donnes nous également le retour de la commande :
# cat /etc/fstab
pour voir comment tu as rempli ton fstab.
Merci de t’intéresser à mon cas GOGI et bonjour à tous,
Je ‘résume’ mon problème. J’ai donc créé une distribution Debian 8.5 + LXDE, qui fonctionne sans problème. J’ai voulu modifier le fstab pour adapter certaines choses et je me suis rendu compte que celui-ci était vide, ce qui est normal car Debootstrap ne génère par de fstab. Il contenait uniquement : # UNCONFIGURED FSTAB FOR BASE SYSTEM
.
Je voulais d’abord préparer une partition pour mon futur /home qui est actuellement sur la partition système, j’ai donc ajouté le montage de celle-ci en ajoutant la ligne suivante : UUID=b252b3fe-0f19-4717-8b24-0eb395cac7aa /media/automate/home ext4 rw,errors=remount-ro 0 0
Mais là, le sytème ne démarre plus, sur mon écran seul le petit pingouin s’affiche et cela reste bloqué ainsi. En effectuant quelques recherches, j’en ai déduit que lorsque le fstab contenait quelques choses, le système qui auparavant montait les devices, ne montait plus que ce qui était dans le fstab. J’ai donc vidé de nouveau mon fstab pour redémarrer normalement, et j’ai lu tous les montages effectués :
# mount
/dev/mmcblk1p1 on / type ext4 (rw,relatime)
devtmpfs on /dev type devtmpfs (rw,relatime,size=348668k,nr_inodes=87167,mode=755)
sysfs on /sys type sysfs (rw,nosuid,nodev,noexec,relatime)
proc on /proc type proc (rw,nosuid,nodev,noexec,relatime)
securityfs on /sys/kernel/security type securityfs (rw,nosuid,nodev,noexec,relatime)
tmpfs on /dev/shm type tmpfs (rw,nosuid,nodev)
devpts on /dev/pts type devpts (rw,nosuid,noexec,relatime,gid=5,mode=620)
tmpfs on /run type tmpfs (rw,nosuid,nodev,mode=755)
tmpfs on /run/lock type tmpfs (rw,nosuid,nodev,noexec,relatime,size=5120k)
tmpfs on /sys/fs/cgroup type tmpfs (ro,nosuid,nodev,noexec,mode=755)
cgroup on /sys/fs/cgroup/systemd type cgroup (rw,nosuid,nodev,noexec,relatime,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd)
systemd-1 on /proc/sys/fs/binfmt_misc type autofs (rw,relatime,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,direct)
debugfs on /sys/kernel/debug type debugfs (rw,relatime)
fusectl on /sys/fs/fuse/connections type fusectl (rw,relatime)
tmpfs on /run/user/1000 type tmpfs (rw,nosuid,nodev,relatime,size=102532k,mode=700,uid=1000,gid=1000)
gvfsd-fuse on /run/user/1000/gvfs type fuse.gvfsd-fuse (rw,nosuid,nodev,relatime,user_id=1000,group_id=1000)
/dev/mmcblk1p2 on /media/automate/b252b3fe-0f19-4717-8b24-0eb395cac7aa type ext4 (rw,nosuid,nodev,relatime,uhelper=udisks2)
/dev/mmcblk0p7 on /media/automate/5a2d01d8-0331-4fa8-b87f-349ceb3b9c8e type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks2)
/dev/mmcblk0p6 on /media/automate/f8216356-86ca-4e3f-acbd-8c7bb618867e type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks2)
/dev/mmcblk0p5 on /media/automate/57f8f4bc-abf4-655f-bf67-946fc0f9f25b type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks2)
/dev/mmcblk0p4 on /media/automate/5aa78691-0317-46f2-8287-b19c4c363014 type ext4 (rw,nosuid,nodev,relatime,data=ordered,uhelper=udisks2)
tmpfs on /run/user/1003 type tmpfs (rw,nosuid,nodev,relatime,size=102532k,mode=700,uid=1003,gid=1003)
et je les ai recréé dans le fstab (exceptés les partitions en flash que je n’utilise pas pour le moment) :
proc /proc proc defaults 0 0
# /dev/mmcblk1p1
UUID=b3a410e3-fe49-4d95-b106-213598b8bb27 / ext4 rw,errors=remount-ro 0 1
#/dev/mmcblk1p1 / ext4 rw,errors=remount-ro 0 1
# /dev/mmcblk1p2
UUID=b252b3fe-0f19-4717-8b24-0eb395cac7aa /media/automate/home ext4 rw,errors=remount-ro 0 0
#/dev/mmcblk1p2 /media/automate/home ext4 rw,errors=remount-ro 0 0
devtmpfs /dev devtmpfs mode=0755,nosuid 0 0
sysfs /sys sysfs nosuid,noexec,nodev 0 0
securityfs /sys/kernel/security securityfs nosuid,nodev,noexec 0 0
devpts /dev/pts devpts gid=5,mode=620 0 0
tmpfs /dev/shm tmpfs defaults 0 0
tmpfs /run tmpfs defaults,mode=755 0 0
tmpfs /run/lock tmpfs defaults 0 0
tmpfs /sys/fs/cgroup tmpfs defaults,ro,mode=0755 0 0
cgroup /sys/fs/cgroup/systemd cgroup defaults,xattr,release_agent=/lib/systemd/systemd-cgroups-agent,name=systemd 0 0
systemd-1 /proc/sys/fs/binfmt_misc autofs defaults,fd=23,pgrp=1,timeout=300,minproto=5,maxproto=5,direct 0 0
debugfs /sys/kernel/debug debugfs rw,relatime 0 0
fusectl /sys/fs/fuse/connections fusectl rw,relatime 0 0
tmpfs /run/user/1000 tmpfs defaults,size=102532k,mode=700,uid=1000,gid=1000 0 0
gvfsd-fuse /run/user/1000/gvfs fuse.gvfsd-fuse defaults,user_id=1000,group_id=1000 0 0
Et là, j’ai plusieurs erreurs dans la console :
...... Starting Remount Root and Kernel File Systems... cgroup: option changes via remount are deprecated (pid=282 comm=mount) EXT4-fs (mmcblk1p1): re-mounted. Opts: errors=remount-ro [FAILED] Failed to start Remount Root and Kernel File Systems. See 'systemctl status systemd-remount-fs.service' for details. ...... [FAILED] Failed to mount /run/user/1000/gvfs. See 'systemctl status run-user-1000-gvfs.mount' for details. [DEPEND] Dependency failed for Local File Systems. ...... [FAILED] Failed to start (null). See 'systemctl status eGTouch.service' for details.
Pour les détails des erreurs, voir la copie d’écran disponible ici
On y vois aussi que les partitions semblent toutes montées correctement.
De la console série, j’ai accès au système de fichiers, mais en lecture seulement.
Si quelqu’un a une idée.
Bonjour Abacab
Je me suis permis d’apporter une petite modification concernant la présentation d’une partie de ton message.
Comme dirait Bernard Laporte, il va falloir revenir aux fondamentaux
Comprendre d’abord que mount
(la commande et l’appel système) c’est beaucoup plus que ce qui est listé normalement dans /etc/fstab
. Ce n’est pas en copiant les informations données par la commande mount
(depuis un système qui fonctionne bien) dans un fichier /etc/fstab
qu’on va y arriver
Comme vous l’avez remarqué les gentils développeurs Debian vous ont concocté un système minimal que vous avez pu créer avec debootstrap
et un fichier fstab
vide. Après déploiement (insertion de la carte RIoTboard
), vous avez un système fonctionnel. Cette magie est possible car le système d’amorçage uboot
a chargé le noyau en indiquant où se trouvait la partition qui contient le système de fichier racine et peut-être que c’est du ext4
.
Le noyau monte donc le système de fichiers racine et s’aperçoit que /etc/fstab
est vide (avant que vous n’interveniez ).
Dans un fichier fstab
on a d’après
man fstab
une description par ligne de systèmes de fichiers. Chaque ligne comprend 6 champs.
Dans le cas présent, nous n’avons pas de système de fichiers distant, seulement des périphériques bloc (partitions).
Vous n’avez semble-t-il que deux partitions sur la carte disque, pas de swap. Un fichier fstab
raisonnable serait dans votre cas
# /dev/mmcblk1p1
UUID=b3a410e3-fe49-4d95-b106-213598b8bb27 / ext4 errors=remount-ro 0 1
# /dev/mmcblk1p2
UUID=b252b3fe-0f19-4717-8b24-0eb395cac7aa /home ext4 defaults 0 0
Avec un point de montage un peu moins tordu pour la partition 2
Ne surtout pas mettre des entrées de type tmpfs
devpts
cgroup
et autre fuse-lachin
dans votre fstab
, seulement des vrais types de systèmes de fichiers attachés localement ( ext4, xfs, … ) ou FS distants ( nfs, cifs, …) ou none
pour du swap dans le style
UUID=5fdb9c24-df72-4191-b4bf-766e1c234dff none swap sw 0 0
Après rétablissement d’un fstab
normal (Hollandais), donnez nous la sortie de
lsblk
df -hT | fgrep -v tmpfs
Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة
F. Petitjean
« Il semble que la perfection soit atteinte, non quand il n’y a
plus rien à ajouter mais quand il n’y a plus rien à retrancher »
Saint-Exupéry -Terre des hommes , chapitre III , L’avion.
Merci littlejohn75 pour ces explications, et pas de problème MicP pour la modif, c’est plus clair. Il faut dire que j’ai passé un peu de temps à chercher la syntaxe utilisée sur ce forum, et je n’ai rien trouvé, je continue donc exclusivement à utiliser les boutons de la zone de saisie Je continuerai les recherches plus tard.
Revenons à nos moutons.
En fait, j’avais au départ fait un fstab minimal, mais cela n’avait pas fonctionné. Heureusement, je garde les fstab de chaque étape que j’ai réalisée, et je viens de me rendre compte que le premier qui ne contenait que le montage de la partition système, avait une erreur dans l’UUID Donc, j’ai retenté la chose, et on avance
Voici donc le fstab actuel :
# /dev/mmcblk1p1 UUID=b3a410e3-fe49-4d95-b106-213598b8bb27 / ext4 errors=remount-ro 0 1
Je n’ai pas besoin de la 2e partition, le /home est toujours sur la première pour l’instant. Maintenant, le boot s’effectue ‘presque’ normalement. Je n’ai plus besoin de la console série, j’ai un shell qui s’affiche sur l’écran LVDS de ma RIoTboard. Par contre, l’environnement graphique ne démarre pas, j’ai remarqué aussi que la partition est montée en lecture seule.
# mount | grep mmcblk1 /dev/mmcblk1p1 on / type ext4 (ro,relatime,errors=remount-ro)
J’ai essayé de placer explicitement rw dans les options de montage, cela ne change rien.
Malgré tout, j’arrive à me logger, j’arrive même à me connecter en SSH, ce qui est un grand pas de fait ! Le résultat des commandes que vous m’avez conseillées sont les suivantes :
# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk0rpmb 179:24 0 128K 0 disk mmcblk0boot0 179:8 0 2M 1 disk mmcblk0boot1 179:16 0 2M 1 disk mmcblk0 179:0 0 3,6G 0 disk ├─mmcblk0p1 179:1 0 8M 0 part ├─mmcblk0p2 179:2 0 8M 0 part ├─mmcblk0p3 179:3 0 1K 0 part ├─mmcblk0p4 179:4 0 2,5G 0 part ├─mmcblk0p5 179:5 0 512M 0 part ├─mmcblk0p6 179:6 0 512M 0 part └─mmcblk0p7 179:7 0 8M 0 part mmcblk1 179:32 0 7,5G 0 disk ├─mmcblk1p1 179:33 0 3G 0 part / └─mmcblk1p2 179:34 0 500M 0 part
# df -hT | fgrep -v tmpfs Sys. de fichiers Type Taille Utilisé Dispo Uti% Monté sur /dev/root ext4 3,0G 2,1G 805M 72% /
Essayez de modifier votre fstab
avec
UUID=b3a410e3-fe49-4d95-b106-213598b8bb27 / ext4 defaults,errors=remount-ro 0 1
c’est-à-dire en mettant explicitement defaults dans les options.
Pour la syntaxe utilisée dans ce forum, si vous voulez insérer une commande et son retour, il faut
-
une ligne de balise ne contenant que 3 caractères backticks (AltGr+7 )
-
les lignes commandes et retours copiés depuis le terminal
-
Une balise de fermeture (comme en 1, 3 fois AltGr+7 )
Les puristes peuvent ajouter un type d’interpréteur (bash, perl, python, …) sur la ligne de balise ouvrante.
En espérant que c’est le montage en lecture seule de la racine qui empêche l’environnement graphique d’apparaître (voir les journaux ),
Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة
F. Petitjean
Ingénieur civil du Génie Maritime.
« Celui qui, parti de rien, n’est arrivé nulle part n’a de merci à dire à personne !! »
Pierre Dac
Non, rien à faire, toujours en ro malgré le defaults. Par contre, j’ai supprimé l’option errors=remount-ro et là, miracle, tout fonctionne de nouveau. Quelqu’un a une explication ?
Tout ? Même le graphique ?
Content pour vous
Amorçage via uboot ? Avez-vous vu les journaux ? Que donne dmesg
?
Mit freundlichen Grüßen,
مع تحياتي الخالصة
F. Petitjean
« La perfection est atteinte, non pas lorsqu’il n’y a plus rien à ajouter, mais lorsqu’il n’y a plus rien à retirer. »
Antoine de Saint-Exupéry
Bah “errors=remount-ro” ça veut dire ce que ça veut dire
Maintenant quelle est l’erreur détéctée avant le remontage en read-only…
Bonjour à tous,
Merci littlejohn et GOGI pour votre aide.
GOGI:
Bah “errors=remount-ro” ça veut dire ce que ça veut dire
Oui, bien sûr , mais quel type d’erreur ? Je pensais que cette option de montage concernait une erreur au niveau du filesystem. Hors, la seule erreur que j’ai, correspond à l’absence de la camera alors que le module est chargé par le kernel.
[ 7.631393] ERROR: v4l2 capture: slave not found! [ 7.983678] EXT4-fs (mmcblk1p1): re-mounted. Opts: (null) [ 8.276660] systemd-journald[178]: Received request to flush runtime journal from PID 1
Si c’est cela qui cause le remontage de la partition, je ne comprends pas bien cette façon d’agir. Quel rapport entre la caméra et le fait de devoir remonter la partition ? Dès que j’ai un peu de temps, je vais recompiler le kernel sans le support des caméras, pour confirmer que cela vient bien de là.
Je ne pourrais pas t’aider davantage sur ce point car je n’y pratiquement jamais été confronté, mais je ne pense pas que ce soit ce genre d’erreur qui induit un remontage en mode read-only, dans le sens où cette erreur n’est pas une erreur fatale au fonctionnement du système…
Peut-être voir à faire un fsck…
Bonjour à tous,
J’ai donc continué mes expérimentations sur le fstab. Alors, en premier lieu, j’ai fait un fsck sur les partitions de la SD, cela m’a trouvé quelques erreurs, je les ai corrigées, mais rien de nouveau, ma partition est remontée en read-only et le système ne démarre pas. J’ai recompilé le kernel en supprimant les drivers v4l2, l’erreur a donc bien disparu, et maintenant je reboot correctement. Je ne comprends pas pourquoi, mais c’est ainsi.
Par contre, j’ai toujours la ligne : EXT4-fs (mmcblk1p1): re-mounted. Opts: error=remount-ro
. Pourtant, ma partition est bien en rw et tout le système fonctionne. J’avoue que je n’y comprends plus rien.
J’ai ensuite ajouter un montage de /tmp en mémoire, cela a fonctionné et tout semble OK.
J’ai ensuite voulu monter la deuxième partition de la SD en ajoutant dans le fstab UUID=...... /media/automate/home ext4 rw,noatime,errors=remount-ro 0 0```, et bien je retombe sur le même problème, pas de démarrage du système. Cette fois-ci, j'avais l'erreur
[DEPEND] Dependency failed`` sur le montage de cette partition. J’ai fais quelques recherches et je suis tombé là-dessus : http://stackoverflow.com/questions/23371594/systemd-udev-dependency-failure-when-auto-mounting-separate-partition-during-sta
J’ai donc recompilé le kernel en activant CONFIG_FHANDLE, et maintenant tout se monte correctement et le système fonctionne
Je n’ai pas compris toutes les interactions entre les différentes choses, mais maintenant, j’ai un système qui fonctionne et je ne vais pas chercher plus loin, je manque de temps. Merci à ceux qui m’ont aidés et si vous avez d’autres commentaires à faire pour expliquer ces phénomènes, je suis toujours preneur.
Salut,
Ça il me semble que c’est normal, enfin de mémoire il me semble que du temps où j’étais en EXT4 j’avais toujours cette ligne également, dans le cadre d’un démarrage normal je parle bien sûr… Je m’étais posé la question aussi à l’époque mais je n’ai jamais été au bout de l’investigation.