Squashfs recipe.
authorRichard W.M. Jones <rjones@redhat.com>
Fri, 29 May 2009 15:12:51 +0000 (16:12 +0100)
committerRichard W.M. Jones <rjones@redhat.com>
Fri, 29 May 2009 15:12:51 +0000 (16:12 +0100)
recipes/README
recipes/squashfs.example [new file with mode: 0644]
recipes/squashfs.html [new file with mode: 0644]
recipes/squashfs.sh [new file with mode: 0755]
recipes/squashfs.title [new file with mode: 0644]
recipes/tar2vm.html

index 6f7e255..88b3919 100644 (file)
@@ -7,8 +7,8 @@ http://et.redhat.com/~rjones/libguestfs/recipes.html
 The format for each recipe is:
 
   foo.sh           Shell script, using guestfish.
-  foo.html         HTML snippet describing the recipe (should start
-                   with <h2>..</h2> giving the title of the recipe)
+  foo.title        The title of the recipe.
+  foo.html         HTML snippet describing the recipe.
   foo.example      Plain text snippet showing example output.
 
 Everything in the recipes/ directory may be used and distributed
diff --git a/recipes/squashfs.example b/recipes/squashfs.example
new file mode 100644 (file)
index 0000000..9dae930
--- /dev/null
@@ -0,0 +1,37 @@
+$ squashfs.sh
+Parallel mksquashfs: Using 2 processors
+Creating 4.0 filesystem on test.sqsh, block size 131072.
+[===============================================================|] 663/663 100%
+Exportable Squashfs 4.0 filesystem, data block size 131072
+       compressed data, compressed metadata, compressed fragments
+       duplicates are removed
+Filesystem size 1518.07 Kbytes (1.48 Mbytes)
+       98.41% of uncompressed filesystem size (1542.53 Kbytes)
+Inode table size 8095 bytes (7.91 Kbytes)
+       35.59% of uncompressed inode table size (22748 bytes)
+Directory table size 7612 bytes (7.43 Kbytes)
+       49.11% of uncompressed directory table size (15499 bytes)
+Number of duplicate files found 6
+Number of inodes 701
+Number of files 663
+Number of fragments 13
+Number of symbolic links  37
+Number of device nodes 0
+Number of fifo nodes 0
+Number of socket nodes 0
+Number of directories 1
+Number of ids (unique uids + gids) 1
+Number of uids 1
+       root (0)
+Number of gids 1
+       root (0)
+total 1732
+drwxr-xr-x  2 root root 15498 May 27 10:34 .
+drwxr-xr-x 18 root root     0 May 29 08:44 ..
+-rw-r--r--  1 root root   345 Mar  3 17:53 Kobil_mIDentity_switch.8.gz
+-rw-r--r--  1 root root  4878 Mar  8 14:50 MAKEDEV.8.gz
+-rw-r--r--  1 root root  1278 May  5 11:36 NetworkManager.8.gz
+-rw-r--r--  1 root root  2938 Apr 10 12:15 PAM.8.gz
+-rw-r--r--  1 root root   736 Feb 24 20:25 PolicyKit.8.gz
+lrwxrwxrwx  1 root root    15 May 14 06:41 accept.8.gz -> cupsaccept.8.gz
+
diff --git a/recipes/squashfs.html b/recipes/squashfs.html
new file mode 100644 (file)
index 0000000..6b989a0
--- /dev/null
@@ -0,0 +1,16 @@
+<p>
+You can use squashfs to import large amounts of data
+into a guest.  First you prepare the squashfs image:
+</p>
+
+<pre>
+/sbin/mksquashfs data <i>[...]</i> data.sqsh
+</pre>
+
+<p>
+and then you can add it to the guest as an extra data
+drive.  In the example below, we show how to make a
+squashfs from the contents of some local directory
+(<code>/usr/share/man/man8</code> in this example)
+and then make that appear in the guest.
+</p>
diff --git a/recipes/squashfs.sh b/recipes/squashfs.sh
new file mode 100755 (executable)
index 0000000..3daaf2e
--- /dev/null
@@ -0,0 +1,12 @@
+#!/bin/sh -
+
+datadir=/usr/share/man/man8
+/sbin/mksquashfs $datadir test.sqsh
+
+guestfish <<EOF
+alloc test.img 10M
+add test.sqsh
+run
+mount /dev/sdb /
+ll /
+EOF
diff --git a/recipes/squashfs.title b/recipes/squashfs.title
new file mode 100644 (file)
index 0000000..b2701c6
--- /dev/null
@@ -0,0 +1 @@
+Mount data in a guest using squashfs
\ No newline at end of file
index a0ad29c..7350549 100644 (file)
@@ -19,3 +19,7 @@ the contents of the tarball, but not too large that there is too much
 wasted space (unless you want to give the VM extra working space of
 course).
 </p>
+
+<p>
+Alternatively use <a href="#squashfs">a squashfs</a>.
+</p>