Crouton: Montage cyclique du système de fichiers lors de l'exécution de chroot à partir d'un périphérique USB amovible

Créé le 18 févr. 2015  ·  4Commentaires  ·  Source: dnschneid/crouton

Système:

HP Chromebook 11 (ARM)

Conditions préalables :

Créez des croûtons avec :

sudo sh crouton -p /media/removable/MyDrive/ -r trusty -t xfce

où MyDrive est un périphérique USB amovible.

Étapes de reproduction :

sudo sh -e /media/removable/MyDrive/startxfce4
...
quitter le chroot (déconnecter)
tentative d'éjection du lecteur dans l'application "Fichiers" - échec
essayer de démonter le lecteur via shell

Résultat attendu:

Disque démonté

Résultat actuel:

À partir de l'application Fichiers, ChromeOS affiche une boîte de dialogue indiquant que vous devez attendre la fin d'une opération de lecteur
Depuis le shell, umount indique que le périphérique est occupé, indiquant ce chemin :

/run/crouton/media/removable/MyDrive/chroots/trusty/var/host/media/removable/MyDrive/chroots/trusty/var/host/media/removable/MyDrive

est toujours en cours d'utilisation. En conséquence, le lecteur ne peut pas être retiré du système en toute sécurité, et sa suppression de manière dangereuse provoque des dommages au système de fichiers qui rendent le chroot inutilisable. Notez le beau cycle du système de fichiers.

solution de contournement

Montez le lecteur dans un emplacement différent de celui par défaut qui n'est pas monté automatiquement dans le chroot.

Je pensais juste signaler cela, c'est un problème intéressant avec les clés USB, mais qui peut être évité assez facilement.

bug

Commentaire le plus utile

Bizarre, je ne sais pas pourquoi les points de montage se reflètent dans /media... c'est tout l'intérêt du répertoire /run/crouton shadow. Merci d'avoir soulevé cela.

Tous les 4 commentaires

Bizarre, je ne sais pas pourquoi les points de montage se reflètent dans /media... c'est tout l'intérêt du répertoire /run/crouton shadow. Merci d'avoir soulevé cela.

Je pense que /media est le montage par défaut pour /dev/[périphériques amovibles] et comme la gestion de l'alimentation et la mise en réseau, le système d'exploitation hôte peut dire si quelque chose est branché ou supprimé, mais comme le chroot peut aussi, ou même s'arrêter, le l'hôte pense qu'il n'est peut-être pas dans un état sûr pour l'éjection.

Le démontage du chroot peut-il forcer l'éjection des périphériques /media ? De plus, comment les cartes USB et SD fonctionneront-elles avec plusieurs utilisateurs Chrome connectés en même temps, le premier utilisateur de bureau ayant également un chroot ? Qui est propriétaire et que sont les permanentes ?

J'ai le même problème avec le dernier croûton sur Acer C720 :

croûton : version 1-2051013174138~ maître : 488c9e21

La solution temporaire (comme suggéré) est de renommer le répertoire /media/removable/[card]/chroots
à autre chose, par exemple :
/media/removable/kingusb3/chroots_new

puis lancez le chroot avec :

sudo sh /media/removable/kingusb3/bin/enter-chroot -c /media/removable/kingusb3/chroots_new -n trusty

Cependant, cela présente l'inconvénient que lorsque j'essaie de mettre à jour le chroot avec la commande :

sudo sh ~/Téléchargements/crouton -u -n trusty -p /media/removable/kingusb3/chroots-new/

le script crouton cherche toujours un répertoire chroots "standard":

/media/removable/kingusb3/chroots-new/chroots

et se termine avec une erreur :

/media/removable/kingusb3/chroots-new/chroots/trusty n'existe pas ; ne peut pas mettre à jour.

Je pense qu'il serait très utile de régler ce problème de montage cyclique

J'ai rencontré ce problème avec la dernière version de Crouton avec le chemin de stockage "/media/removable/PNY64". La solution de contournement prescrite par kiorpesc a été efficace et la transcription du shell ci-dessous montre les étapes que j'ai suivies.

chronos<strong i="6">@localhost</strong> /usr/local/bin $ sudo sh ./crouton -V
Downloading latest crouton installer...
######################################################################## 100.0%
crouton: version 1-20170315143304~master:95589555

chronos<strong i="7">@localhost</strong> /usr/local/bin $ sudo mkdir -pv /var/run/mount/PNY64
mkdir: created directory ‘/var/run/mount/PNY64’

chronos<strong i="8">@localhost</strong> /usr/local/bin $ sudo mount -v /dev/sdc2 /var/run/mount/PNY64
mount: /dev/sdc2 mounted on /run/mount/PNY64.

chronos<strong i="9">@localhost</strong> /usr/local/bin $ cd /var/run/mount/PNY64/bin/

chronos<strong i="10">@localhost</strong> /var/run/mount/PNY64/bin $ sudo ./startxfce

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

harryprince picture harryprince  ·  3Commentaires

killshot13 picture killshot13  ·  3Commentaires

rossjrw picture rossjrw  ·  5Commentaires

tedm picture tedm  ·  3Commentaires

Taylormsz picture Taylormsz  ·  5Commentaires