]> glassweightruler.freedombox.rocks Git - Ventoy.git/commitdiff
linux raw boot
authorlongpanda <admin@ventoy.net>
Sun, 27 Sep 2020 09:23:50 +0000 (17:23 +0800)
committerlongpanda <admin@ventoy.net>
Sun, 27 Sep 2020 09:23:59 +0000 (17:23 +0800)
12 files changed:
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_vhd.c
INSTALL/EFI/BOOT/grubx64_real.efi
INSTALL/grub/grub.cfg
INSTALL/grub/i386-pc/core.img
INSTALL/tool/VentoyWorker.sh
INSTALL/tool/ventoy_lib.sh
INSTALL/ventoy/ipxe.krn
INSTALL/ventoy/ventoy.cpio
INSTALL/ventoy/ventoy_x64.efi
INSTALL/ventoy/vtloopex.cpio

index ea3a8d5502342ac10a0b2dc94252b664fd82cadd..95b120891b873d4fc1ab076f0fbd4761a6480a69 100644 (file)
@@ -56,6 +56,7 @@ int g_initrd_img_count = 0;
 int g_valid_initrd_count = 0;
 int g_default_menu_mode = 0;
 int g_filt_dot_underscore_file = 0;
+int g_sort_case_sensitive = 0;
 static grub_file_t g_old_file;
 static int g_ventoy_last_entry_back;
 
@@ -1021,14 +1022,50 @@ int ventoy_cmp_img(img_info *img1, img_info *img2)
         c1 = *s1;
         c2 = *s2;
 
-        if (grub_islower(c1))
+        if (0 == g_sort_case_sensitive)
         {
-            c1 = c1 - 'a' + 'A';
+            if (grub_islower(c1))
+            {
+                c1 = c1 - 'a' + 'A';
+            }
+            
+            if (grub_islower(c2))
+            {
+                c2 = c2 - 'a' + 'A';
+            }
         }
-        
-        if (grub_islower(c2))
+
+        if (c1 != c2)
+        {
+            break;
+        }
+    }
+
+    return (c1 - c2);
+}
+
+static int ventoy_cmp_subdir(char *name1, char *name2)
+{
+    char *s1, *s2;
+    int c1 = 0;
+    int c2 = 0;
+
+    for (s1 = name1, s2 = name2; *s1 && *s2; s1++, s2++)
+    {
+        c1 = *s1;
+        c2 = *s2;
+
+        if (0 == g_sort_case_sensitive)
         {
-            c2 = c2 - 'a' + 'A';
+            if (grub_islower(c1))
+            {
+                c1 = c1 - 'a' + 'A';
+            }
+            
+            if (grub_islower(c2))
+            {
+                c2 = c2 - 'a' + 'A';
+            }
         }
 
         if (c1 != c2)
@@ -1372,10 +1409,10 @@ static img_info * ventoy_get_min_iso(img_iterator_node *node)
 {
     img_info *minimg = NULL;
     img_info *img = (img_info *)(node->firstiso);
-    
+
     while (img && (img_iterator_node *)(img->parent) == node)
     {
-        if (img->select == 0 && (NULL == minimg || grub_strcmp(img->name, minimg->name) < 0))
+        if (img->select == 0 && (NULL == minimg || ventoy_cmp_img(img, minimg) < 0))
         {
             minimg = img;
         }
@@ -1397,7 +1434,7 @@ static img_iterator_node * ventoy_get_min_child(img_iterator_node *node)
 
     while (child && child->parent == node)
     {
-        if (child->select == 0 && (NULL == Minchild || grub_strcmp(child->dir, Minchild->dir) < 0))
+        if (child->select == 0 && (NULL == Minchild || ventoy_cmp_subdir(child->dir, Minchild->dir) < 0))
         {
             Minchild = child;
         }
@@ -1631,6 +1668,12 @@ static grub_err_t ventoy_cmd_list_img(grub_extcmd_context_t ctxt, int argc, char
         g_filt_dot_underscore_file = 1;
     }
 
+    strdata = ventoy_get_env("VTOY_SORT_CASE_SENSITIVE");
+    if (strdata && strdata[0] == '1' && strdata[1] == 0)
+    {
+        g_sort_case_sensitive = 1;
+    }
+
     device_name = grub_file_get_device_name(args[0]);
     if (!device_name)
     {
@@ -1725,9 +1768,9 @@ static grub_err_t ventoy_cmd_list_img(grub_extcmd_context_t ctxt, int argc, char
                       "}\n", "<--");
     }
 
+    default_image = ventoy_get_env("VTOY_DEFAULT_IMAGE");        
     if (g_default_menu_mode == 0)
     {
-        default_image = ventoy_get_env("VTOY_DEFAULT_IMAGE");        
         if (default_image)
         {
             img_len = grub_strlen(default_image);
index 7d6ecc58ee24103195d3858c254aa37e2b40006b..812f5577943375543e2651fe9704f6453066bcb2 100644 (file)
@@ -28,7 +28,8 @@
 #define VTOY_FILT_MIN_FILE_SIZE  32768
 
 #define VTOY_SIZE_1GB     1073741824
-#define VTOY_SIZE_512KB  (512 * 1024)
+#define VTOY_SIZE_1MB     (1024 * 1024)
+#define VTOY_SIZE_512KB   (512 * 1024)
 #define VTOY_SIZE_1KB     1024
 
 #define JSON_SUCCESS    0
@@ -788,7 +789,6 @@ extern grub_uint8_t g_ventoy_chain_type;
 extern int g_vhdboot_enable;
 extern ventoy_gpt_info *g_ventoy_part_info;
 
-
 #define ventoy_unix_fill_virt(new_data, new_len) \
 { \
     data_secs = (new_len + 2047) / 2048; \
index af8b2ed56e4ba9a13b24d78222e8d9e2d770b0b2..5d64b5b2fd0096816599f1c2b6aeda6a8764ba56 100644 (file)
@@ -49,6 +49,7 @@ static int g_vhdboot_bcd_len = 0;
 static int g_vhdboot_isolen = 0;
 static char *g_vhdboot_totbuf = NULL;
 static char *g_vhdboot_isobuf = NULL;
+static grub_uint64_t g_img_trim_head_secnum = 0;
 
 static int ventoy_vhd_find_bcd(int *bcdoffset, int *bcdlen)
 {
@@ -273,6 +274,71 @@ grub_err_t ventoy_cmd_load_vhdboot(grub_extcmd_context_t ctxt, int argc, char **
     return 0;
 }
 
+static int ventoy_raw_trim_head(grub_uint64_t offset)
+{
+    grub_uint32_t i;
+    grub_uint32_t memsize;
+    grub_uint32_t imgstart = 0;
+    grub_uint32_t imgsecs = 0;
+    grub_uint64_t sectors = 0;
+    grub_uint64_t cursecs = 0;
+    grub_uint64_t delta = 0;
+
+    if ((!g_img_chunk_list.chunk) || (!offset))
+    {
+        debug("image chunk not ready %p %lu\n", g_img_chunk_list.chunk, (ulong)offset);
+        return 0;
+    }
+
+    debug("image trim head %lu\n", (ulong)offset);
+
+    for (i = 0; i < g_img_chunk_list.cur_chunk; i++)
+    {
+        cursecs = g_img_chunk_list.chunk[i].disk_end_sector + 1 - g_img_chunk_list.chunk[i].disk_start_sector;
+        sectors += cursecs;
+        if (sectors >= offset)
+        {
+            delta = cursecs - (sectors - offset);
+            break;
+        }
+    }
+
+    if (sectors < offset || i >= g_img_chunk_list.cur_chunk)
+    {
+        debug("Invalid size %lu %lu\n", (ulong)sectors, (ulong)offset);
+        return 0;
+    }
+
+    if (sectors == offset)
+    {
+        memsize = (g_img_chunk_list.cur_chunk - (i + 1)) * sizeof(ventoy_img_chunk);
+        grub_memmove(g_img_chunk_list.chunk, g_img_chunk_list.chunk + i + 1, memsize);
+        g_img_chunk_list.cur_chunk -= (i + 1);
+    }
+    else
+    {
+        g_img_chunk_list.chunk[i].disk_start_sector += delta;
+        g_img_chunk_list.chunk[i].img_start_sector += (grub_uint32_t)(delta / 4);
+    
+        if (i > 0)
+        {
+            memsize = (g_img_chunk_list.cur_chunk - i) * sizeof(ventoy_img_chunk);
+            grub_memmove(g_img_chunk_list.chunk, g_img_chunk_list.chunk + i, memsize);
+            g_img_chunk_list.cur_chunk -= i;
+        }
+    }
+
+    for (i = 0; i < g_img_chunk_list.cur_chunk; i++)
+    {
+        imgsecs = g_img_chunk_list.chunk[i].img_end_sector + 1 - g_img_chunk_list.chunk[i].img_start_sector;        
+        g_img_chunk_list.chunk[i].img_start_sector = imgstart;
+        g_img_chunk_list.chunk[i].img_end_sector = imgstart + (imgsecs - 1);
+        imgstart += imgsecs;
+    }
+
+    return 0;
+}
+
 grub_err_t ventoy_cmd_get_vtoy_type(grub_extcmd_context_t ctxt, int argc, char **args)
 {
     int i;
@@ -281,11 +347,12 @@ grub_err_t ventoy_cmd_get_vtoy_type(grub_extcmd_context_t ctxt, int argc, char *
     vhd_footer_t vhdfoot;
     VDIPREHEADER vdihdr;
     char type[16] = {0};
-    ventoy_mbr_head mbr;
     ventoy_gpt_info *gpt;
     
     (void)ctxt;
 
+    g_img_trim_head_secnum = 0;
+
     if (argc != 4)
     {
         return 0;
@@ -316,6 +383,7 @@ grub_err_t ventoy_cmd_get_vtoy_type(grub_extcmd_context_t ctxt, int argc, char *
             grub_strncmp(vdihdr.szFileInfo, VDI_IMAGE_FILE_INFO, grub_strlen(VDI_IMAGE_FILE_INFO)) == 0)
         {
             offset = 2 * 1048576;
+            g_img_trim_head_secnum = offset / 512;
             grub_snprintf(type, sizeof(type), "vdi");
         }
         else
@@ -330,27 +398,30 @@ grub_err_t ventoy_cmd_get_vtoy_type(grub_extcmd_context_t ctxt, int argc, char *
     
     if (offset >= 0)
     {
+        gpt = grub_zalloc(sizeof(ventoy_gpt_info));
+        if (!gpt)
+        {
+            grub_env_set(args[1], "unknown");
+            goto end;
+        }
+    
         grub_file_seek(file, offset);
-        grub_file_read(file, &mbr, sizeof(mbr));
+        grub_file_read(file, gpt, sizeof(ventoy_gpt_info));
 
-        if (mbr.Byte55 != 0x55 || mbr.ByteAA != 0xAA)
+        if (gpt->MBR.Byte55 != 0x55 || gpt->MBR.ByteAA != 0xAA)
         {
             grub_env_set(args[1], "unknown");
-            debug("invalid mbr signature: 0x%x 0x%x\n", mbr.Byte55, mbr.ByteAA);
+            debug("invalid mbr signature: 0x%x 0x%x\n", gpt->MBR.Byte55, gpt->MBR.ByteAA);
             goto end;
         }
 
-        if (mbr.PartTbl[0].FsFlag == 0xEE)
+        if (grub_memcmp(gpt->Head.Signature, "EFI PART", 8) == 0)
         {
             grub_env_set(args[2], "gpt");
             debug("part type: %s\n", "GPT");
 
-            gpt = grub_zalloc(sizeof(ventoy_gpt_info));
-            if (gpt)
+            if (gpt->MBR.PartTbl[0].FsFlag == 0xEE)
             {
-                grub_file_seek(file, offset);
-                grub_file_read(file, gpt, sizeof(ventoy_gpt_info));
-
                 for (i = 0; i < 128; i++)
                 {
                     if (grub_memcmp(gpt->PartTbl[i].PartType, "Hah!IdontNeedEFI", 16) == 0)
@@ -364,14 +435,22 @@ grub_err_t ventoy_cmd_get_vtoy_type(grub_extcmd_context_t ctxt, int argc, char *
                         break;
                     }
                 }
-                
-                grub_free(gpt);
-            }            
+            }
         }
         else
         {
             grub_env_set(args[2], "mbr");
             debug("part type: %s\n", "MBR");
+
+            for (i = 0; i < 4; i++)
+            {
+                if (gpt->MBR.PartTbl[i].FsFlag == 0xEF)
+                {
+                    debug("part %d is esp part in MBR mode\n", i);
+                    grub_env_set(args[3], "1");
+                    break;
+                }
+            }
         }
     }
     else
@@ -380,6 +459,7 @@ grub_err_t ventoy_cmd_get_vtoy_type(grub_extcmd_context_t ctxt, int argc, char *
     }
 
 end:
+    grub_check_free(gpt);
     grub_file_close(file);
     VENTOY_CMD_RETURN(GRUB_ERR_NONE);    
 }
@@ -403,6 +483,11 @@ grub_err_t ventoy_cmd_raw_chain_data(grub_extcmd_context_t ctxt, int argc, char
         return 1;
     }
 
+    if (g_img_trim_head_secnum > 0)
+    {
+        ventoy_raw_trim_head(g_img_trim_head_secnum);
+    }
+
     file = ventoy_grub_file_open(VENTOY_FILE_TYPE, "%s", args[0]);
     if (!file)
     {
@@ -450,8 +535,14 @@ grub_err_t ventoy_cmd_raw_chain_data(grub_extcmd_context_t ctxt, int argc, char
     disk = file->device->disk;
     chain->disk_drive = disk->id;
     chain->disk_sector_size = (1 << disk->log_sector_size);
+
     chain->real_img_size_in_bytes = file->size;
-    chain->virt_img_size_in_bytes = (file->size + 2047) / 2048 * 2048;
+    if (g_img_trim_head_secnum > 0)
+    {
+        chain->real_img_size_in_bytes -= g_img_trim_head_secnum * 512;
+    }
+    
+    chain->virt_img_size_in_bytes = chain->real_img_size_in_bytes;
     chain->boot_catalog = 0;
 
     /* part 3: image chunk */
@@ -459,7 +550,7 @@ grub_err_t ventoy_cmd_raw_chain_data(grub_extcmd_context_t ctxt, int argc, char
     chain->img_chunk_num = g_img_chunk_list.cur_chunk;
     grub_memcpy((char *)chain + chain->img_chunk_offset, g_img_chunk_list.chunk, img_chunk_size);
 
-    grub_file_seek(file, 0);
+    grub_file_seek(file, g_img_trim_head_secnum * 512);
     grub_file_read(file, chain->boot_catalog_sector, 512);
 
     grub_file_close(file);
index bdecd32fa9ea1f234cc2161c62b3602eda7ada14..7591cde2baabd64a28553da314117b30624b5526 100644 (file)
Binary files a/INSTALL/EFI/BOOT/grubx64_real.efi and b/INSTALL/EFI/BOOT/grubx64_real.efi differ
index 9b2a6fe85a4ae145dee0a8bf817661397c3ceefe..f517d0ae646d7feaf461ec2d5eb3d89a5befcd8e 100644 (file)
@@ -477,6 +477,7 @@ function uefi_linux_menu_func {
         distro_specify_initrd_file
         
         vt_linux_initrd_count vtcount
+        
         if [ $vtcount -eq 0 ]; then
             distro_specify_initrd_file_phase2
             
@@ -991,26 +992,28 @@ function vhd_unsupport_menuentry {
 }
 
 function vtoyboot_common_func {
-    set efigrubpart=0
+    set AltBootPart=0
     set vtoysupport=0
     
-    vt_get_vtoy_type ${1} vtoytype parttype efigrubpart
+    vt_get_vtoy_type ${1} vtoytype parttype AltBootPart
     
     if vt_str_begin $vtoytype vhd; then    
         set vtoysupport=1
     elif [ "$vtoytype" = "raw" ]; then
         set vtoysupport=1
+    elif [ "$vtoytype" = "vdi" ]; then
+        set vtoysupport=1
     fi
     
     if [ $vtoysupport -eq 1 ]; then    
         if [ "$grub_platform" = "pc" ]; then
-            if [ "$parttype" = "gpt" -a $efigrubpart -eq 0 ]; then
+            if [ "$parttype" = "gpt" -a $AltBootPart -eq 0 ]; then
                 echo "The OS in the vdisk was created in UEFI mode, but current is Legacy BIOS mode."
                 echo "虚拟磁盘内的系统是在UEFI模式下创建的,而当前系统是Legacy BIOS模式,可能无法正常启动。"
                 ventoy_pause
             fi
         else
-            if [ "$parttype" = "mbr" ]; then
+            if [ "$parttype" = "mbr" -a $AltBootPart -eq 0 ]; then
                 echo "The OS in the vdisk was created in Legacy BIOS mode, but current is UEFI mode."
                 echo "虚拟磁盘内的系统是在Legacy BIOS模式下创建的,而当前系统是UEFI模式,可能无法正常启动。"
                 ventoy_pause
@@ -1321,7 +1324,7 @@ function img_unsupport_menuentry {
 #############################################################
 #############################################################
 
-set VENTOY_VERSION="1.0.21"
+set VENTOY_VERSION="1.0.22"
 
 # Default menu display mode, you can change it as you want.
 #    0: List mode   
index 2495634ec0984c3ba46423172c6d7b7cce33b510..e8412fd5ae15f03b65752ddeb83a610c10f1a646 100644 (file)
Binary files a/INSTALL/grub/i386-pc/core.img and b/INSTALL/grub/i386-pc/core.img differ
index 658b7a12af866109dcea4304b9d71c1e69b11847..4b4fc300b999074bd39be9c0f97a074204fbd3ea 100644 (file)
@@ -17,6 +17,7 @@ print_usage() {
     echo ''
 }
 
+
 RESERVE_SIZE_MB=0
 while [ -n "$1" ]; do
     if [ "$1" = "-i" ]; then
@@ -75,6 +76,7 @@ if [ -n "$RESERVE_SPACE" ]; then
     fi
 fi
 
+#check access 
 if dd if="$DISK" of=/dev/null bs=1 count=1 >/dev/null 2>&1; then
     vtdebug "root permission check ok ..."
 else
@@ -85,33 +87,32 @@ fi
 
 vtdebug "MODE=$MODE FORCE=$FORCE RESERVE_SPACE=$RESERVE_SPACE RESERVE_SIZE_MB=$RESERVE_SIZE_MB"
 
-if ! check_tool_work_ok; then
+#check tools
+if check_tool_work_ok; then
+    vtdebug "check tool work ok"
+else
     vterr "Some tools can not run in current system. Please check log.txt for detail."
     exit 1
 fi
 
+#check mountpoint
 grep "^$DISK" /proc/mounts | while read mtline; do
     mtpnt=$(echo $mtline | awk '{print $2}')
     vtdebug "Trying to umount $mtpnt ..."
     umount $mtpnt >/dev/null 2>&1
 done
 
-if swapon -s | grep -q "^${DISK}[0-9]"; then
-    swapon -s | grep "^${DISK}[0-9]" | awk '{print $1}' | while read line; do
-        vtdebug "Trying to swapoff $line ..."
-        swapoff $line
-    done
-fi
-
-
 if grep "$DISK" /proc/mounts; then
     vterr "$DISK is already mounted, please umount it first!"
     exit 1
 fi
 
-if swapon -s | grep -q "^${DISK}[0-9]"; then
-    vterr "$DISK is used as swap, please swapoff it first!"
-    exit 1
+#check swap partition
+if swapon --help 2>&1 | grep -q '^ \-s,'; then
+    if swapon -s | grep -q "^${DISK}[0-9]"; then
+        vterr "$DISK is used as swap, please swapoff it first!"
+        exit 1
+    fi
 fi
 
 
@@ -122,7 +123,8 @@ if [ "$MODE" = "install" ]; then
         if parted -v > /dev/null 2>&1; then
             PARTTOOL='parted'
         else
-            vterr "parted is not found in the system, Ventoy can't create new partition."
+            vterr "parted is not found in the system, Ventoy can't create new partitions without it."
+            vterr "You should install \"GNU parted\" first."
             exit 1
         fi
     else
@@ -131,7 +133,7 @@ if [ "$MODE" = "install" ]; then
         elif fdisk -v >/dev/null 2>&1; then
             PARTTOOL='fdisk'
         else
-            vterr "Both parted and fdisk are not found in the system, Ventoy can't create new partition."
+            vterr "Both parted and fdisk are not found in the system, Ventoy can't create new partitions."
             exit 1
         fi
     fi
@@ -202,7 +204,6 @@ if [ "$MODE" = "install" ]; then
         fi
     fi
 
-
     if [ $disk_sector_num -le $VENTOY_SECTOR_NUM ]; then  
         vterr "No enough space in disk $DISK"
         exit 1
@@ -251,13 +252,13 @@ if [ "$MODE" = "install" ]; then
     
     if [ -n "$VTGPT" ]; then
         echo -en '\x22' | dd status=none of=$DISK conv=fsync bs=1 count=1 seek=92        
-        ./tool/xzcat ./boot/core.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=2014 seek=34
+        xzcat ./boot/core.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=2014 seek=34
         echo -en '\x23' | dd of=$DISK conv=fsync bs=1 count=1 seek=17908 status=none
     else
-        ./tool/xzcat ./boot/core.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=2047 seek=1
+        xzcat ./boot/core.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=2047 seek=1
     fi
     
-    ./tool/xzcat ./ventoy/ventoy.disk.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=$VENTOY_SECTOR_NUM seek=$part2_start_sector
+    xzcat ./ventoy/ventoy.disk.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=$VENTOY_SECTOR_NUM seek=$part2_start_sector
     
     #disk uuid
     ./tool/vtoy_gen_uuid | dd status=none conv=fsync of=${DISK} seek=384 bs=1 count=16
@@ -339,7 +340,7 @@ else
     
     if [ "$PART1_TYPE" = "EE" ]; then
         vtdebug "This is GPT partition style ..."        
-        ./tool/xzcat ./boot/core.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=2014 seek=34
+        xzcat ./boot/core.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=2014 seek=34
         echo -en '\x23' | dd of=$DISK conv=fsync bs=1 count=1 seek=17908 status=none
     else
         vtdebug "This is MBR partition style ..."
@@ -354,10 +355,10 @@ else
             echo -en '\x80' | dd of=$DISK conv=fsync bs=1 count=1 seek=446 status=none
             echo -en '\x00' | dd of=$DISK conv=fsync bs=1 count=1 seek=462 status=none
         fi
-        ./tool/xzcat ./boot/core.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=2047 seek=1
+        xzcat ./boot/core.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=2047 seek=1
     fi
 
-    ./tool/xzcat ./ventoy/ventoy.disk.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=$VENTOY_SECTOR_NUM seek=$part2_start
+    xzcat ./ventoy/ventoy.disk.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=$VENTOY_SECTOR_NUM seek=$part2_start
 
     sync
     
index 78d93e9cf8bb11c8136b5300b567bd82ab06af5a..f72d3fe74074cc0231de6ac2edeccf3c67e138e2 100644 (file)
@@ -52,7 +52,7 @@ check_tool_work_ok() {
         vtoyfat=vtoyfat_32
     fi
     
-    if echo 1 | ./tool/hexdump > /dev/null; then
+    if echo 1 | hexdump > /dev/null; then
         vtdebug "hexdump test ok ..."
     else
         vtdebug "hexdump test fail ..."
@@ -88,6 +88,8 @@ get_disk_part_name() {
         echo ${DISK}p${2}
     elif echo $DISK | grep -q "/dev/nvme[0-9][0-9]*n[0-9]"; then
         echo ${DISK}p${2}
+    elif echo $DISK | grep -q "/dev/mmcblk[0-9]"; then
+        echo ${DISK}p${2}
     else
         echo ${DISK}${2}
     fi
index 3815916baff0eee0e2ae58ae769ce25afdb31f73..92615951b613547385113d8ea1d32ac8bc0fe397 100644 (file)
Binary files a/INSTALL/ventoy/ipxe.krn and b/INSTALL/ventoy/ipxe.krn differ
index fa7e9e6d88ff899ed85e6c74f2d3a30c99cd2995..27eeef26a00b8127266472ae177514763ede1ad7 100644 (file)
Binary files a/INSTALL/ventoy/ventoy.cpio and b/INSTALL/ventoy/ventoy.cpio differ
index a9d1fb55e571943b708536bae2f2d4c1ac521b87..7d3adf881584e857af10928084c3be5b4bbb9385 100644 (file)
Binary files a/INSTALL/ventoy/ventoy_x64.efi and b/INSTALL/ventoy/ventoy_x64.efi differ
index c4b4ee898068c39d9dd675195eb28ac9b4a0b2c5..af6dc30c79829d1d8a432fe0315d0d3a5847b97e 100644 (file)
Binary files a/INSTALL/ventoy/vtloopex.cpio and b/INSTALL/ventoy/vtloopex.cpio differ