summaryrefslogtreecommitdiffstats
path: root/server/includes
diff options
context:
space:
mode:
authorDirk2014-02-21 11:16:02 +0100
committerDirk2014-02-21 11:16:02 +0100
commit1e30627c5b00884054fae7210d036e34ebe4f181 (patch)
tree6d258c5a7a2279881706f38e37921dc4557a0b8d /server/includes
parentSetzen des Windows-Namens beim Booten aus Laufwerk B: (diff)
parent[nvidia_libs] Debug: Checkin für Joey:). (diff)
downloadtm-scripts-1e30627c5b00884054fae7210d036e34ebe4f181.tar.gz
tm-scripts-1e30627c5b00884054fae7210d036e34ebe4f181.tar.xz
tm-scripts-1e30627c5b00884054fae7210d036e34ebe4f181.zip
Merge branch 'master' of git.openslx.org:openslx-ng/tm-scripts
...
Diffstat (limited to 'server/includes')
-rw-r--r--server/includes/packing.inc23
1 files changed, 19 insertions, 4 deletions
diff --git a/server/includes/packing.inc b/server/includes/packing.inc
index 85d28de4..d24c8e51 100644
--- a/server/includes/packing.inc
+++ b/server/includes/packing.inc
@@ -7,7 +7,7 @@
# generate_initramfs "./server/boot/stage32_sqfs" "./mnt/openslx.sqfs" "./server/boot/initramfs2"
# generate_initramfs "./server/build/stage31" "." "./server/boot/initramfs"
generate_initramfs() {
- [ $# -ne 3 ] && perror "Sanity check failed: generate_initramfs needs exactly two params, but $# were given."
+ [ $# -lt 3 ] && perror "Sanity check failed: generate_initramfs needs at least three params, but $# were given."
cd "$1" || perror "Cannot cd to '$1'"
rm -f -- "$3"
@@ -23,14 +23,29 @@ generate_initramfs() {
# generates squashfs of directory
# usage:
-# generate_squashfs <source_dir> <destination_dir/filename>
+# generate_squashfs <source_dir> <destination_dir/filename> [ignore_root]
generate_squashfs() {
- [ $# -ne 2 ] && perror "Sanity check failed: generate_squashfs needs exactly two params, but $# were given."
+ [ $# -lt 2 ] && perror "Sanity check failed: generate_squashfs needs at least two params, but $# were given."
[ -d "$1" ] || perror "$1 is not a directory."
+ local IGNORE="${2}.ignore"
+ truncate -s 0 "$IGNORE"
+ if [ -n "$3" ]; then
+ find "$3" -type f -o -type l | cut -c "$(( ${#3} + 2 ))-" > "$IGNORE"
+ fi
+ # Detect mksquashfs xz support
+ local PARAMS
+ if mksquashfs 2>&1 | grep -A 8 '^-comp' | grep -q '\sxz'; then
+ pinfo "Using xz compression"
+ PARAMS="-comp xz"
+ else
+ pinfo "Using default compression"
+ PARAMS=""
+ fi
rm -f -- "$2"
- mksquashfs "$1" "$2" -comp xz -b 1M -no-recovery >&6 \
+ mksquashfs "$1" "$2" -ef "$IGNORE" $PARAMS -b 1M -no-recovery >&6 \
|| perror "mksquashfs failed ($?)."
pinfo "Created squashfs of $1 at $2"
pinfo "Size: $(du -bsh "$2" | awk 'END {print $1}')"
+ rm -f -- "$IGNORE"
}