]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - IMG/cpio/ventoy/hook/ventoy-hook-lib.sh
Fix the issue when booting the latest recalbox img file. (#1423)
[Ventoy.git] / IMG / cpio / ventoy / hook / ventoy-hook-lib.sh
index cbff60a6fe4401d75f65bed9e0a4d1fb00794d28..c2f426a7b17efd348a31bb5e2d0d9d1da2db3f99 100644 (file)
@@ -256,6 +256,8 @@ ventoy_dm_patch() {
 
     if echo $vtMType | $EGREP -i -q "x86.64|amd64"; then
         vtKoName=dm_patch_64.ko
+    elif echo $vtMType | $EGREP -i -q "i[3-6]86"; then
+        vtKoName=dm_patch_32.ko
     else
         vtlog "unsupported machine type $vtMType"
         return
@@ -310,7 +312,10 @@ ventoy_dm_patch() {
 
     vtKv=$($BUSYBOX_PATH/uname -r)
     
-    if [ -d /lib/modules/$vtKv/kernel/fs ]; then
+    if [ ! -d /lib/modules/$vtKv ]; then
+        vtlog "No modules directory found"
+        return
+    elif [ -d /lib/modules/$vtKv/kernel/fs ]; then
         vtModPath=$($FIND /lib/modules/$vtKv/kernel/fs/ -name "*.ko*" | $HEAD -n1)
     else
         vtModPath=$($FIND /lib/modules/$vtKv/kernel/ -name "xfs.ko*" | $HEAD -n1)
@@ -324,7 +329,10 @@ ventoy_dm_patch() {
     
     vtlog "template module is $vtModPath $vtModName"
     
-    if echo $vtModPath | $GREP -q "[.]ko$"; then
+    if [ -z "$vtModPath" ]; then
+        vtlog "No template module found"
+        return
+    elif echo $vtModPath | $GREP -q "[.]ko$"; then
         $BUSYBOX_PATH/cp -a $vtModPath  $VTOY_PATH/$vtModName
     elif echo $vtModPath | $GREP -q "[.]ko[.]xz$"; then
         $BUSYBOX_PATH/xzcat $vtModPath > $VTOY_PATH/$vtModName