X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/d5b829f8e8c8367b032b4bb57a8fc37701d42e17..bdab55e8aa191ef4066c088df82e7063fc292d7c:/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 b5ea3bf..a52cd74 100644 --- a/IMG/cpio/ventoy/hook/ventoy-os-lib.sh +++ b/IMG/cpio/ventoy/hook/ventoy-os-lib.sh @@ -101,3 +101,73 @@ ventoy_print_yum_repo() { echo "gpgcheck=0" echo "priority=0" } + +ventoy_set_inotify_script() { + echo $VTOY_PATH/hook/$1 > $VTOY_PATH/inotifyd-hook-script.txt +} + +ventoy_set_loop_inotify_script() { + echo $VTOY_PATH/loop/$1 > $VTOY_PATH/inotifyd-loop-script.txt +} + +ventoy_check_insmod() { + if [ -e $1 ]; then + $BUSYBOX_PATH/insmod $1 + fi +} + +ventoy_check_mount() { + if [ -e $1 ]; then + $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 ] +}