dracut.sh: Support --mount with just mountpoint as parameter
PATCH 1/1 dracut.sh: Support --mount with just mountpoint as parameter
Right now the --mount parameter of dracut expects a rather long fstab-like line. This makes it possible to invoke dracut with e.g. --mount /boot.
--- dracut.8.asc | 4 ++++ dracut.sh | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-)
dracut.8.asc +2 -0
@@ -338,6 +338,10 @@ provide a valid _/etc/fstab_. The default _<dump frequency>_ is "0". the default _<fsck order>_ is "2". +**--mount** "_<mountpoint>_":: + Like above, but _<device>_, _<filesystem type>_ and _<filesystem
options>_
+ are determined by looking at the current mounts.
+
**--add-device** _<device>_ ::
Bring up _<device>_ in initramfs, _<device>_ should be the device name. This can be useful in hostonly mode for resume support when your swap is
on
dracut.sh +6 -1
@@ -160,6 +160,8 @@ Creates initial ramdisk images for preloading modules --mount "[DEV] [MP] [FSTYPE] [FSOPTS]" Mount device [DEV] on mountpoint [MP] with filesystem [FSTYPE] and options [FSOPTS] in the initramfs + --mount "[MP]" Same as above, but [DEV], [FSTYPE] and [FSOPTS] are + determined by looking at the current mounts. --add-device "[DEV]" Bring up [DEV] in initramfs -i, --include [SOURCE] [TARGET] Include the files in the SOURCE directory into the
@@ -1460,9 +1462,21 @@ if [[ $kernel_only != yes ]]; then for line in "${fstab_lines[@]}"; do line=($line) - [ -z "${line[3]}" ] && line[3]="defaults" + + if [ -z "${line[1]}" ]; then + # Determine device and mount options from current system + mountpoint -q "${line[0]}" || derror "${line[0]} is not a mount
point!"
+ line=($(findmnt --raw -n --target "${line[0]}" --
output=source,target,fstype,options))
+ dinfo "Line for ${line[1]}: ${line[@]}"
+ else
+ # Use default options
+ [ -z "${line[3]}" ] && line[3]="defaults"
+ fi
+
+ # Default options for freq and passno
[ -z "${line[4]}" ] && line[4]="0"
[ -z "${line[5]}" ] && line[5]="2"
+
strstr "${line[2]}" "nfs" && line[5]="0"
echo "${line[@]}" >> "${initdir}/etc/fstab"
doneSignature · 1 line
2.5.1
Quoted 7 lines · Fabian
Right now the --mount parameter of dracut expects a rather long fstab-like line. This makes it possible to invoke dracut with e.g. --mount /boot.
--- dracut.8.asc | 4 ++++ dracut.sh | 16 +++++++++++++++- 2 files changed, 19 insertions(+), 1 deletion(-)
Thanks! Pushed.