]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - INSTALL/grub/grub.cfg
Fix the 'overflow is detected' error in WIMBOOT mode for large ISO file.
[Ventoy.git] / INSTALL / grub / grub.cfg
index 72afa13cc9cd01c45ad9325b03aa111e6b3ead0e..487dae0d10c21e025dd72532a3848136e3102401 100644 (file)
@@ -158,7 +158,7 @@ function get_os_type {
 function vt_check_compatible_pe {
     #Check for PE without external tools
     #set compatible if ISO file is less than 80MB
-    if [ $vt_chosen_size -gt 33554432 -a $vt_chosen_size -le 83886080 ]; then
+    if [ $vt_chosen_size -GT 33554432 -a $vt_chosen_size -LE 83886080 ]; then
         set ventoy_compatible=YES    
     fi
 
@@ -185,7 +185,7 @@ function locate_initrd {
 }
 
 function locate_wim {
-    vt_windows_locate_wim_patch (loop)
+    vt_windows_locate_wim_patch (loop) "$1"
     
     if [ -n "${vtdebug_flag}" ]; then
         echo '###############################################'
@@ -381,7 +381,9 @@ function distro_specify_initrd_file_phase2 {
         vt_linux_specify_initrd_file /sysresccd/boot/i686/sysresccd.img
     elif [ -f (loop)/boot/full.cz ]; then
         vt_linux_specify_initrd_file /boot/full.cz
-    
+    elif [ -f (loop)/images/pxeboot/initrd.img ]; then
+        vt_linux_specify_initrd_file /images/pxeboot/initrd.img
+
     fi
 }
 
@@ -615,13 +617,13 @@ function uefi_windows_menu_func {
         fi
         
         ventoy_debug_pause        
-        locate_wim
+        locate_wim "${chosen_path}"
     fi
 
     vt_windows_chain_data "${1}${chosen_path}"
     ventoy_debug_pause
     
-    if vt_check_mode 4; then
+    if vt_check_mode 4 "$vt_chosen_name"; then
         vtoy_windows_wimboot_func
     fi
     
@@ -688,6 +690,9 @@ function uefi_linux_menu_func {
         vt_linux_initrd_count vtcount
         
         if [ $vtcount -eq 0 ]; then
+            if [ -e (loop)/EFI/boot/livegrub.cfg ]; then
+                vt_linux_parse_initrd_grub  file  (loop)/EFI/boot/livegrub.cfg
+            fi
             distro_specify_initrd_file_phase2
             
             if [ "$vt_efi_dir" = "NO" ]; then
@@ -765,7 +770,7 @@ function uefi_linux_menu_func {
     
     vt_linux_chain_data "${1}${chosen_path}"
 
-    if [ -n "$LoadIsoEfiDriver" -a $vt_chosen_size -lt 104857600 ]; then
+    if [ -n "$LoadIsoEfiDriver" -a $vt_chosen_size -LT 104857600 ]; then
         if [ -f (loop)/efi/clover/cloverx64.efi ]; then
             unset LoadIsoEfiDriver
         fi
@@ -776,7 +781,7 @@ function uefi_linux_menu_func {
         ventoy_cli_console     
 
         unset vtGrub2Mode
-        if vt_check_mode 3; then
+        if vt_check_mode 3 "$vt_chosen_name"; then
             set vtGrub2Mode=1
         elif vt_str_begin "$vt_volume_id" "KRD"; then
             if [ -f (loop)/boot/grub/grub.cfg.sig ]; then
@@ -864,7 +869,7 @@ function uefi_iso_menu_func {
     if [ -n "$vtisouefi" ]; then
         set LoadIsoEfiDriver=on
         unset vtisouefi
-    elif vt_check_mode 2; then
+    elif vt_check_mode 2 "$vt_chosen_name"; then
         set LoadIsoEfiDriver=on
     else
         unset LoadIsoEfiDriver
@@ -901,7 +906,7 @@ function uefi_iso_menu_func {
     if [ -n "$vtcompat" ]; then
         set ventoy_compatible=YES
         unset vtcompat
-    elif vt_check_mode 1; then
+    elif vt_check_mode 1 "$vt_chosen_name"; then
         set ventoy_compatible=YES
     else
         vt_check_compatible (loop)        
@@ -1041,13 +1046,13 @@ function legacy_windows_menu_func {
         fi
         
         ventoy_debug_pause        
-        locate_wim
+        locate_wim "${chosen_path}"
     fi
 
     vt_windows_chain_data "${1}${chosen_path}"
     ventoy_debug_pause    
 
-    if vt_check_mode 4; then
+    if vt_check_mode 4 "$vt_chosen_name"; then
         vtoy_windows_wimboot_func
     fi
 
@@ -1130,7 +1135,7 @@ function legacy_linux_menu_func {
     ventoy_debug_pause
     
     if [ -n "$vtoy_chain_mem_addr" ]; then
-        if vt_check_mode 3; then
+        if vt_check_mode 3 "$vt_chosen_name"; then
             ventoy_acpi_param ${vtoy_chain_mem_addr} 2048
             ventoy_cli_console
         
@@ -1209,7 +1214,7 @@ function legacy_iso_menu_func {
     if [ -n "$vtcompat" ]; then
         set ventoy_compatible=YES
         unset vtcompat
-    elif vt_check_mode 1; then
+    elif vt_check_mode 1 "$vt_chosen_name"; then
         set ventoy_compatible=YES
     else
         vt_check_compatible (loop)
@@ -1304,7 +1309,7 @@ function iso_common_menuentry {
     vt_chosen_img_path vt_chosen_path vt_chosen_size vt_chosen_name
 
     vt_parse_iso_volume "${vtoy_iso_part}${vt_chosen_path}" vt_system_id vt_volume_id vt_volume_space
-    if [ $vt_volume_space -ne $vt_chosen_size ]; then        
+    if [ $vt_volume_space -NE $vt_chosen_size ]; then        
         vt_mod $vt_chosen_size 2048 vt_chosen_size_mod
         if [ $vt_chosen_size_mod -ne 0 ]; then
             echo -e "\n $vt_volume_space $vt_chosen_size $vt_chosen_size_mod\n"
@@ -1340,7 +1345,7 @@ function iso_common_menuentry {
     # auto memdisk mode for some special ISO files
     vt_iso_vd_id_parse "${vtoy_iso_part}${vt_chosen_path}"    
     unset vtMemDiskBoot
-    if vt_check_mode 0; then
+    if vt_check_mode 0 "$vt_chosen_name"; then
         set vtMemDiskBoot=1
     else
         if [ "$grub_platform" = "pc" ]; then
@@ -1352,7 +1357,7 @@ function iso_common_menuentry {
         fi
         
         #For iKuai8 (<64MB)
-        if [ $vt_chosen_size -le 67108864 ]; then
+        if [ $vt_chosen_size -LE 67108864 ]; then
             if vt_str_begin "$vt_chosen_name" "iKuai"; then
                 set vtMemDiskBoot=1
             fi
@@ -1377,7 +1382,7 @@ function iso_common_menuentry {
 }
 
 function miso_common_menuentry {
-    vt_chosen_img_path vt_chosen_path vt_chosen_size
+    vt_chosen_img_path vt_chosen_path vt_chosen_size vt_chosen_name
 
     if vt_check_password "${vt_chosen_path}"; then
         return
@@ -1411,7 +1416,7 @@ function iso_unsupport_menuentry {
 }
 
 function wim_common_menuentry {
-    vt_chosen_img_path vt_chosen_path vt_chosen_size
+    vt_chosen_img_path vt_chosen_path vt_chosen_size vt_chosen_name
     
     if vt_check_password "${vt_chosen_path}"; then
         return
@@ -1450,7 +1455,7 @@ function wim_unsupport_menuentry {
 }
 
 function efi_common_menuentry {
-    vt_chosen_img_path vt_chosen_path vt_chosen_size
+    vt_chosen_img_path vt_chosen_path vt_chosen_size vt_chosen_name
     
     if vt_check_password "${vt_chosen_path}"; then
         return
@@ -1520,7 +1525,7 @@ function vhdboot_common_func {
 }
 
 function vhd_common_menuentry {
-    vt_chosen_img_path vt_chosen_path vt_chosen_size
+    vt_chosen_img_path vt_chosen_path vt_chosen_size vt_chosen_name
     
     if vt_check_password "${vt_chosen_path}"; then
         return
@@ -1617,7 +1622,7 @@ function vtoyboot_common_func {
 }
 
 function vtoy_common_menuentry {    
-    vt_chosen_img_path vt_chosen_path vt_chosen_size     
+    vt_chosen_img_path vt_chosen_path vt_chosen_size vt_chosen_name
     
     if vt_check_password "${vt_chosen_path}"; then
         return
@@ -1794,7 +1799,7 @@ function ventoy_img_ubos {
 }
 
 function ventoy_img_recalbox {
-    if [ $vtoy_img_max_part_end -gt $vt_chosen_size ]; then
+    if [ $vtoy_img_max_part_end -GT $vt_chosen_size ]; then
         echo -e "\nPlease extend the img file size before boot it. \n"
         ventoy_pause
         return
@@ -2027,7 +2032,7 @@ function img_common_menuentry {
     set ventoy_busybox_ver=32
     unset LoadIsoEfiDriver
 
-    vt_chosen_img_path vt_chosen_path vt_chosen_size
+    vt_chosen_img_path vt_chosen_path vt_chosen_size vt_chosen_name
     
     if vt_check_password "${vt_chosen_path}"; then
         return
@@ -2038,7 +2043,7 @@ function img_common_menuentry {
     fi
 
     if [ "$grub_platform" = "pc" ]; then
-        if vt_check_mode 0; then
+        if vt_check_mode 0 "$vt_chosen_name"; then
             legacy_img_memdisk $vtoy_iso_part "$vt_chosen_path"
             return
         fi
@@ -2073,11 +2078,15 @@ function img_common_menuentry {
     if vt_str_begin "$vtImgHd3Label" "ROOT-"; then
         if [ -f (vtimghd,3)/etc/os-release.d/ID ]; then 
             vt_1st_line (vtimghd,3)/etc/os-release.d/ID vt_release_line1
-            if [ vt_str_begin "$vt_release_line1" "FydeOS" ]; then
+            if vt_str_begin "$vt_release_line1" "FydeOS"; then
                 ventoy_img_fydeos
+            else
+                ventoy_img_cloudready
             fi
         elif [ -f (vtimghd,3)/etc/cloudready-release ]; then
             ventoy_img_cloudready
+        elif [ -f (vtimghd,3)/etc/chrome_dev.conf ]; then
+            ventoy_img_cloudready
         fi
     elif vt_str_begin "$vtImgHd1Label" "LAKKA"; then
         ventoy_img_openelec lakka
@@ -2142,7 +2151,7 @@ function img_unsupport_menuentry {
 #############################################################
 #############################################################
 
-set VENTOY_VERSION="1.0.74"
+set VENTOY_VERSION="1.0.79"
 
 #ACPI not compatible with Window7/8, so disable by default
 set VTOY_PARAM_NO_ACPI=1