= CLOOP = cloop ist ein komprimiertes Dateisystem, welches die Linux-Distribution KNOPPIX von Klaus Knopper auf der Live-DVD benutzt und ins Filesystem einhängt. LINBO benutzt für die Partitionsimages ebenfalls cloop-Dateien. == Manipulation eines vorhandenen cloop == Die Manipulation von von LINBO erstellten cloops wird hier beschrieben: https://www.linuxmuster.net/wiki/anwenderwiki:linbo:cloop_image_mounten == Kernelmodul kompilieren == * Die Knoppix-Sourcen herunterladen von * zu aktuellen Kernelversionen gibt es derzeit leider keine Packages mehr * Kernel 4.9 http://debian-knoppix.alioth.debian.org/packages/linux-source-4.9.6 [[BR]] zu Kernel 4.9 liegen die Sourcen auf dem Paedml (/root/virtualXPtest/cloop-) * Kernel 4.7 http://debian-knoppix.alioth.debian.org/packages/linux-source-4.7.3 [[BR]] zu Kernel 4.7 liegen die Sourcen auf dem Paedml (/root/virtualXPtest) * Kernel 3.X (X>14) https://launchpad.net/ubuntu/+archive/primary/+files/cloop_3.14.1.2ubuntu1.tar.xz [[BR]] zu Kernel 3.14 liegen die Sourcen auf dem Paedml (/root/virtualXPtest) * Kernel 2.X bis 3.X https://launchpad.net/ubuntu/+archive/primary/+files/cloop_2.6.39.2.orig.tar.xz [[BR]] dieses Modul ist aktuell auf dem paedml installiert (/usr/src/cloop-3/) * Im deb-Archiv (Öffnen mit Archivverwaltung) findet sich * in data.tar.xz -> auch mit Archivverwaltung öffnen * in ./usr/source/linux-source[...].tar.bz2[[BR]] /drivers/block/cloop.c[[BR]] /drivers/block/cloop.h[[BR]] in einen Ordner (/cloop) entpackt * Dazu habe ich das Makefile aus https://launchpad.net/ubuntu/+archive/primary/+files/cloop_3.14.1.2ubuntu1.tar.xz entpackt * make module[[BR]] erzeugt dann das cloop.ko * cloop.ko kopieren nach /lib/modules/`uname -r` * cd /lib/modules/`uname -r` * depmod[[BR]] aktualisiert die vorhandenen Module == Ein cloop einhängen == {{{ modprobe cloop file=/pfad/zum/cloop mount -r /dev/cloop0 /mountpoint }}} == und wieder aushängen == {{{ umount /mountpoint rmmod cloop }}} == Ein Test-cloop erstellen == Achtung - bei folgender Methode wird ein read-only-Image erstellt: {{{ mkisofs -R -l -o /pfad/zur/loop-Datei /pfad/zum/Inhalt }}} Damit kann man dann gleich das cloop erstellen: {{{ mkisofs -R -l /pfad/zum/Inhalt | create_compressed_fs - 65536 > /pfad/zur/cloop-Datei }}} Wenn es ein RW-loop-Image werden soll, dann {{{ dd if=/dev/zero of=/pfad/zur/loop-Datei bs=1024M count=3 # Das wird dann 3GB groß losetup /dev/loop0 /pfad/zur/loop-Datei # Hängt das Image nach /dev/loop0 mkfs.ext4 /dev/loop0 # Ext4 einrichten losetup -d /dev/loop0 }}} Das kann man dann mounten und reinschreiben: {{{ mount -o loop /pfad/zur/loop-Datei # Mount macht die zwei Schritte hier automatisch losetup /dev/loopX /pfad/zur/loop-Datei mount /dev/loopX }}}