]> git.ipfire.org Git - thirdparty/dracut.git/blobdiff - mkinitrd-dracut.sh
Revert "wait for IPv6 RA if using none/static IPv6 assignment"
[thirdparty/dracut.git] / mkinitrd-dracut.sh
index f7b53f1a0ad3f8372282d3d0b85a50d5d9ace954..82d90684eddf337a692b0471b2b1fb2884482ad1 100755 (executable)
@@ -3,6 +3,8 @@ kver=$(uname -r)
 
 boot_dir="/boot"
 quiet=0
+host_only=0
+force=0
 
 error() { echo "$@" >&2; }
 
@@ -51,7 +53,7 @@ default_kernel_images() {
     local regex kernel_image kernel_version version_version initrd_image
     local qf='%{NAME}-%{VERSION}-%{RELEASE}\n'
 
-    case "$(uname -m)" in
+    case "${DRACUT_ARCH:-$(uname -m)}" in
         s390|s390x)
             regex='image'
             ;;
@@ -64,14 +66,14 @@ default_kernel_images() {
         arm*)
             regex='[uz]Image'
             ;;
-        aarch64)
+        aarch64|riscv64)
             regex='Image'
             ;;
         *)  regex='vmlinu.'
             ;;
     esac
 
-    # user mode linux                                                              
+    # user mode linux
     if grep -q UML /proc/cpuinfo; then
             regex='linux'
     fi
@@ -104,7 +106,8 @@ default_kernel_images() {
     for initrd_image in $initrd_images;do
        targets="$targets $initrd_image"
     done
-
+    host_only=1
+    force=1
 }
 
 while (($# > 0)); do
@@ -120,7 +123,7 @@ while (($# > 0)); do
             echo "mkinitrd: dracut compatibility wrapper"
             exit 0;;
         -v|--verbose) dracut_args="${dracut_args} -v";;
-        -f|--force) dracut_args="${dracut_args} -f";;
+        -f|--force) force=1;;
         --preload) read_arg modname "$@" || shift $?
             basicmodules="$basicmodules $modname";;
         --image-version) img_vers=yes;;
@@ -164,6 +167,8 @@ while (($# > 0)); do
            for kernel_image in $kernel_images;do
                kernels="$kernels ${kernel_image#*-}"
            done
+           host_only=1
+           force=1
            ;;
        -i) read_arg initrd_images "$@" || shift $?
            for initrd_image in $initrd_images;do
@@ -188,6 +193,9 @@ done
 targets=( $targets )
 [[ $kernels ]] && kernels=( $kernels )
 
+[[ $host_only == 1 ]] && dracut_args="${dracut_args} -H"
+[[ $force == 1 ]]     && dracut_args="${dracut_args} -f"
+
 echo "Creating: target|kernel|dracut args|basicmodules "
 for ((i=0 ; $i<${#targets[@]} ; i++)); do