X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/d8fbd79ddaad6791441f328731b9d3df4f1e654f..bd8aebf166bd9a7a5f2fc0f54baf2aff3bea74cd:/IMG/cpio/ventoy/hook/ventoy-os-lib.sh diff --git a/IMG/cpio/ventoy/hook/ventoy-os-lib.sh b/IMG/cpio/ventoy/hook/ventoy-os-lib.sh index dbd015f..a52cd74 100644 --- a/IMG/cpio/ventoy/hook/ventoy-os-lib.sh +++ b/IMG/cpio/ventoy/hook/ventoy-os-lib.sh @@ -121,3 +121,53 @@ ventoy_check_mount() { $BUSYBOX_PATH/mount $1 $2 fi } + +ventoy_has_exfat_ko() { + vtExfat='' + vtKerVer=$($BUSYBOX_PATH/uname -r) + if [ -d /lib/modules/$vtKerVer/kernel/fs/exfat ]; then + vtExfat=$(ls /lib/modules/$vtKerVer/kernel/fs/exfat/) + fi + [ -n "$vtExfat" ] +} + +ventoy_is_exfat_part() { + $VTOY_PATH/tool/vtoydump -s /ventoy/ventoy_os_param | $GREP -q exfat +} + +ventoy_iso_scan_path() { + if [ -f /sbin/iso-scan ]; then + echo -n '/sbin/iso-scan' + elif [ -f /bin/iso-scan ]; then + echo -n '/bin/iso-scan' + else + echo -n '' + fi +} + +ventoy_has_iso_scan() { + vtScanPath=$(ventoy_iso_scan_path) + [ -n "$vtScanPath" ] +} + +ventoy_rw_iso_scan() { + vtScanPath=$(ventoy_iso_scan_path) + if [ -n "$vtScanPath" ]; then + if $GREP -q 'mount.* ro .*isoscan' $vtScanPath; then + $SED -i 's/\(mount.*-o.*\) ro /\1 rw /' $vtScanPath + fi + fi +} + +ventoy_iso_scan_check() { + vtCheckOk=0 + if ventoy_is_exfat_part; then + if ventoy_has_exfat_ko; then + if ventoy_has_iso_scan; then + vtCheckOk=1 + fi + fi + fi + + [ $vtCheckOk -eq 1 ] +}