Skip to content

Commit

Permalink
1.0.36 release
Browse files Browse the repository at this point in the history
  • Loading branch information
ventoy committed Feb 27, 2021
1 parent 7b08954 commit cbbd57e
Show file tree
Hide file tree
Showing 58 changed files with 136 additions and 1,042 deletions.
5 changes: 2 additions & 3 deletions INSTALL/README
Original file line number Diff line number Diff line change
Expand Up @@ -18,9 +18,8 @@ Please refer https://www.ventoy.net/en/doc_start.html for details.


========== VentoyWeb.sh ===============
sudo sh VentoyWeb.sh
Normally, it will popup a web browser window.
If not you can open your browser and visit http://127.0.0.1:24680
1. sudo sh VentoyWeb.sh
2. open your browser and visit http://127.0.0.1:24680



Expand Down
Binary file modified INSTALL/Ventoy2Disk.exe
Binary file not shown.
7 changes: 6 additions & 1 deletion INSTALL/VentoyWeb.sh
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,11 @@ if [ -f ./tool/$TOOLDIR/V2DServer.xz ]; then
chmod +x ./tool/$TOOLDIR/V2DServer
fi


V2DServer "$HOST" "$PORT" &
wID=$!
sleep 1

vtVer=$(cat ventoy/version)
echo ""
echo "==============================================================="
Expand All @@ -112,7 +117,7 @@ echo ""
echo "################## Press Ctrl + C to exit #####################"
echo ""

V2DServer "$HOST" "$PORT"
wait $wID

if [ -n "$OLDDIR" ]; then
CURDIR=$(pwd)
Expand Down
2 changes: 1 addition & 1 deletion INSTALL/grub/grub.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -1546,7 +1546,7 @@ function img_unsupport_menuentry {
#############################################################
#############################################################
set VENTOY_VERSION="1.0.35"
set VENTOY_VERSION="1.0.36"
#ACPI not compatible with Window7/8, so disable by default
set VTOY_PARAM_NO_ACPI=1
Expand Down
30 changes: 15 additions & 15 deletions INSTALL/tool/VentoyWorker.sh
Original file line number Diff line number Diff line change
Expand Up @@ -125,11 +125,7 @@ if [ "$MODE" = "list" ]; then
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
check_umount_disk "$DISK"

if grep "$DISK" /proc/mounts; then
vterr "$DISK is already mounted, please umount it first!"
Expand Down Expand Up @@ -299,6 +295,9 @@ if [ "$MODE" = "install" ]; then
xzcat ./boot/core.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=2047 seek=1
fi

# check and umount
check_umount_disk "$DISK"

xzcat ./ventoy/ventoy.disk.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=$VENTOY_SECTOR_NUM seek=$part2_start_sector

#test UUID
Expand All @@ -317,10 +316,7 @@ if [ "$MODE" = "install" ]; then
vtinfo "esp partition processing ..."

sleep 1
mtpnt=$(grep "^${PART2}" /proc/mounts | awk '{print $2}')
if [ -n "$mtpnt" ]; then
umount $mtpnt >/dev/null 2>&1
fi
check_umount_disk "$DISK"

if [ "$SECUREBOOT" != "YES" ]; then
mkdir ./tmp_mnt
Expand All @@ -332,10 +328,7 @@ if [ "$MODE" = "install" ]; then
break
fi

mtpnt=$(grep "^${PART2}" /proc/mounts | awk '{print $2}')
if [ -n "$mtpnt" ]; then
umount $mtpnt >/dev/null 2>&1
fi
check_umount_disk "$DISK"
sleep 2
done

Expand All @@ -349,6 +342,8 @@ if [ "$MODE" = "install" ]; then
mv ./tmp_mnt/EFI/BOOT/grubx64_real.efi ./tmp_mnt/EFI/BOOT/BOOTX64.EFI
mv ./tmp_mnt/EFI/BOOT/grubia32_real.efi ./tmp_mnt/EFI/BOOT/BOOTIA32.EFI

sync

for tt in 1 2 3; do
if umount ./tmp_mnt; then
vtdebug "umount part2 success"
Expand Down Expand Up @@ -439,15 +434,19 @@ else
dd status=none conv=fsync if=./rsvdata.bin seek=2040 bs=512 count=8 of=${DISK}
rm -f ./rsvdata.bin

check_umount_disk "$DISK"

xzcat ./ventoy/ventoy.disk.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=$VENTOY_SECTOR_NUM seek=$part2_start

sync

if [ "$SECUREBOOT" != "YES" ]; then
mkdir ./tmp_mnt

vtdebug "mounting part2 ...."
for tt in 1 2 3 4 5; do
for tt in 1 2 3 4 5; do
check_umount_disk "$DISK"

if mount ${PART2} ./tmp_mnt > /dev/null 2>&1; then
vtdebug "mounting part2 success"
break
Expand All @@ -467,6 +466,7 @@ else
mv ./tmp_mnt/EFI/BOOT/grubx64_real.efi ./tmp_mnt/EFI/BOOT/BOOTX64.EFI
mv ./tmp_mnt/EFI/BOOT/grubia32_real.efi ./tmp_mnt/EFI/BOOT/BOOTIA32.EFI

sync

for tt in 1 2 3; do
if umount ./tmp_mnt > /dev/null 2>&1; then
Expand Down
29 changes: 29 additions & 0 deletions INSTALL/tool/ventoy_lib.sh
Original file line number Diff line number Diff line change
Expand Up @@ -97,6 +97,14 @@ get_disk_part_name() {
fi
}

check_umount_disk() {
DiskOrPart="$1"
grep "^${DiskOrPart}" /proc/mounts | while read mtline; do
mtpnt=$(echo $mtline | awk '{print $2}')
vtdebug "Trying to umount $mtpnt ..."
umount $mtpnt >/dev/null 2>&1
done
}

get_ventoy_version_from_cfg() {
if grep -q 'set.*VENTOY_VERSION=' $1; then
Expand Down Expand Up @@ -218,6 +226,14 @@ format_ventoy_disk_mbr() {
fi

part2_start_sector=$(expr $part1_end_sector + 1)

modsector=$(expr $part2_start_sector % 8)
if [ $modsector -gt 0 ]; then
vtdebug "modsector:$modsector need to be aligned with 4KB"
part1_end_sector=$(expr $part1_end_sector - $modsector)
part2_start_sector=$(expr $part1_end_sector + 1)
fi

part2_end_sector=$(expr $part2_start_sector + $VENTOY_SECTOR_NUM - 1)

export part2_start_sector
Expand Down Expand Up @@ -302,6 +318,8 @@ EOF

echo "create efi fat fs $PART2 ..."
for i in 0 1 2 3 4 5 6 7 8 9; do
check_umount_disk "$PART2"

if mkfs.vfat -F 16 -n VTOYEFI $PART2; then
echo 'success'
break
Expand Down Expand Up @@ -333,6 +351,14 @@ format_ventoy_disk_gpt() {
fi

part2_start_sector=$(expr $part1_end_sector + 1)

modsector=$(expr $part2_start_sector % 8)
if [ $modsector -gt 0 ]; then
vtdebug "modsector:$modsector need to be aligned with 4KB"
part1_end_sector=$(expr $part1_end_sector - $modsector)
part2_start_sector=$(expr $part1_end_sector + 1)
fi

part2_end_sector=$(expr $part2_start_sector + $VENTOY_SECTOR_NUM - 1)

export part2_start_sector
Expand Down Expand Up @@ -397,7 +423,10 @@ format_ventoy_disk_gpt() {
fi

echo "create efi fat fs $PART2 ..."

for i in 0 1 2 3 4 5 6 7 8 9; do
check_umount_disk "$PART2"

if mkfs.vfat -F 16 -n VTOYEFI $PART2; then
echo 'success'
break
Expand Down
8 changes: 6 additions & 2 deletions LinuxGUI/Ventoy2Disk/Core/ventoy_disk.c
Original file line number Diff line number Diff line change
Expand Up @@ -330,6 +330,7 @@ static int fatlib_is_secure_boot_enable(void)
flfile = fl_fopen("/EFI/BOOT/grubx64_real.efi", "rb");
if (flfile)
{
vlog("/EFI/BOOT/grubx64_real.efi find, secure boot in enabled\n");
fl_fclose(flfile);
return 1;
}
Expand Down Expand Up @@ -504,7 +505,10 @@ int ventoy_get_vtoy_data(ventoy_disk *info, int *ppartstyle)
goto end;
}

vdebug("now check secure boot ...\n");
vdebug("ventoy partition layout check OK: [%llu %llu] [%llu %llu]\n",
part1_start_sector, part1_sector_count, part2_start_sector, part2_sector_count);

vdebug("now check secure boot for %s ...\n", info->disk_path);

g_fatlib_media_fd = fd;
g_fatlib_media_offset = part2_start_sector;
Expand Down Expand Up @@ -546,7 +550,7 @@ int ventoy_get_vtoy_data(ventoy_disk *info, int *ppartstyle)

rc = 0;
end:
close(fd);
vtoy_safe_close_fd(fd);
return rc;
}

Expand Down
28 changes: 28 additions & 0 deletions LinuxGUI/Ventoy2Disk/Core/ventoy_log.c
Original file line number Diff line number Diff line change
Expand Up @@ -80,6 +80,34 @@ void ventoy_syslog_newline(int level, const char *Fmt, ...)
pthread_mutex_unlock(&g_log_mutex);
}

void ventoy_syslog_printf(const char *Fmt, ...)
{
char log[512];
va_list arg;
time_t stamp;
struct tm ttm;
FILE *fp;

time(&stamp);
localtime_r(&stamp, &ttm);

va_start(arg, Fmt);
vsnprintf(log, 512, Fmt, arg);
va_end(arg);

pthread_mutex_lock(&g_log_mutex);
fp = fopen(VTOY_LOG_FILE, "a+");
if (fp)
{
fprintf(fp, "[%04u/%02u/%02u %02u:%02u:%02u] %s",
ttm.tm_year, ttm.tm_mon, ttm.tm_mday,
ttm.tm_hour, ttm.tm_min, ttm.tm_sec,
log);
fclose(fp);
}
pthread_mutex_unlock(&g_log_mutex);
}

void ventoy_syslog(int level, const char *Fmt, ...)
{
char log[512];
Expand Down
33 changes: 21 additions & 12 deletions LinuxGUI/Ventoy2Disk/Core/ventoy_util.c
Original file line number Diff line number Diff line change
Expand Up @@ -347,6 +347,7 @@ static int ventoy_fill_gpt_partname(uint16_t Name[36], const char *asciiName)
int ventoy_fill_gpt(uint64_t size, uint64_t reserve, int align4k, VTOY_GPT_INFO *gpt)
{
uint64_t ReservedSector = 33;
uint64_t ModSectorCount = 0;
uint64_t Part1SectorCount = 0;
uint64_t DiskSectorCount = size / 512;
VTOY_GPT_HDR *Head = &gpt->Head;
Expand All @@ -362,18 +363,28 @@ int ventoy_fill_gpt(uint64_t size, uint64_t reserve, int align4k, VTOY_GPT_INFO
ReservedSector += reserve / 512;
}

Part1SectorCount = DiskSectorCount - ReservedSector - (VTOYEFI_PART_BYTES / 512) - 2048;

ModSectorCount = (Part1SectorCount % 8);
if (ModSectorCount)
{
vlog("Part1SectorCount:%llu is not aligned by 4KB (%llu)\n", (_ull)Part1SectorCount, (_ull)ModSectorCount);
}

// check aligned with 4KB
if (align4k)
{
if (DiskSectorCount % 8)
if (ModSectorCount)
{
vdebug("Disk need to align with 4KB %u\n", (uint32_t)(DiskSectorCount % 8));
ReservedSector += (DiskSectorCount % 8);
vdebug("Disk need to align with 4KB %u\n", (uint32_t)ModSectorCount);
Part1SectorCount -= ModSectorCount;
}
else
{
vdebug("no need to align with 4KB\n");
}
}

Part1SectorCount = DiskSectorCount - ReservedSector - (VTOYEFI_PART_BYTES / 512) - 2048;

memcpy(Head->Signature, "EFI PART", 8);
Head->Version[2] = 0x01;
Head->Length = 92;
Expand Down Expand Up @@ -461,7 +472,7 @@ int VentoyFillMBRLocation(uint64_t DiskSizeInBytes, uint32_t StartSectorId, uint
return 0;
}

int ventoy_fill_mbr(uint64_t size, uint64_t reserve, int align4k, int PartStyle, MBR_HEAD *pMBR)
int ventoy_fill_mbr(uint64_t size, uint64_t reserve, int align4k, MBR_HEAD *pMBR)
{
ventoy_guid Guid;
uint32_t DiskSignature;
Expand Down Expand Up @@ -498,11 +509,6 @@ int ventoy_fill_mbr(uint64_t size, uint64_t reserve, int align4k, int PartStyle,
ReservedSector = (uint32_t)(reserve / 512);
}

if (PartStyle)
{
ReservedSector += 33; // backup GPT part table
}

// check aligned with 4KB
if (align4k)
{
Expand All @@ -512,11 +518,14 @@ int ventoy_fill_mbr(uint64_t size, uint64_t reserve, int align4k, int PartStyle,
vlog("Disk need to align with 4KB %u\n", (uint32_t)(sectors % 8));
ReservedSector += (uint32_t)(sectors % 8);
}
else
{
vdebug("no need to align with 4KB\n");
}
}

vlog("ReservedSector: %u\n", ReservedSector);


//Part1
PartStartSector = VTOYIMG_PART_START_SECTOR;
PartSectorCount = DiskSectorCount - ReservedSector - VTOYEFI_PART_BYTES / 512 - PartStartSector;
Expand Down
2 changes: 1 addition & 1 deletion LinuxGUI/Ventoy2Disk/Core/ventoy_util.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ int unxz(unsigned char *in, int in_size,
int ventoy_read_file_to_buf(const char *FileName, int ExtLen, void **Bufer, int *BufLen);
const char * ventoy_get_local_version(void);
int ventoy_fill_gpt(uint64_t size, uint64_t reserve, int align4k, VTOY_GPT_INFO *gpt);
int ventoy_fill_mbr(uint64_t size, uint64_t reserve, int align4k, int PartStyle, MBR_HEAD *pMBR);
int ventoy_fill_mbr(uint64_t size, uint64_t reserve, int align4k, MBR_HEAD *pMBR);

#endif /* __VENTOY_UTIL_H__ */

File renamed without changes.
30 changes: 0 additions & 30 deletions LinuxGUI/Ventoy2Disk/Lib/fat_io_lib/buildlib.sh

This file was deleted.

Loading

0 comments on commit cbbd57e

Please sign in to comment.