+ventoy_extract_vtloopex() {
+ vtCurPwd=$PWD
+ $BUSYBOX_PATH/mkdir -p $VTOY_PATH/partmnt $VTOY_PATH/vtloopex
+ $BUSYBOX_PATH/mount -o ro -t vfat $1 $VTOY_PATH/partmnt
+ cd $VTOY_PATH/vtloopex
+ $CAT $VTOY_PATH/partmnt/ventoy/vtloopex.cpio | $BUSYBOX_PATH/cpio -idm >> $VTLOG 2>&1
+ $BUSYBOX_PATH/umount $VTOY_PATH/partmnt
+ $BUSYBOX_PATH/rm -rf $VTOY_PATH/partmnt
+
+ if [ -n "$2" ]; then
+ cd $VTOY_PATH/vtloopex/$2/
+ $BUSYBOX_PATH/tar -xJf vtloopex.tar.xz
+ fi
+
+ cd $vtCurPwd
+}
+
+ventoy_check_install_module_xz() {
+ if [ -f "${1}.xz" ]; then
+ $BUSYBOX_PATH/xz -d "${1}.xz"
+ $BUSYBOX_PATH/insmod "$1"
+ fi
+}
+
+ventoy_check_umount() {
+ for vtLoop in 0 1 2 3 4 5 6 7 8 9; do
+ $BUSYBOX_PATH/umount "$1" > /dev/null 2>&1
+ if $BUSYBOX_PATH/mountpoint -q "$1"; then
+ $SLEEP 1
+ else
+ break
+ fi
+ done
+}
+
+ventoy_wait_dir() {
+ vtdir=$1
+ vtsec=0
+
+ while [ $vtsec -lt $2 ]; do
+ if [ -d "$vtdir" ]; then
+ break
+ else
+ $SLEEP 1
+ vtsec=$(expr $vtsec + 1)
+ fi
+ done
+}