Hallo Liste ? Ich habe von mehreren CDs images erstellt, und möchte diese CDs für andere Benutzer freigeben. Leider kann ich nur 8 Images als loop mounten. Gibts da eine Möglichkeit diese Images , sprich die darin enthaltenen Datei freizugeben ? Oder is nach 8 mounts schluß ? (Suse 7.0) Danke, Christian
Am Freitag, 16. Feb. 2001 um 11:56:06, schrieb Christian Stuermer
Hallo Liste ?
Ich habe von mehreren CDs images erstellt, und möchte diese CDs für andere Benutzer freigeben. Leider kann ich nur 8 Images als loop mounten. Gibts da eine Möglichkeit diese Images , sprich die darin enthaltenen Datei freizugeben ? Oder is nach 8 mounts schluß ? (Suse 7.0)
Hallo Christian, schau doch mal unter /dev, wieviel loop-devices du hast. Genau 8. ;-) Wenn du noch mehr brauchst, mußt du die halt erstellen. CU Michael -- "Wir leben in einem freien Land. Von mir aus kannst du dir auch eine Frikadelle ans Knie nageln und so lange drehen bis du UKW empfängst. Iss mir wurscht." -- Jan Torben in de.comp.os.unix.linux misc
On Fri, 16 Feb 2001, Christian Stuermer wrote: Hallo Christian,
Ich habe von mehreren CDs images erstellt, und möchte diese CDs für andere Benutzer freigeben. Leider kann ich nur 8 Images als loop mounten.
Ja, so ist der Kernel konfiguriert.
Gibts da eine Möglichkeit diese Images , sprich die darin enthaltenen Datei freizugeben?
Ja.
Oder is nach 8 mounts schluß ?
Nein. Installier die Kernelquellen und suche die Datei /usr/src/linux/drivers/block/loop.c Dort gibt es ca. in Zeile 60 (ich schaue mir das gerade auf einer Original SuSE 6.1 hier an) den Eintrag #define MAX_LOOP 8 Aendere dort die Zahl 8 auf beispielsweise 16 (steht bei mir auf 32 und funktioniert). Anschliessend musst Du den Kernel neu kompilieren und das System neu booten. Berichte, ob es geklappt hat[1]. Gruss Peter Blancke [1] Ich nehme nicht an, dass sich was zu den aktuelleren Kernelversionen an dieser Einstellmoeglichkeit geaendert hat. -- Nachtwaechter ist der Wahnsinn, weil er wacht...
Hallo, On Fre, 16 Feb 2001, Peter Blancke wrote:
/usr/src/linux/drivers/block/loop.c
Dort gibt es ca. in Zeile 60 (ich schaue mir das gerade auf einer Original SuSE 6.1 hier an) den Eintrag
#define MAX_LOOP 8
[1] Ich nehme nicht an, dass sich was zu den aktuelleren Kernelversionen an dieser Einstellmoeglichkeit geaendert hat.
Doch hat es. Mindestens ab 2.4.0-test4: static int max_loop = 8; [...] MODULE_PARM(max_loop, "i"); MODULE_PARM_DESC(max_loop, "Maximum number of loop devices (1-255)"); Kann also als Parameter fuer's Modul oder bei booten angegeben werden. CU David -- Das Leben ist ein Rollenspiel, in dem man den Endgegner niemals besiegen kann. [WoKo in dag°]
Hi, * On Friday, February 16, 2001 at 19:50, David Haller wrote: [maximale Anzahl Loop-Devices]
Doch hat es. Mindestens ab 2.4.0-test4:
static int max_loop = 8; [...] MODULE_PARM(max_loop, "i"); MODULE_PARM_DESC(max_loop, "Maximum number of loop devices (1-255)");
Kann also als Parameter fuer's Modul oder bei booten angegeben werden.
Oha - da hat jemand das eingebaut, was ich mir immer dachte, daß noch fehlt :-) Ist mount eigentlich auch soweit aufgebügelt worden, daß es mehr als 8 Devices automatisch proben kann? Adalbert
On Fri, 16 Feb 2001, Christian Stuermer wrote: Hallo Christian, mir faellt da gleich noch etwas ein:
Ich habe von mehreren CDs images erstellt, und möchte diese CDs für andere Benutzer freigeben. Leider kann ich nur 8 Images als loop mounten. Gibts da eine Möglichkeit diese Images , sprich die darin enthaltenen Datei freizugeben ? Oder is nach 8 mounts schluß ?
Ausser den geaenderten MAX_LOOPS-Eintrag im Kernel brauchst Du natuerlich auch noch die passenden Mount-Devices, die Du ebenfalls per Hand anlegen musst, denn auch davon wirst Du nur 8 Stueck haben. Das geschieht mit dem Befehl: mknod /dev/loop9 b 7 9 mknod /dev/loop10 b 7 10 und so weiter. Ohne die wirst Du keine Loops mounten koennen. Berichte, ob es geklappt hat. Gruss Peter Blancke -- Nachtwaechter ist der Wahnsinn, weil er wacht...
Hi, * On Friday, February 16, 2001 at 15:09, Peter Blancke wrote:
On Fri, 16 Feb 2001, Christian Stuermer wrote: mir faellt da gleich noch etwas ein:
Ich habe von mehreren CDs images erstellt, und möchte diese CDs für andere Benutzer freigeben. Leider kann ich nur 8 Images als loop mounten. Gibts da eine Möglichkeit diese Images , sprich die darin enthaltenen Datei freizugeben ? Oder is nach 8 mounts schluß ?
Ausser den geaenderten MAX_LOOPS-Eintrag im Kernel brauchst Du natuerlich auch noch die passenden Mount-Devices, die Du ebenfalls per Hand anlegen musst, denn auch davon wirst Du nur 8 Stueck haben.
Das geschieht mit dem Befehl:
mknod /dev/loop9 b 7 9 mknod /dev/loop10 b 7 10
for I in `seq 8 255` ; do mknod /dev/loop$I b 7 $I
und so weiter. Ohne die wirst Du keine Loops mounten koennen.
Berichte, ob es geklappt hat.
funktionieren tut es, zumindest bei mir (Original 2.2.17 + 'ne Menge Patches, aber keine die loop-Devices betreffend). Aber: in lomount.c (package util-linux-2.10f) steht folgendes: -----8<-----snip------ char * find_unused_loop_device (void) { /* Just creating a device, say in /tmp, is probably a bad idea - people might have problems with backup or so. So, we just try /dev/loop[0-7]. */ [...] for(i = 0; i < 256; i++) { sprintf(dev, "/dev/loop%d", i); if (stat (dev, &statbuf) == 0 && S_ISBLK(statbuf.st_mode)) { [...} continue; /* continue trying as long as devices exist */ } if (i >= 7) break; } -----8<-----snip------ Die Routine in mount, die ein freies Device sucht, hat zwar in der Definition der for-Schleife den Bereich 0..255, bricht aber bei 8 die Schleife ab. Das hat die Konsequenz, daß man mit mount -o loop /images/cd1.img /mnt/cd1 nur 8 Images mounten kann. Abhilfe: entweder die Sourcen installieren und das "if(i>=7) break;" rausschmeissen (bzw. 7 auf die höchste Nummer des vorhandenen Devices setzen, falls < 256 Devices), oder das Device mittels mount -o loop=/dev/loop17 /images/cd17.img /mnt/cd17 fix angeben. Ich habe mir ein Skript geschrieben, daß mittels einer Datei /etc/imgtab meine ganzen Images mountet; da kann man auch mount-Optionen, den Offset im File und den Filesystemtyp angeben. Der Offset deswegen, weil ich meine Images mit WinOnCD einlese und die komplette CD in einen File stopfe (nicht trackweise) (läßt sich dann in null-komma-nix brennen) und bei diesem Fileformat vor dem Filesystem noch was anderes drinsteht. Allerdings fehlt dem Skript noch die Möglichkeit nur einzelne CD's zu mounten, und außerdem fehlt noch das unmount-Pendant .... Adalbert
participants (5)
-
Adalbert Michelic
-
Christian Stuermer
-
David Haller
-
Michael Wagner
-
Peter Blancke