X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/c8e86938feedfcdb089a26cc18d476ead303d50e..e91b315f09607e7a88c42b0724b2e9f038d5aa84:/INSTALL/tool/ventoy_lib.sh diff --git a/INSTALL/tool/ventoy_lib.sh b/INSTALL/tool/ventoy_lib.sh index dd9e095..6fa869a 100644 --- a/INSTALL/tool/ventoy_lib.sh +++ b/INSTALL/tool/ventoy_lib.sh @@ -2,6 +2,7 @@ #Ventoy partition 32MB VENTOY_PART_SIZE=33554432 +VENTOY_PART_SIZE_MB=32 VENTOY_SECTOR_SIZE=512 VENTOY_SECTOR_NUM=65536 @@ -185,18 +186,28 @@ get_disk_ventoy_version() { } format_ventoy_disk() { - DISK=$1 - PARTTOOL=$2 + reserve_mb=$1 + DISK=$2 + PARTTOOL=$3 PART1=$(get_disk_part_name $DISK 1) PART2=$(get_disk_part_name $DISK 2) sector_num=$(cat /sys/block/${DISK#/dev/}/size) - part1_start_sector=2048 - part1_end_sector=$(expr $sector_num - $VENTOY_SECTOR_NUM - 1) - export part2_start_sector=$(expr $part1_end_sector + 1) - part2_end_sector=$(expr $sector_num - 1) + part1_start_sector=2048 + + if [ $reserve_mb -gt 0 ]; then + reserve_sector_num=$(expr $reserve_mb \* 2048) + part1_end_sector=$(expr $sector_num - $reserve_sector_num - $VENTOY_SECTOR_NUM - 1) + else + part1_end_sector=$(expr $sector_num - $VENTOY_SECTOR_NUM - 1) + fi + + part2_start_sector=$(expr $part1_end_sector + 1) + part2_end_sector=$(expr $part2_start_sector + $VENTOY_SECTOR_NUM - 1) + + export part2_start_sector vtdebug "part1_start_sector=$part1_start_sector part1_end_sector=$part1_end_sector" vtdebug "part2_start_sector=$part2_start_sector part2_end_sector=$part2_end_sector" @@ -216,7 +227,7 @@ format_ventoy_disk() { unit s \ mkpart primary ntfs $part1_start_sector $part1_end_sector \ mkpart primary fat16 $part2_start_sector $part2_end_sector \ - set 2 boot on \ + set 1 boot on \ quit sync @@ -243,7 +254,7 @@ t 2 ef a -2 +1 w EOF fi @@ -278,7 +289,7 @@ EOF echo "create efi fat fs $PART2 ..." for i in 0 1 2 3 4 5 6 7 8 9; do - if mkfs.vfat -F 16 -n EFI $PART2; then + if mkfs.vfat -F 16 -n VTOYEFI $PART2; then echo 'success' break else