]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - INSTALL/grub/grub.cfg
Auto memdisk plugin support some IMA/IMG files.
[Ventoy.git] / INSTALL / grub / grub.cfg
index 179cc6d62f3405ece68003c5c53f779d9ca5b601..888ed8c22638b60384a0e0dc54d52524895d8831 100644 (file)
 # 
 #************************************************************************************
 
+if [ "$grub_platform" = "pc" ]; then
+    insmod setkey
+    insmod regexp
+    insmod video_fb
+fi
+
 function ventoy_pause {
     echo "press Enter to continue ......"
     read vtTmpPause
@@ -65,6 +71,10 @@ function ventoy_vcfg_proc {
     fi
 }
 
+function ventoy_language {
+    configfile $prefix/menulang.cfg
+}
+
 function ventoy_diagnosis {
     vt_enum_video_mode    
     configfile $prefix/debug.cfg
@@ -99,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        
@@ -2341,6 +2352,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      
+}
+
 #############################################################
 #############################################################
 #############################################################
@@ -2349,7 +2382,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
@@ -2373,6 +2406,7 @@ set VTOY_HELP_CMD="ventoy_show_help"
 set VTOY_CHKSUM_CMD="ventoy_checksum"
 set VTOY_HELP_TXT_LANGUAGE="en_US"
 set VTOY_CHKSUM_FILE_PATH="X"
+set VTOY_LANG_CMD="ventoy_language"
 
 
 if [ "$grub_platform" = "pc" ]; then
@@ -2450,6 +2484,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
@@ -2582,6 +2621,7 @@ export VTOY_HELP_CMD
 export VTOY_CHKSUM_CMD
 export VTOY_HELP_TXT_LANGUAGE
 export VTOY_CHKSUM_FILE_PATH
+export VTOY_LANG_CMD
 
 
 #colect all image files (iso files)