X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/25b055bb0fd320a6fdbe46fb4ba5ef377c2704e2..1b164e74e41f2c8779cefbe75da596d781ff8b8c:/INSTALL/grub/grub.cfg diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index 64b4fcd..19cce83 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -16,6 +16,12 @@ # #************************************************************************************ +if [ "$grub_platform" = "pc" ]; then + insmod setkey + insmod regexp + insmod video_fb +fi + function ventoy_pause { echo "press Enter to continue ......" read vtTmpPause @@ -103,8 +109,9 @@ function ventoy_show_help { fi loopback vt_help_tarfs mem:${vtoy_help_txt_mem_addr}:size:${vtoy_help_txt_mem_size} - if [ -f "(vt_help_tarfs)/help/${VTOY_HELP_TXT_LANGUAGE}.txt" ]; then - cat "(vt_help_tarfs)/help/${VTOY_HELP_TXT_LANGUAGE}.txt" + vt_cur_menu_lang vtCurLang + if [ -f "(vt_help_tarfs)/help/${vtCurLang}.txt" ]; then + cat "(vt_help_tarfs)/help/${vtCurLang}.txt" else cat "(vt_help_tarfs)/help/en_US.txt" fi @@ -845,6 +852,13 @@ function uefi_linux_menu_func { configfile "mem:${vt_sys_menu_mem_addr}:size:${vt_sys_menu_mem_size}" fi fi + + if [ $vtback_cfg_find -eq 0 ]; then + if [ -f (loop)/boot/isolinux/syslnx64.cfg ]; then + syslinux_configfile (loop)/boot/isolinux/syslnx64.cfg + set vtback_cfg_find=1 + fi + fi if [ "$vtback_cfg_find" = "0" ]; then echo " " @@ -1312,6 +1326,13 @@ function legacy_linux_menu_func { configfile "mem:${vt_sys_menu_mem_addr}:size:${vt_sys_menu_mem_size}" fi fi + + if [ $vtback_cfg_find -eq 0 ]; then + if [ -f (loop)/boot/isolinux/syslnx64.cfg ]; then + syslinux_configfile (loop)/boot/isolinux/syslnx64.cfg + set vtback_cfg_find=1 + fi + fi vt_unset_boot_opt set root=$vtback_root @@ -2313,14 +2334,15 @@ function img_common_menuentry { elif [ -f (vtimghd,2)/loader/entries/ubos.conf ]; then ventoy_img_ubos elif [ -f (vtimghd,2)/etc/openwrt_version ]; then - ventoy_img_openwrt - elif [ -f (vtimghd,1)/efi/boot/mt86.png ]; then - if [ "$grub_platform" = "pc" ]; then - img_unsupport_tip - else - ventoy_img_memtest86 - fi + ventoy_img_openwrt else + if [ -f (vtimghd,1)/efi/boot/mt86.png ]; then + if [ "$grub_platform" = "pc" ]; then + img_unsupport_tip + fi + fi + + #common chain vt_linux_chain_data "${vtoy_iso_part}${vt_chosen_path}" ventoy_acpi_param ${vtoy_chain_mem_addr} 512 if [ "$grub_platform" = "pc" ]; then @@ -2345,6 +2367,28 @@ function img_unsupport_menuentry { common_unsupport_menuentry } +function mimg_common_menuentry { + vt_chosen_img_path vt_chosen_path vt_chosen_size vt_chosen_name + + if vt_check_password "${vt_chosen_path}"; then + return + fi + + echo "memdisk mode boot for $vt_chosen_path" + echo "" + ventoy_debug_pause + + if [ "$grub_platform" = "pc" ]; then + legacy_img_memdisk $vtoy_iso_part "$vt_chosen_path" + else + vt_load_img_memdisk "$vtoy_iso_part$vt_chosen_path" vtoy_img_buf + ventoy_cli_console + chainloader ${vtoy_path}/ventoy_${VTOY_EFI_ARCH}.efi memdisk env_param=${env_param} isoefi=${LoadIsoEfiDriver} ${vtdebug_flag} mem:${vtoy_img_buf_addr}:size:${vtoy_img_buf_size} + boot + ventoy_gui_console + fi +} + ############################################################# ############################################################# ############################################################# @@ -2353,7 +2397,7 @@ function img_unsupport_menuentry { ############################################################# ############################################################# -set VENTOY_VERSION="1.0.83" +set VENTOY_VERSION="1.0.84" #ACPI not compatible with Window7/8, so disable by default set VTOY_PARAM_NO_ACPI=1 @@ -2455,6 +2499,11 @@ else vt_check_json_path_case $vtoy_iso_part fi +if [ -n "$VTOY_MENU_LANGUAGE" ]; then + vt_init_menu_lang "$VTOY_MENU_LANGUAGE" +else + vt_init_menu_lang en_US +fi if [ -n "$VTOY_MENU_TIMEOUT" ]; then set timeout=$VTOY_MENU_TIMEOUT