]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - IMG/cpio/ventoy/hook/debian/puppy-disk.sh
Update help information
[Ventoy.git] / IMG / cpio / ventoy / hook / debian / puppy-disk.sh
index 7f987223db8107b7ed651655fe14a98f583dd35a..600088a28ef6bbd9d356da0b303a27c116aa8d87 100644 (file)
@@ -27,6 +27,33 @@ vtlog "####### $0 $* ########"
 
 VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
 
+ventoy_os_install_dmsetup_by_fuse() {
+    vtlog "ventoy_os_install_dmsetup_by_fuse $*"
+
+    mkdir -p $VTOY_PATH/mnt/fuse $VTOY_PATH/mnt/iso $VTOY_PATH/mnt/squashfs
+
+    vtoydm -p -f $VTOY_PATH/ventoy_image_map -d $1 > $VTOY_PATH/ventoy_dm_table
+    vtoy_fuse_iso -f $VTOY_PATH/ventoy_dm_table -m $VTOY_PATH/mnt/fuse
+
+    mount -t iso9660  $VTOY_PATH/mnt/fuse/ventoy.iso    $VTOY_PATH/mnt/iso
+
+    sfsfile=$(ls $VTOY_PATH/mnt/iso/*.sfs)
+
+    mount -t squashfs $sfsfile  $VTOY_PATH/mnt/squashfs
+
+    kVer=$(uname -r)
+    KoName=$(ls $VTOY_PATH/mnt/squashfs/lib/modules/$kVer/kernel/drivers/md/dm-mod.ko*)
+    vtlog "insmod $KoName"
+    insmod $KoName
+
+    umount $VTOY_PATH/mnt/squashfs
+    umount $VTOY_PATH/mnt/iso
+    umount $VTOY_PATH/mnt/fuse
+}
+
+
+
+
 wait_for_usb_disk_ready
 
 vtdiskname=$(get_ventoy_disk_name)
@@ -36,6 +63,12 @@ if [ "$vtdiskname" = "unknown" ]; then
     exit 0
 fi
 
+if grep -q 'device-mapper' /proc/devices; then
+    vtlog "device-mapper module exist"
+else
+    ventoy_os_install_dmsetup_by_fuse  $vtdiskname
+fi
+
 ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
 
 if ! [ -e $VTOY_DM_PATH ]; then