]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - IMG/cpio/ventoy/hook/debian/porteus-hook.sh
Merge branch 'master' of https://github.com/Ventoy/Ventoy
[Ventoy.git] / IMG / cpio / ventoy / hook / debian / porteus-hook.sh
index f63b106327db636247da328115b23b32a59be056..287e6309fd491a777bf6c4b7b9cae009b9073e45 100644 (file)
@@ -22,9 +22,16 @@ porteus_hook() {
     $SED "/searching *for *\$CFG *file/i\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/porteus-disk.sh"  -i $1
 }
 
-if $GREP -q exfat /proc/filesystems; then
-    vtPath=$($VTOY_PATH/tool/vtoydump -p $VTOY_PATH/ventoy_os_param)
-    
+vtPath=$($VTOY_PATH/tool/vtoydump -p $VTOY_PATH/ventoy_os_param)
+echo $vtPath | $GREP -q " "
+_vtRet1=$?
+
+$GREP -q exfat /proc/filesystems
+_vtRet2=$?
+
+echo "_vtRet1=$_vtRet1  _vtRet2=$_vtRet2 ..." >> $VTLOG
+
+if [ $_vtRet1 -ne 0 -a $_vtRet2 -eq 0 ]; then
     vtFindFlag=0
     $GREP '`value from`' /usr/* -r | $AWK -F: '{print $1}' | while read vtline; do
         echo "hooking $vtline ..." >> $VTLOG
@@ -34,11 +41,19 @@ if $GREP -q exfat /proc/filesystems; then
 
     if [ $vtFindFlag -eq 0 ]; then
         if $GREP -q '`value from`' /linuxrc; then
-            echo "hooking linuxrc ..." >> $VTLOG
-            $SED "/searching *for *\$CFG *file/i$BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/porteus-path.sh"  -i /linuxrc
-            $SED "/searching *for *\$CFG *file/iFROM=\$(cat /porteus-from)"  -i /linuxrc
-            $SED "/searching *for *\$CFG *file/iISO=\$(cat /porteus-from)"  -i /linuxrc
-            vtFindFlag=1
+            if $GREP -q "searching *for *\$CFG *file" /linuxrc; then
+                echo "hooking linuxrc CFG..." >> $VTLOG
+                $SED "/searching *for *\$CFG *file/i$BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/porteus-path.sh"  -i /linuxrc
+                $SED "/searching *for *\$CFG *file/iFROM=\$(cat /porteus-from)"  -i /linuxrc
+                $SED "/searching *for *\$CFG *file/iISO=\$(cat /porteus-from)"  -i /linuxrc
+                vtFindFlag=1
+            else
+                echo "hooking linuxrc SGN..." >> $VTLOG
+                $SED "/searching *for *\$SGN *file/i$BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/porteus-path.sh"  -i /linuxrc
+                $SED "/searching *for *\$SGN *file/iFROM=\$(cat /porteus-from)"  -i /linuxrc
+                $SED "/searching *for *\$SGN *file/iISO=\$(cat /porteus-from)"  -i /linuxrc
+                vtFindFlag=1
+            fi
         fi
     fi
 
@@ -46,7 +61,7 @@ else
     for vtfile in '/linuxrc' '/init'; do
         if [ -e $vtfile ]; then
             if ! $GREP -q ventoy $vtfile; then
-                echo "hooking $vtfile ..."  >> $VTLOG
+                echo "hooking disk $vtfile ..."  >> $VTLOG
                 porteus_hook $vtfile
             fi
         fi