From 04d18f558743aa5b3430fe71fc8f9d7facd489ea Mon Sep 17 00:00:00 2001 From: Harald Hoyer Date: Sat, 30 Jun 2012 11:34:46 +0200 Subject: [PATCH] add "--hardlink" "--nohardlink" options --- dracut.8.asc | 10 ++++++++-- dracut.sh | 20 ++++++++++++++------ 2 files changed, 22 insertions(+), 8 deletions(-) diff --git a/dracut.8.asc b/dracut.8.asc index bab5996..196e2e8 100644 --- a/dracut.8.asc +++ b/dracut.8.asc @@ -183,10 +183,16 @@ example: inhibit installation of any fsck tools **--strip**:: - strip binaries in the initramfs (default) + strip binaries in the initramfs **--nostrip**:: - do not strip binaries in the initramfs + do not strip binaries in the initramfs (default) + +**--hardlink**:: + hardlink files in the initramfs (default) + +**--nohardlink**:: + do not hardlink files in the initramfs **--prefix** __:: prefix initramfs files with the specified directory diff --git a/dracut.sh b/dracut.sh index 7ca3e8d..4a6d5c7 100755 --- a/dracut.sh +++ b/dracut.sh @@ -65,6 +65,8 @@ Creates initial ramdisk images for preloading modules --no-kernel Do not install kernel drivers and firmware files --strip Strip binaries in the initramfs --nostrip Do not strip binaries in the initramfs (default) + --hardlink Hardlink files in the initramfs (default) + --nohardlink Do not hardlink files in the initramfs --prefix [DIR] Prefix initramfs files with [DIR] --noprefix Do not prefix initramfs files (default) --mdadmconf Include local /etc/mdadm.conf @@ -251,6 +253,8 @@ while (($# > 0)); do --no-kernel) kernel_only="no"; no_kernel="yes";; --strip) do_strip_l="yes";; --nostrip) do_strip_l="no";; + --hardlink) do_hardlink_l="yes";; + --nohardlink) do_hardlink_l="no";; --noprefix) prefix_l="/";; --mdadmconf) mdadmconf_l="yes";; --nomdadmconf) mdadmconf_l="no";; @@ -434,6 +438,9 @@ stdloglvl=$((stdloglvl + verbosity_mod_l)) [[ $drivers_dir_l ]] && drivers_dir=$drivers_dir_l [[ $do_strip_l ]] && do_strip=$do_strip_l +[[ $do_strip ]] || do_strip=no +[[ $do_hardlink_l ]] && do_hardlink=$do_hardlink_l +[[ $do_hardlink ]] || do_hardlink=yes [[ $prefix_l ]] && prefix=$prefix_l [[ $prefix = "/" ]] && unset prefix [[ $hostonly_l ]] && hostonly=$hostonly_l @@ -444,7 +451,6 @@ stdloglvl=$((stdloglvl + verbosity_mod_l)) [[ $fw_dir ]] || fw_dir="/lib/firmware/updates /lib/firmware" [[ $tmpdir_l ]] && tmpdir="$tmpdir_l" [[ $tmpdir ]] || tmpdir=/var/tmp -[[ $do_strip ]] || do_strip=no [[ $compress_l ]] && compress=$compress_l [[ $show_modules_l ]] && show_modules=$show_modules_l [[ $nofscks_l ]] && nofscks="yes" @@ -883,11 +889,13 @@ if [[ $do_strip = yes ]] ; then dinfo "*** Stripping files done ***" fi -type hardlink &>/dev/null && { - dinfo "*** hardlinking files ***" - hardlink "$initdir" 2>&1 - dinfo "*** hardlinking files done ***" -} +if [[ $do_hardlink = yes ]] ; then + type hardlink &>/dev/null && { + dinfo "*** hardlinking files ***" + hardlink "$initdir" 2>&1 + dinfo "*** hardlinking files done ***" + } +fi dinfo "*** Creating image file ***" if ! ( cd "$initdir"; find . |cpio -R 0:0 -H newc -o --quiet| \