1.0.14 release

This commit is contained in:
longpanda
2020-06-25 23:01:48 +08:00
parent 42990058ed
commit 1cbe4c81b4
58 changed files with 1079 additions and 331 deletions

Binary file not shown.

Binary file not shown.

View File

@@ -1,34 +1,34 @@
submenu 'Check plugin json configuration (ventoy.json)' {
submenu 'Check plugin json configuration (ventoy.json)' --class=debug_json {
menuentry 'Check global control plugin configuration' {
set pager=1
vt_check_plugin_json $iso_path control $iso_path
vt_check_plugin_json $vt_plugin_path control $iso_path
echo -e "\npress ENTER to exit ..."
read vtInputKey
unset pager
}
menuentry 'Check theme plugin configuration' {
menuentry 'Check theme plugin configuration' --class=debug_theme {
set pager=1
vt_check_plugin_json $iso_path theme $iso_path
vt_check_plugin_json $vt_plugin_path theme $iso_path
echo -e "\npress ENTER to exit ..."
read vtInputKey
unset pager
}
menuentry 'Check auto install plugin configuration' {
menuentry 'Check auto install plugin configuration' --class=debug_autoinstall {
set pager=1
vt_check_plugin_json $iso_path auto_install $iso_path
vt_check_plugin_json $vt_plugin_path auto_install $iso_path
echo -e "\npress ENTER to exit ..."
read vtInputKey
unset pager
}
menuentry 'Check persistence plugin configuration' {
menuentry 'Check persistence plugin configuration' --class=debug_persistence {
set pager=1
vt_check_plugin_json $iso_path persistence $iso_path
vt_check_plugin_json $vt_plugin_path persistence $iso_path
echo -e "\n############### dump persistence ###############"
vt_dump_persistence
@@ -38,20 +38,29 @@ submenu 'Check plugin json configuration (ventoy.json)' {
unset pager
}
menuentry 'Check menu alias plugin configuration' {
menuentry 'Check menu alias plugin configuration' --class=debug_menualias {
set pager=1
vt_check_plugin_json $iso_path menu_alias $iso_path
vt_check_plugin_json $vt_plugin_path menu_alias $iso_path
echo -e "\npress ENTER to exit ..."
read vtInputKey
unset pager
}
menuentry 'Return to previous menu [Esc]' VTOY_RET {
menuentry 'Check menu class plugin configuration' --class=debug_menuclass {
set pager=1
vt_check_plugin_json $vt_plugin_path menu_class $iso_path
echo -e "\npress ENTER to exit ..."
read vtInputKey
unset pager
}
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
echo 'Return ...'
}
}
menuentry 'Return to previous menu [Esc]' VTOY_RET {
menuentry 'Return to previous menu [Esc]' --class=vtoyret VTOY_RET {
echo 'Return ...'
}

View File

@@ -152,7 +152,9 @@ function distro_specify_initrd_file_phase2 {
vt_linux_specify_initrd_file /live/initrd.img
elif [ -f (loop)/initrd.img ]; then
vt_linux_specify_initrd_file /initrd.img
elif [ -f (loop)/sysresccd/boot/x86_64/sysresccd.img ]; then
vt_linux_specify_initrd_file /sysresccd/boot/x86_64/sysresccd.img
fi
}
@@ -337,6 +339,8 @@ function uefi_iso_memdisk {
terminal_output console
chainloader ${vtoy_path}/ventoy_x64.efi memdisk env_param=${env_param} isoefi=${LoadIsoEfiDriver} ${vtdebug_flag} mem:${vtoy_iso_buf_addr}:size:${vtoy_iso_buf_size}
boot
terminal_output gfxterm
}
@@ -502,12 +506,16 @@ function iso_common_menuentry {
fi
}
function iso_unsupport_menuentry {
function common_unsupport_menuentry {
echo -e "\n The name of the iso file could NOT contain space or non-ascii characters. \n"
echo -e " 文件名中不能有中文或空格 \n"
echo -e "\n Will return to main menu after 10 seconds ...\n"
sleep 10
}
function iso_unsupport_menuentry {
common_unsupport_menuentry
}
function wim_common_menuentry {
vt_chosen_img_path chosen_path
@@ -521,6 +529,7 @@ function wim_common_menuentry {
else
terminal_output console
chainloader ${vtoy_path}/ventoy_x64.efi env_param=${env_param} isoefi=${LoadIsoEfiDriver} ${vtdebug_flag} mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
terminal_output gfxterm
fi
boot
else
@@ -530,9 +539,20 @@ function wim_common_menuentry {
}
function wim_unsupport_menuentry {
echo -e "\n The name of the wim file could NOT contain space or non-ascii characters. \n"
echo -e "\n Will return to main menu after 10 seconds ...\n"
sleep 10
common_unsupport_menuentry
}
function efi_common_menuentry {
vt_chosen_img_path chosen_path
terminal_output console
chainloader ${iso_path}${chosen_path}
boot
terminal_output gfxterm
}
function efi_unsupport_menuentry {
common_unsupport_menuentry
}
#############################################################
@@ -543,16 +563,13 @@ function wim_unsupport_menuentry {
#############################################################
#############################################################
set VENTOY_VERSION="1.0.13"
set VENTOY_VERSION="1.0.14"
# Default menu display mode, you can change it as you want.
# 0: List mode
# 1: TreeView mode
set VTOY_DEFAULT_MENU_MODE=0
#disable timeout
unset timeout
set VTOY_MEM_DISK_STR="[Memdisk]"
set VTOY_ISO_RAW_STR="Compatible Mode"
set VTOY_ISO_UEFI_DRV_STR="UEFI FS"
@@ -579,6 +596,13 @@ if [ "$vtoy_dev" = "tftp" ]; then
fi
done
loadfont ascii
if [ -f $iso_path/ventoy/ventoy.json ]; then
set vt_plugin_path=$iso_path
else
set vt_plugin_path=$prefix
vt_load_plugin $vt_plugin_path
fi
else
if [ "$prefix" = "(ventoydisk)/grub" ]; then
set vtoy_path=(ventoydisk)/ventoy
@@ -589,6 +613,7 @@ else
set iso_path=($vtoy_dev,1)
set vtoy_efi_part=($vtoy_dev,2)
loadfont unicode
set vt_plugin_path=$iso_path
fi
@@ -597,6 +622,12 @@ if [ -f $iso_path/ventoy/ventoy.json ]; then
vt_load_plugin $iso_path
fi
if [ -n "$VTOY_MENU_TIMEOUT" ]; then
set timeout=$VTOY_MENU_TIMEOUT
else
unset timeout
fi
if [ -f $iso_path/ventoy/ventoy_wimboot.img ]; then
vt_load_wimboot $iso_path/ventoy/ventoy_wimboot.img
elif [ -f $vtoy_efi_part/ventoy/ventoy_wimboot.img ]; then
@@ -631,8 +662,6 @@ else
terminal_output gfxterm
fi
#vtdebug on
#colect all image files (iso files)
set ventoy_img_count=0
vt_list_img $iso_path ventoy_img_count

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -1,6 +1,6 @@
if [ "$grub_platform" = "pc" ]; then
menuentry 'Search and boot Windows' {
menuentry 'Search and boot Windows' --class=boot_windows {
if search -n -s -f /bootmgr; then
ntldr /bootmgr
elif search -n -s -f /ntldr; then
@@ -10,19 +10,27 @@ if [ "$grub_platform" = "pc" ]; then
fi
}
menuentry 'Boot the 1st local disk' {
menuentry 'Search and boot Grub4dos' --class=boot_g4d {
if search -n -s -f /grldr; then
ntldr /grldr
else
echo "Grub4dos NOT found ..."
fi
}
menuentry 'Boot the 1st local disk' --class=boot_disk {
set root=(hd0,1)
chainloader +1
boot
}
menuentry 'Boot the 2nd local disk' {
menuentry 'Boot the 2nd local disk' --class=boot_disk {
set root=(hd1,1)
chainloader +1
boot
}
menuentry 'Boot the 3rd local disk' {
menuentry 'Boot the 3rd local disk' --class=boot_disk {
set root=(hd2,1)
chainloader +1
boot
@@ -30,7 +38,7 @@ if [ "$grub_platform" = "pc" ]; then
else
menuentry 'Search and boot Windows' {
menuentry 'Search and boot Windows' --class=boot_windows {
if search -n -s -f /EFI/Microsoft/Boot/bootmgfw.efi; then
terminal_output console
chainloader /EFI/Microsoft/Boot/bootmgfw.efi
@@ -40,7 +48,7 @@ else
fi
}
menuentry 'Search and boot BOOTX64.EFI' {
menuentry 'Search and boot BOOTX64.EFI' --class=boot_uefi {
if search -n -s -f /efi/boot/bootx64.efi; then
terminal_output console
chainloader /efi/boot/bootx64.efi
@@ -52,6 +60,6 @@ else
fi
menuentry 'Return to menu [Esc]' VTOY_RET {
menuentry 'Return to menu [Esc]' --class=vtoyret VTOY_RET {
echo 'Return ...'
}

View File

@@ -1,15 +1,15 @@
menuentry Reboot {
menuentry Reboot --class=power_reboot {
echo -e '\n\nSystem is rebooting ... \n'
sleep 1
reboot
}
menuentry Halt {
menuentry Halt --class=power_halt {
echo -e '\n\nSystem is halting ... \n'
sleep 1
halt
}
menuentry 'Return to menu [Esc]' VTOY_RET {
menuentry 'Return to menu [Esc]' --class=vtoyret VTOY_RET {
echo 'Return ...'
}

View File

@@ -34,12 +34,11 @@ terminal-box: "terminal_box_*.png"
id = "__timeout__"
text = "@TIMEOUT_NOTIFICATION_SHORT@"
left = 95%
width = 48
top = 95%
height = 48
left = 20%
width = 60%
top = 85%
text_color = "#f2f2f2"
text_color = "red"
bar_style = "*"
highlight_style = "*"
}

Binary file not shown.

View File

@@ -10,12 +10,13 @@ print_usage() {
echo ' -I force install ventoy to sdX (no matter installed or not)'
echo ''
echo ' OPTION: (optional)'
echo ' -s enable secure boot support (default is disabled)'
echo ' -r SIZE_MB preserve some space at the bottom of the disk (only for install)'
echo ' -s enable secure boot support (default is disabled)'
echo ''
}
RESERVE_SIZE_MB=0
while [ -n "$1" ]; do
if [ "$1" = "-i" ]; then
MODE="install"
@@ -26,6 +27,10 @@ while [ -n "$1" ]; do
MODE="update"
elif [ "$1" = "-s" ]; then
SECUREBOOT="YES"
elif [ "$1" = "-r" ]; then
RESERVE_SPACE="YES"
shift
RESERVE_SIZE_MB=$1
else
if ! [ -b "$1" ]; then
vterr "$1 is NOT a valid device"
@@ -53,6 +58,15 @@ if [ -e /sys/class/block/${DISK#/dev/}/start ]; then
exit 1
fi
if [ -n "$RESERVE_SPACE" ]; then
if echo $RESERVE_SIZE_MB | grep -q '^[0-9][0-9]*$'; then
vtdebug "User will reserve $RESERVE_SIZE_MB MB disk space"
else
vterr "$RESERVE_SIZE_MB is invalid for reserved space"
exit 1
fi
fi
if dd if="$DISK" of=/dev/null bs=1 count=1 >/dev/null 2>&1; then
vtdebug "root permission check ok ..."
else
@@ -61,7 +75,7 @@ else
exit 1
fi
vtdebug "MODE=$MODE FORCE=$FORCE"
vtdebug "MODE=$MODE FORCE=$FORCE RESERVE_SPACE=$RESERVE_SPACE RESERVE_SIZE_MB=$RESERVE_SIZE_MB"
if ! check_tool_work_ok; then
vterr "Some tools can not run in current system. Please check log.txt for detail."
@@ -124,12 +138,28 @@ if [ "$MODE" = "install" ]; then
exit 1
fi
if [ -n "$RESERVE_SPACE" ]; then
sum_size_mb=$(expr $RESERVE_SIZE_MB + $VENTOY_PART_SIZE_MB)
reserve_sector_num=$(expr $sum_size_mb \* 2048)
if [ $disk_sector_num -le $reserve_sector_num ]; then
vterr "Can't reserve $RESERVE_SIZE_MB MB space from $DISK"
exit 1
fi
fi
#Print disk info
echo "Disk : $DISK"
parted -s $DISK p 2>&1 | grep Model
echo "Size : $disk_size_gb GB"
echo ''
if [ -n "$RESERVE_SPACE" ]; then
echo "You will reserve $RESERVE_SIZE_MB MB disk space "
fi
echo ''
vtwarn "Attention:"
vtwarn "You will install Ventoy to $DISK."
vtwarn "All the data on the disk $DISK will be lost!!!"
@@ -162,7 +192,7 @@ if [ "$MODE" = "install" ]; then
exit 1
fi
format_ventoy_disk $DISK $PARTTOOL
format_ventoy_disk $RESERVE_SIZE_MB $DISK $PARTTOOL
# format part1
if ventoy_is_linux64; then
@@ -278,8 +308,7 @@ else
./tool/xzcat ./boot/core.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=2047 seek=1
disk_sector_num=$(cat /sys/block/${DISK#/dev/}/size)
part2_start=$(expr $disk_sector_num - $VENTOY_SECTOR_NUM)
part2_start=$(cat /sys/class/block/${PART2#/dev/}/start)
./tool/xzcat ./ventoy/ventoy.disk.img.xz | dd status=none conv=fsync of=$DISK bs=512 count=$VENTOY_SECTOR_NUM seek=$part2_start
sync

View File

@@ -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"

Binary file not shown.

Binary file not shown.

Binary file not shown.