Page 1 sur 1

[udisksctl] monter une clef usb "iso hybride" (résolu)

Publié : lun. 07 avr. 2014, 11:13
par vintherine
Bonjour,

soit une clef usb créée, par exemple, à partir d'une image iso hybride, comme une clef d'installation de Archlinux. Elle est composée de 2 partitions, l'une au format iso9660 et l'autre au format vfat pour l'EFI. /dev/sdb1 et /dev/sdb2 par exemple

avec la première version de udisks il est possible de monter la clef elle-même (/dev/sdb), pour laquelle lsblk fait apparaître un système de fichier iso9660.

Code : Tout sélectionner

udisks --mount /dev/sdb
avec cette solution on dispose de toute la clef, la partition vfat est "montée" dans le répertoire EFI de la première partition

pour démonter c'est aussi simple

Code : Tout sélectionner

udisks --unmount /dev/sdb
Seulement voila, j'aimerai que ceci soit compatible (démontable) avec les navigateurs de fichiers (pcmanfm, thunar, dolphin....) mais ceux-ci utilisent non plus udisks mais udisksctl (du paquet udisk2). Et avec cette commande je ne trouve pas comment faire.

Code : Tout sélectionner

udisksctl mount -b /dev/sdb
me renvoie

Code : Tout sélectionner

Object /org/freedesktop/UDisks2/block_devices/sdb is not a mountable filesystem.
Selon quelques lectures (par ex: http://igurublog.wordpress.com/2012/03/ ... for-linux/) udisks2 est une vraie régression par rapport à la première version. Est-ce donc seulement possible ?

Dans l'expectative contraire existe-t-il une alternative ? Fuse ?

Merci d'avance

Re: [udisksctl] monter une clef usb bootable "iso hybride"

Publié : lun. 07 avr. 2014, 11:27
par benjarobin
Désolé de dire que ton article est juste un troll de première.
Tout est possible, il suffit de lire le man de udisk2 et d'utiliser dbus. Mais en effet cela peut être perturbant la première fois...

Re: [udisksctl] monter une clef usb bootable "iso hybride"

Publié : lun. 07 avr. 2014, 11:29
par vintherine
je suis sans doute un peu bas du front mais j'ai lu et relu le man, et passé des heures carrées à rechercher sur le web. Alors si tu pouvais avoir la gentillesse de me donner la solution que je n'ai pas trouvé ce serait gentil de ta part.

Et crois-le ou pas, il n'y a aucun esprit de troll dans ma question.

Re: [udisksctl] monter une clef usb bootable "iso hybride"

Publié : lun. 07 avr. 2014, 12:36
par tuxce
Monte la première partition au lieu du disque :

Code : Tout sélectionner

udisksctl mount -b /dev/sdb1
Le système iso9660 est encapsulé dans la 1ere partition.
vintherine a écrit : on dispose de toute la clef, la partition vfat est "montée" dans le répertoire EFI de la première partition
Je suis pas sûr, si tu montes /dev/sdc, tu as normalement un EFI/archiso/efiboot.img et non le contenu de la 2ème partition.

Après, pourquoi avec udisks (et mount) ça fonctionne, et avec udisksctl non, ça doit être la manière de détecter les partitions.

Re: [udisksctl] monter une clef usb bootable "iso hybride"

Publié : lun. 07 avr. 2014, 12:54
par vintherine
Monte la première partition au lieu du disque :

Code : Tout sélectionner

udisksctl mount -b /dev/sdb1
oui, comme cela ça marche, et je peux monter aussi /dev/sdb2 ailleurs qui sera dans /run/etc... Mais ce n'est pas ce que l'on obtient avec udisks (V1)

Méthode udisksctl :

Code : Tout sélectionner

[vincent@Astor]$ udisksctl mount --block-device /dev/sdd1
Mounted /dev/sdd1 at /run/media/vincent/ARCH_201311.
[vincent@Astor]$ ls /run/media/vincent/ARCH_201311
arch  EFI  isolinux  loader
[vincent@Astor]$ ls /run/media/vincent/ARCHISO_EFI/EFI/
archiso  boot  shellx64_v1.efi  shellx64_v2.efi
[vincent@Astor]$ udisksctl mount --block-device /dev/sdd2
Mounted /dev/sdd2 at /run/media/vincent/ARCHISO_EFI.
[vincent@Astor]$ ls /run/media/vincent/ARCHISO_EFI
EFI  loader
Méthode udisks (V1) :

Code : Tout sélectionner

[vincent@Astor]$ udisks --mount /dev/sdd
Mounted /org/freedesktop/UDisks/devices/sdd at /media/ARCH_201311
[vincent@Astor]$ ls /media/ARCH_201311
arch  EFI  isolinux  loader
[vincent@Astor]$ ls /media/ARCH_201311/EFI
archiso  boot  shellx64_v1.efi  shellx64_v2.efi
je m'exprime sans doute mal mais le test n'est pas difficile à reproduire : il suffit de créer une clef bootable avec une image archlinux

EDIT : Bon, mettons que je n'ai rien dit :oops:

en fait il y a la même chose dans les répertoire EFI, donc monter /dev/sdb ou /dev/sdb1 semble effectivement revenir au même.

J'aimerai juste y comprendre quelque chose

Re: [udisksctl] monter une clef usb bootable "iso hybride"

Publié : lun. 07 avr. 2014, 16:42
par tuxce
Le principe d'une image hybride est d'être reconnue en même temps comme disque iso9660 (typiquement un CD-ROM) et comme disque avec un partitionnement DOS.
Et pour arriver à ce résultat, le contenu du CD est encapsulé dans une partition qui commence sur le secteur 0 (au lieu du 63 ou autre habituellement).
Le souci, c'est que des programmes comme udisks2 ou gparted s'embrouillent, alors est ce que c'est parce qu'ils détectent plus de choses et ne savent pas où donner de la tête ou parce qu'ils s'arrêtent au premier truc détectée ... bref, perso, pour des cas comme ça où c'est un peu spécial (à la base, c'est fait pour gruger le bios), du moment que ça fonctionne d'une manière, ça me va.

La 2ème partition, c'est encore autre chose, elle fait partie de la première mais est sur un autre système de fichier. Si je ne me trompe pas, elle correspond à efiboot.img

Re: [udisksctl] monter une clef usb bootable "iso hybride"

Publié : lun. 07 avr. 2014, 21:06
par vintherine
Merci beaucoup pour tes explications. Une dernière questions toutefois, si je n'abuse pas : existe-t-il d'autres cas de figure où le système de fichier est installé directement sur la racine du disque, c.à.d. sans partitionnement ? Il me semble avoir vu ça dans le passé.

Re: [udisksctl] monter une clef usb "iso hybride" (résolu)

Publié : lun. 07 avr. 2014, 21:17
par benjarobin
Personnellement je vois le cas lors d'un RAID logiciel (mdadm), on assemble plusieurs disques/partitions, ce qui nous donne un disque "virtuel" représentant le RAID. Il est courant de ne pas créer de table de partition si on veut que tout le volume ne soit qu'une seule partition.
Sinon à part les clé USB (ce n'est pas forcément recommandé, mais je l'ai déjà vu), je ne vois pas beaucoup d'autre cas ou tu n'as aucune table de partition

Re: [udisksctl] monter une clef usb "iso hybride" (résolu)

Publié : mar. 08 avr. 2014, 08:59
par oktoberfest
Dans le cas du LVM on peut aussi utiliser directement un disque sans le partitionner. C'est le même principe que pour le RAID. Dans les deux cas, c'est le device mapper qui va gérer le volume, le partitionnement n'a pas d'intérêt.

Re: [udisksctl] monter une clef usb "iso hybride" (résolu)

Publié : mer. 09 avr. 2014, 22:41
par vintherine
Je vous remercie