]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - IMG/cpio/ventoy/hook/debian/veket-disk.sh
Fix the issue (introduced in 1.1.06) that the Ventoy ISO partition cannot be mounted...
[Ventoy.git] / IMG / cpio / ventoy / hook / debian / veket-disk.sh
index 38a9c0508c293eb4b6b4436939177eb74f38fa9d..1e101807eb6889f41af16fc20a68f26b0d545fdd 100644 (file)
@@ -28,6 +28,7 @@ vtlog "####### $0 $* ########"
 VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
 
 ventoy_os_install_dmsetup_by_fuse() {
+    local drvdir=""
     vtlog "ventoy_os_install_dmsetup_by_fuse $*"
 
     mkdir -p $VTOY_PATH/mnt/fuse $VTOY_PATH/mnt/iso $VTOY_PATH/mnt/squashfs
@@ -37,15 +38,43 @@ ventoy_os_install_dmsetup_by_fuse() {
 
     mount -t iso9660  $VTOY_PATH/mnt/fuse/ventoy.iso    $VTOY_PATH/mnt/iso
     
-    sfsfile=$(ls $VTOY_PATH/mnt/iso/adrv_veket*.sfs)
     
-    mount -t squashfs $sfsfile  $VTOY_PATH/mnt/squashfs
+    for sfsfile in $(ls $VTOY_PATH/mnt/iso/*drv_veket*.sfs); do
+        mount -t squashfs $sfsfile  $VTOY_PATH/mnt/squashfs        
+        if [ -d $VTOY_PATH/mnt/squashfs/lib/modules ]; then
+            KoName=$(ls $VTOY_PATH/mnt/squashfs/lib/modules/$2/kernel/drivers/md/dm-mod.ko*)
+            if [ -n "$KoName" -a -f $KoName ]; then
+                drvdir=$VTOY_PATH/mnt/squashfs/lib/modules/$2
+                break
+            fi
+        fi
+        
+        umount $VTOY_PATH/mnt/squashfs
+    done
+
+
+    if [ -z "$drvdir" ]; then
+        vtlog "retry for usr/lib dir"
+        for sfsfile in $(ls $VTOY_PATH/mnt/iso/*drv_veket*.sfs); do
+            mount -t squashfs $sfsfile  $VTOY_PATH/mnt/squashfs        
+            if [ -d $VTOY_PATH/mnt/squashfs/usr/lib/modules ]; then
+                KoName=$(ls $VTOY_PATH/mnt/squashfs/usr/lib/modules/$2/kernel/drivers/md/dm-mod.ko*)
+                if [ -n "$KoName" -a -f $KoName ]; then
+                    drvdir=$VTOY_PATH/mnt/squashfs/usr/lib/modules/$2
+                    break
+                fi
+            fi
+            
+            umount $VTOY_PATH/mnt/squashfs
+        done
+    fi
+    
 
-    KoName=$(ls $VTOY_PATH/mnt/squashfs/lib/modules/$2/kernel/drivers/dax/dax.ko*)
+    KoName=$(ls $drvdir/kernel/drivers/dax/dax.ko*)
     vtlog "insmod $KoName"
     insmod $KoName 
     
-    KoName=$(ls $VTOY_PATH/mnt/squashfs/lib/modules/$2/kernel/drivers/md/dm-mod.ko*)
+    KoName=$(ls $drvdir/kernel/drivers/md/dm-mod.ko*)
     vtlog "insmod $KoName"
     insmod $KoName