X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/d5b829f8e8c8367b032b4bb57a8fc37701d42e17..3c05d55b8a2bd358ca380a91d3d5bdcbfed937fa:/IMG/cpio/ventoy/hook/debian/veket-disk.sh diff --git a/IMG/cpio/ventoy/hook/debian/veket-disk.sh b/IMG/cpio/ventoy/hook/debian/veket-disk.sh index 38a9c05..1e10180 100644 --- a/IMG/cpio/ventoy/hook/debian/veket-disk.sh +++ b/IMG/cpio/ventoy/hook/debian/veket-disk.sh @@ -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