+ vt_check_compatible_pe (loop)
+ legacy_windows_menu_func $1 ${chosen_path}
+ elif [ "$vtoy_os" = "Unix" ]; then
+ legacy_unix_menu_func $1 ${chosen_path}
+ else
+ legacy_linux_menu_func $1 ${chosen_path}
+ fi
+}
+
+function legacy_iso_memdisk {
+
+ linux16 $vtoy_path/memdisk iso raw
+ echo "Loading ISO file to memory ..."
+ initrd16 ${1}${2}
+ boot
+}
+
+function iso_deepin_live_proc {
+ if [ -d (loop)/ ]; then
+ loopback -d loop
+ fi
+
+ loopback loop ${1}${2}
+ vt_img_sector ${1}${2}
+
+ vt_load_cpio $vtoy_path/ventoy.cpio $2 $1
+ vt_trailer_cpio $1 $2 noinit
+
+ ventoy_debug_pause
+
+ vt_set_boot_opt rdinit=/ventoy/loop/deepin/ventoy-init.sh live-media=/dev/mapper/ventoy
+
+ set ventoy_loading_tip="Loading files ......"
+
+ linux (loop)/live/vmlinuz boot=live components locales=zh_CN.UTF-8 splash quiet
+ initrd (loop)/live/initrd.img
+ boot
+
+ unset ventoy_loading_tip
+
+ vt_unset_boot_opt
+}
+
+
+function iso_endless_os_proc {
+ if [ -d (loop)/ ]; then
+ loopback -d loop
+ fi
+
+ loopback loop ${1}${2}
+ vt_img_sector ${1}${2}
+
+ vt_load_cpio $vtoy_path/ventoy.cpio $2 $1
+ vt_trailer_cpio $1 $2 noinit
+
+ ventoy_debug_pause
+
+ vt_set_boot_opt '@kparams' rdinit=/vtoy/vtoy
+
+ set eosimage=loop
+ set ventoy_bls_bootdev=/boot
+ set ventoy_loading_tip="Loading files ......"
+
+ export eosimage
+ configfile (loop)/endless/grub/grub.cfg
+
+ unset eosimage
+ unset ventoy_bls_bootdev
+ unset ventoy_loading_tip
+
+ vt_unset_boot_opt
+}
+
+function iso_common_menuentry {
+ unset vt_system_id
+ unset vt_volume_id
+
+ vt_chosen_img_path vt_chosen_path vt_chosen_size
+ vt_parse_iso_volume ${vtoy_iso_part}${vt_chosen_path} vt_system_id vt_volume_id
+
+ #special process for deepin-live iso
+ if [ "$vt_chosen_size" = "403701760" ]; then
+ if vt_str_begin $vt_chosen_path "/deepin-live"; then
+ iso_deepin_live_proc $vtoy_iso_part $vt_chosen_path
+ fi
+ fi
+
+ #special process for Endless OS
+ if vt_str_begin $vt_volume_id "Endless-OS"; then
+ iso_endless_os_proc $vtoy_iso_part $vt_chosen_path
+ fi
+
+ if [ "$grub_platform" = "pc" ]; then
+ if vt_check_mode 0; then
+ legacy_iso_memdisk $vtoy_iso_part $vt_chosen_path
+ else
+ legacy_iso_menu_func $vtoy_iso_part $vt_chosen_path