Seite 1 von 1

Loopback Device mounten

Verfasst: 07. Jun 2010 19:41
von oclock
Hi,

wie mountet man innerhalb eines c Programms ein Loopback Device?

Als commandline:

mount -t ext2 -o loop,ro file.img mnt

Ich habe es so versucht:

mount("file.img", "mnt", "ext2", MS_RDONLY, "-o loop");

Das tut aber nicht.

Habe ich einen Denkfehler?

Gruß,
Klaus

Verfasst: 07. Jun 2010 20:55
von gronade
Das tut aber nicht.Welcher Fehler war das nochmal??? vergeseen.

Verfasst: 07. Jun 2010 21:26
von Janka
Das Kommando mount gibt einige Optionen (loop, offset, encryption) an losetup weiter. Gemountet wird dann regulär das loop-Device. In einem Executable musst du das von Hand nachbilden. Dazu sei dir der Quellcode von "mount" nahegelegt.

ftp://ftp.de.kernel.org/pub/linux/utils ... 12r.tar.gz
, da drin mount/lomount.c

Durchaus einfacher sollte es sein, einfach per system() oder fork/execv das "mount"-Kommando aufzurufen.

Janka

Verfasst: 07. Jun 2010 23:54
von oclock
Hallo Janka,

vielen Dank für Deinen Hinweis. Ich werde mir den Source ansehen.

Gruß,
Klaus