]> glassweightruler.freedombox.rocks Git - Ventoy.git/commitdiff
misc update
authorlongpanda <admin@ventoy.net>
Tue, 13 Apr 2021 11:42:19 +0000 (19:42 +0800)
committerlongpanda <admin@ventoy.net>
Tue, 13 Apr 2021 11:42:19 +0000 (19:42 +0800)
INSTALL/grub/grub.cfg

index 386997d659c893af1b9992d244202d00fbc4f048..f75c9ca63edeb2a863175d2196f507a38ad30875 100644 (file)
@@ -891,9 +891,39 @@ function legacy_linux_menu_func {
     ventoy_debug_pause
     
     if [ -n "$vtoy_chain_mem_addr" ]; then
     ventoy_debug_pause
     
     if [ -n "$vtoy_chain_mem_addr" ]; then
-        ventoy_acpi_param ${vtoy_chain_mem_addr} 2048
-        linux16   $vtoy_path/ipxe.krn ${vtdebug_flag}  mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
-        boot
+        if vt_check_mode 3; then
+            ventoy_acpi_param ${vtoy_chain_mem_addr} 2048
+            ventoy_cli_console
+        
+            # fallback
+            set vtback_root=$root        
+            vt_push_last_entry
+            set vtback_theme=$theme
+            unset theme
+            
+            vt_trailer_cpio "$vtoy_iso_part" "$vt_chosen_path" noinit
+            vt_set_boot_opt rdinit=/vtoy/vtoy
+
+            set root=(loop)
+            set vtback_cfg_find=0
+            for cfg in "/boot/grub/grub.cfg" "/EFI/BOOT/grub.cfg" "/EFI/debian/grub.cfg" "EFI/boot/grub.cfg" "efi/boot/grub.cfg" "/grub/grub.cfg" "EFI/BOOT/BOOTX64.conf"; do
+                if [ -e "$cfg" ]; then
+                    set vtback_cfg_find=1
+                    configfile "$cfg"
+                    break
+                fi
+            done
+
+            vt_unset_boot_opt
+            set root=$vtback_root        
+            set theme=$vtback_theme
+            vt_pop_last_entry
+            ventoy_gui_console
+        else
+            ventoy_acpi_param ${vtoy_chain_mem_addr} 2048
+            linux16   $vtoy_path/ipxe.krn ${vtdebug_flag}  mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
+            boot
+        fi
     else
         echo "chain empty failed"
         ventoy_pause
     else
         echo "chain empty failed"
         ventoy_pause