mirror of
				https://github.com/ventoy/Ventoy.git
				synced 2025-10-30 00:05:09 -04:00 
			
		
		
		
	Auto use memdisk mode when booting iKuai OS.
This commit is contained in:
		
							parent
							
								
									2cd22da8fb
								
							
						
					
					
						commit
						7f2f845a68
					
				| @ -2612,25 +2612,39 @@ static grub_err_t ventoy_cmd_chosen_img_path(grub_extcmd_context_t ctxt, int arg | |||||||
| { | { | ||||||
|     char value[32]; |     char value[32]; | ||||||
|     char *pos = NULL; |     char *pos = NULL; | ||||||
|  |     char *last = NULL; | ||||||
|     const char *id = NULL; |     const char *id = NULL; | ||||||
|     img_info *cur = NULL; |     img_info *cur = NULL; | ||||||
| 
 | 
 | ||||||
|     (void)ctxt; |     (void)ctxt; | ||||||
|      |      | ||||||
|     if (argc < 1 || argc > 2) |     if (argc < 1 || argc > 3) | ||||||
|     { |     { | ||||||
|         return grub_error(GRUB_ERR_BAD_ARGUMENT, "Usage: %s {var}", cmd_raw_name); |         return grub_error(GRUB_ERR_BAD_ARGUMENT, "Usage: %s {var}", cmd_raw_name); | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
|     if (g_fake_vlnk_src[0] && g_fake_vlnk_dst[0]) |     if (g_fake_vlnk_src[0] && g_fake_vlnk_dst[0]) | ||||||
|     { |     { | ||||||
|         grub_env_set(args[0], grub_strchr(g_fake_vlnk_src, '/')); |         pos = grub_strchr(g_fake_vlnk_src, '/'); | ||||||
|  |         grub_env_set(args[0], pos); | ||||||
|         if (argc > 1) |         if (argc > 1) | ||||||
|         { |         { | ||||||
|             grub_snprintf(value, sizeof(value), "%llu", (ulonglong)(g_fake_vlnk_size)); |             grub_snprintf(value, sizeof(value), "%llu", (ulonglong)(g_fake_vlnk_size)); | ||||||
|             grub_env_set(args[1], value);         |             grub_env_set(args[1], value);         | ||||||
|         } |         } | ||||||
|          |          | ||||||
|  |         if (argc > 2) | ||||||
|  |         { | ||||||
|  |             for (last = pos; *pos; pos++) | ||||||
|  |             { | ||||||
|  |                 if (*pos == '/') | ||||||
|  |                 { | ||||||
|  |                     last = pos; | ||||||
|  |                 } | ||||||
|  |             } | ||||||
|  |             grub_env_set(args[2], last + 1); | ||||||
|  |         } | ||||||
|  | 
 | ||||||
|         goto end; |         goto end; | ||||||
|     } |     } | ||||||
| 
 | 
 | ||||||
| @ -2659,6 +2673,12 @@ static grub_err_t ventoy_cmd_chosen_img_path(grub_extcmd_context_t ctxt, int arg | |||||||
|         grub_env_set(args[1], value);         |         grub_env_set(args[1], value);         | ||||||
|     } |     } | ||||||
|      |      | ||||||
|  |     if (argc > 2) | ||||||
|  |     { | ||||||
|  |         grub_snprintf(value, sizeof(value), "%llu", (ulonglong)(cur->size)); | ||||||
|  |         grub_env_set(args[2], cur->name); | ||||||
|  |     } | ||||||
|  | 
 | ||||||
| end: | end: | ||||||
|     g_svd_replace_offset = 0; |     g_svd_replace_offset = 0; | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -1301,7 +1301,7 @@ function iso_common_menuentry { | |||||||
|     unset vt_system_id |     unset vt_system_id | ||||||
|     unset vt_volume_id |     unset vt_volume_id | ||||||
|      |      | ||||||
|     vt_chosen_img_path vt_chosen_path vt_chosen_size |     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 |     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         | ||||||
| @ -1350,6 +1350,13 @@ function iso_common_menuentry { | |||||||
|                 set vtMemDiskBoot=1 |                 set vtMemDiskBoot=1 | ||||||
|             fi |             fi | ||||||
|         fi |         fi | ||||||
|  |          | ||||||
|  |         #For iKuai8 (<64MB) | ||||||
|  |         if [ $vt_chosen_size -le 67108864 ]; then | ||||||
|  |             if vt_str_begin "$vt_chosen_name" "iKuai"; then | ||||||
|  |                 set vtMemDiskBoot=1 | ||||||
|  |             fi | ||||||
|  |         fi | ||||||
|     fi |     fi | ||||||
|     vt_iso_vd_id_clear |     vt_iso_vd_id_clear | ||||||
| 
 | 
 | ||||||
|  | |||||||
		Loading…
	
	
			
			x
			
			
		
	
		Reference in New Issue
	
	Block a user