]> glassweightruler.freedombox.rocks Git - Ventoy.git/commitdiff
Fix a bug when rhel based distribution has an external kickstart file. (#1717)
authorlongpanda <admin@ventoy.net>
Tue, 12 Jul 2022 09:13:49 +0000 (17:13 +0800)
committerlongpanda <admin@ventoy.net>
Tue, 12 Jul 2022 09:13:49 +0000 (17:13 +0800)
IMG/cpio/ventoy/hook/openEuler/ventoy-autoexp.sh [new file with mode: 0644]
IMG/cpio/ventoy/hook/openEuler/ventoy-hook.sh
IMG/cpio/ventoy/hook/rhel7/ventoy-hook.sh

diff --git a/IMG/cpio/ventoy/hook/openEuler/ventoy-autoexp.sh b/IMG/cpio/ventoy/hook/openEuler/ventoy-autoexp.sh
new file mode 100644 (file)
index 0000000..661d436
--- /dev/null
@@ -0,0 +1,24 @@
+#!/bin/sh
+#************************************************************************************
+# Copyright (c) 2022, longpanda <admin@ventoy.net>
+# 
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License as
+# published by the Free Software Foundation; either version 3 of the
+# License, or (at your option) any later version.
+# 
+# This program is distributed in the hope that it will be useful, but
+# WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# General Public License for more details.
+# 
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, see <http://www.gnu.org/licenses/>.
+# 
+#************************************************************************************
+
+if [ -f /run/install/ks.cfg ]; then
+    sh /ventoy/hook/default/auto_install_varexp.sh  /run/install/ks.cfg
+fi
+
+exit 0
index 230eb636236b7e502096d5051342b1ba0ddde72d..40d67d5daf5e5f6f32c0ba4d26863dcecc12f3dc 100644 (file)
@@ -24,18 +24,21 @@ if [ -f $VTOY_PATH/autoinstall ]; then
 else
     for vtParam in $($CAT /proc/cmdline); do
         if echo $vtParam | $GREP -q 'inst.ks=hd:LABEL='; then
 else
     for vtParam in $($CAT /proc/cmdline); do
         if echo $vtParam | $GREP -q 'inst.ks=hd:LABEL='; then
+            vtRawKsFull="$vtParam"
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
             VTKS="inst.ks=hd:/dev/ventoy:$vtRawKs"
             break
         fi
         
         if echo $vtParam | $GREP -q '^ks=.*:/'; then
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
             VTKS="inst.ks=hd:/dev/ventoy:$vtRawKs"
             break
         fi
         
         if echo $vtParam | $GREP -q '^ks=.*:/'; then
+            vtRawKsFull="$vtParam"
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
             VTKS="ks=hd:/dev/ventoy:$vtRawKs"
             break
         fi
         
         if echo $vtParam | $GREP -q '^inst.ks=.*:/'; then
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
             VTKS="ks=hd:/dev/ventoy:$vtRawKs"
             break
         fi
         
         if echo $vtParam | $GREP -q '^inst.ks=.*:/'; then
+            vtRawKsFull="$vtParam"
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
             VTKS="inst.ks=hd:/dev/ventoy:$vtRawKs"
             break
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
             VTKS="inst.ks=hd:/dev/ventoy:$vtRawKs"
             break
@@ -63,7 +66,13 @@ fi
 echo "VTKS=$VTKS  VTOVERLAY=$VTOVERLAY" >> $VTLOG
 
 if [ -n "$vtRawKs" ]; then
 echo "VTKS=$VTKS  VTOVERLAY=$VTOVERLAY" >> $VTLOG
 
 if [ -n "$vtRawKs" ]; then
-    echo "$vtRawKs" > $VTOY_PATH/ventoy_ks_rootpath
+    if echo $vtRawKsFull | $EGREP -q "=http|=https|=ftp|=nfs|=hmc"; then
+        echo "vtRawKsFull=$vtRawKsFull no patch needed." >> $VTLOG
+        vtRawKs=""
+        VTKS=""
+    else
+        echo "$vtRawKs" > $VTOY_PATH/ventoy_ks_rootpath
+    fi    
 fi
 
 if ls $VTOY_PATH | $GREP -q 'ventoy_dud[0-9]'; then
 fi
 
 if ls $VTOY_PATH | $GREP -q 'ventoy_dud[0-9]'; then
@@ -98,3 +107,7 @@ if [ -f /usr/sbin/anaconda-diskroot ]; then
     $SED  's/^mount $dev $repodir/mount -oro $dev $repodir/' -i /usr/sbin/anaconda-diskroot
 fi
 
     $SED  's/^mount $dev $repodir/mount -oro $dev $repodir/' -i /usr/sbin/anaconda-diskroot
 fi
 
+
+if [ -f $VTOY_PATH/autoinstall ]; then
+    cp -a $VTOY_PATH/hook/openEuler/ventoy-autoexp.sh /lib/dracut/hooks/pre-mount/99-ventoy-autoexp.sh
+fi
index a6e59d9715015f6c0f5f64cdbaca891e28ad00bf..acd05ce7a11ef0e7aafecbaa4336f51105eddf26 100644 (file)
@@ -27,18 +27,21 @@ if [ -f $VTOY_PATH/autoinstall ]; then
 else
     for vtParam in $($CAT /proc/cmdline); do
         if echo $vtParam | $GREP -q 'inst.ks=hd:LABEL='; then
 else
     for vtParam in $($CAT /proc/cmdline); do
         if echo $vtParam | $GREP -q 'inst.ks=hd:LABEL='; then
+            vtRawKsFull="$vtParam"
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
             VTKS="inst.ks=hd:/dev/ventoy:$vtRawKs"
             break
         fi
         
         if echo $vtParam | $GREP -q '^ks=.*:/'; then
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
             VTKS="inst.ks=hd:/dev/ventoy:$vtRawKs"
             break
         fi
         
         if echo $vtParam | $GREP -q '^ks=.*:/'; then
+            vtRawKsFull="$vtParam"
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
             VTKS="ks=hd:/dev/ventoy:$vtRawKs"
             break
         fi
         
         if echo $vtParam | $GREP -q '^inst.ks=.*:/'; then
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
             VTKS="ks=hd:/dev/ventoy:$vtRawKs"
             break
         fi
         
         if echo $vtParam | $GREP -q '^inst.ks=.*:/'; then
+            vtRawKsFull="$vtParam"
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
             VTKS="inst.ks=hd:/dev/ventoy:$vtRawKs"
             break
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
             VTKS="inst.ks=hd:/dev/ventoy:$vtRawKs"
             break
@@ -67,7 +70,13 @@ fi
 echo "VTKS=$VTKS  VTOVERLAY=$VTOVERLAY" >> $VTLOG
 
 if [ -n "$vtRawKs" ]; then
 echo "VTKS=$VTKS  VTOVERLAY=$VTOVERLAY" >> $VTLOG
 
 if [ -n "$vtRawKs" ]; then
-    echo "$vtRawKs" > $VTOY_PATH/ventoy_ks_rootpath
+    if echo $vtRawKsFull | $EGREP -q "=http|=https|=ftp|=nfs|=hmc"; then
+        echo "vtRawKsFull=$vtRawKsFull no patch needed." >> $VTLOG
+        vtRawKs=""
+        VTKS=""
+    else
+        echo "$vtRawKs" > $VTOY_PATH/ventoy_ks_rootpath
+    fi    
 fi
 
 if ls $VTOY_PATH | $GREP -q 'ventoy_dud[0-9]'; then
 fi
 
 if ls $VTOY_PATH | $GREP -q 'ventoy_dud[0-9]'; then