X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/c0d478c2ddbdac0e64a639995e40ca840a781dbb..c2cc0bd3dca23519f59565bc4e69fb5c92d3bb0f:/IMG/cpio/ventoy/hook/debian/puppy-disk.sh diff --git a/IMG/cpio/ventoy/hook/debian/puppy-disk.sh b/IMG/cpio/ventoy/hook/debian/puppy-disk.sh index 7f98722..600088a 100644 --- a/IMG/cpio/ventoy/hook/debian/puppy-disk.sh +++ b/IMG/cpio/ventoy/hook/debian/puppy-disk.sh @@ -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