diff options
| author | Dirk | 2014-02-21 11:16:02 +0100 |
|---|---|---|
| committer | Dirk | 2014-02-21 11:16:02 +0100 |
| commit | 1e30627c5b00884054fae7210d036e34ebe4f181 (patch) | |
| tree | 6d258c5a7a2279881706f38e37921dc4557a0b8d /server/includes | |
| parent | Setzen des Windows-Namens beim Booten aus Laufwerk B: (diff) | |
| parent | [nvidia_libs] Debug: Checkin für Joey:). (diff) | |
| download | tm-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.inc | 23 |
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" } |
