summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDave Reisner <dreisner@archlinux.org>2013-09-03 01:16:58 +0200
committerDave Reisner <dreisner@archlinux.org>2013-09-07 16:04:21 +0200
commitb5927393d103af9b8b2da80e8636b8aa52f80755 (patch)
tree4f8713331520f5559a0375566d1e31d4b9ed51a6
parent9c1a65a9c82080dec2e52d03613584bbc1340cf0 (diff)
downloadmkinitcpio-b5927393d103af9b8b2da80e8636b8aa52f80755.tar.gz
mkinitcpio-b5927393d103af9b8b2da80e8636b8aa52f80755.tar.xz
lsinitcpio: add support for lz4 compressed image
Note that this requires a very recent version of lz4 utilities as it uses lz4, and not the original lz4c tool, in order to be command line API compliant with other compression tools. See upstream discussions: https://code.google.com/p/lz4/issues/detail?id=83 Signed-off-by: Dave Reisner <dreisner@archlinux.org>
-rw-r--r--PKGBUILD1
-rwxr-xr-xlsinitcpio7
-rw-r--r--mkinitcpio.conf1
3 files changed, 8 insertions, 1 deletions
diff --git a/PKGBUILD b/PKGBUILD
index 440e691..89613a4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -14,6 +14,7 @@ makedepends=('asciidoc' 'git' 'sed')
optdepends=('xz: Use lzma or xz compression for the initramfs image'
'bzip2: Use bzip2 compression for the initramfs image'
'lzop: Use lzo compression for the initramfs image'
+ 'lz4: Use lz4 compression for the initramfs image'
'mkinitcpio-nfs-utils: Support for root filesystem on NFS')
backup=(etc/mkinitcpio.conf)
diff --git a/lsinitcpio b/lsinitcpio
index c1c5e21..5f19326 100755
--- a/lsinitcpio
+++ b/lsinitcpio
@@ -69,7 +69,7 @@ size_to_human() {
}
detect_filetype() {
- case $(hexdump -n 6 -e '"%c"' "$1") in
+ case $(hexdump -n 6 -e '"%c"' "$1") in
'070701')
# no compression
return
@@ -90,6 +90,11 @@ detect_filetype() {
return
fi
+ if [[ $(hexdump -n 4 -e '"%x"' "$1") == '184d2204' ]]; then
+ echo 'lz4'
+ return
+ fi
+
if [[ $(hexdump -n 3 -e '"%c"' "$1") == 'BZh' ]]; then
echo 'bzip2'
return
diff --git a/mkinitcpio.conf b/mkinitcpio.conf
index 7616809..c4d5e06 100644
--- a/mkinitcpio.conf
+++ b/mkinitcpio.conf
@@ -59,6 +59,7 @@ HOOKS="base udev autodetect modconf block filesystems keyboard fsck"
#COMPRESSION="lzma"
#COMPRESSION="xz"
#COMPRESSION="lzop"
+#COMPRESSION="lz4"
# COMPRESSION_OPTIONS
# Additional options for the compressor