From f4bbec65ba6770f7c37a5971847f7de01516bedf Mon Sep 17 00:00:00 2001 From: longpanda Date: Sun, 28 Mar 2021 17:18:23 +0800 Subject: [PATCH] 1.0.39 release --- .../Application/Ventoy/VentoyProtocol.c | 8 +- .../MOD_SRC/grub-2.04/grub-core/normal/menu.c | 18 ++-- IMG/cpio/ventoy/hook/debian/kerio-disk.sh | 79 ++++++++++++++++++ IMG/cpio/ventoy/hook/debian/kerio-hook.sh | 20 +++++ IMG/cpio/ventoy/hook/debian/ventoy-hook.sh | 3 + IMG/cpio/ventoy/hook/manjaro/ventoy-disk.sh | 7 +- .../3.16.0-k5-kerio-amd64/64/dm-mod.ko.xz | Bin 0 -> 44788 bytes INSTALL/grub/grub.cfg | 2 +- .../src/arch/x86/core/ventoy_vdisk.c | 23 ++++- LANGUAGES/languages.ini | Bin 173378 -> 173356 bytes 10 files changed, 148 insertions(+), 12 deletions(-) create mode 100644 IMG/cpio/ventoy/hook/debian/kerio-disk.sh create mode 100644 IMG/cpio/ventoy/hook/debian/kerio-hook.sh create mode 100644 IMG/vtloopex/kerio/vtloopex/dm-mod/3.16.0-k5-kerio-amd64/64/dm-mod.ko.xz diff --git a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c index a6e168e0..9866a4a4 100644 --- a/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c +++ b/EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c @@ -474,8 +474,12 @@ EFI_STATUS EFIAPI ventoy_block_io_read offset = Lba * 2048; } - VirtSec = g_chain->virt_img_size_in_bytes / 2048; - if (Lba + secNum > VirtSec) + VirtSec = g_chain->virt_img_size_in_bytes / 2048; + if (Lba >= VirtSec) + { + return EFI_SUCCESS; + } + else if (Lba + secNum > VirtSec) { secNum = VirtSec - Lba; } diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c index 393f2752..a83aecca 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/normal/menu.c @@ -42,6 +42,7 @@ int g_ventoy_last_entry = -1; int g_ventoy_suppress_esc = 0; int g_ventoy_menu_esc = 0; int g_ventoy_fn_mutex = 0; +int g_ventoy_terminal_output = 0; /* Time to delay after displaying an error message about a default/fallback entry failing to boot. */ @@ -871,15 +872,18 @@ run_menu (grub_menu_t menu, int nested, int *auto_boot) } break; case GRUB_TERM_KEY_F7: - case '7': - cmdstr = grub_env_get("VTOY_F7_CMD"); - if (cmdstr) + menu_fini (); + if (g_ventoy_terminal_output == 0) { - menu_fini (); - grub_script_execute_sourcecode(cmdstr); - goto refresh; + grub_script_execute_sourcecode("terminal_output console"); + g_ventoy_terminal_output = 1; } - break; + else + { + grub_script_execute_sourcecode("terminal_output gfxterm"); + g_ventoy_terminal_output = 0; + } + goto refresh; case GRUB_TERM_KEY_F1: case '1': menu_fini (); diff --git a/IMG/cpio/ventoy/hook/debian/kerio-disk.sh b/IMG/cpio/ventoy/hook/debian/kerio-disk.sh new file mode 100644 index 00000000..a589d8f8 --- /dev/null +++ b/IMG/cpio/ventoy/hook/debian/kerio-disk.sh @@ -0,0 +1,79 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +. /ventoy/hook/ventoy-hook-lib.sh + +if is_ventoy_hook_finished; then + exit 0 +fi + +vtlog "####### $0 $* ########" + +VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH + + +ventoy_os_install_dmsetup_by_ko() { + vtlog "ventoy_os_install_dmsetup_by_ko $1" + + vtVer=$(uname -r) + if uname -m | $GREP -q 64; then + vtBit=64 + else + vtBit=32 + fi + + ventoy_extract_vtloopex $1 kerio + vtLoopExDir=$VTOY_PATH/vtloopex/kerio/vtloopex + + if [ -e $vtLoopExDir/dm-mod/$vtVer/$vtBit/dm-mod.ko.xz ]; then + $BUSYBOX_PATH/xz -d $vtLoopExDir/dm-mod/$vtVer/$vtBit/dm-mod.ko.xz + insmod $vtLoopExDir/dm-mod/$vtVer/$vtBit/dm-mod.ko + fi +} + + +wait_for_usb_disk_ready + +vtdiskname=$(get_ventoy_disk_name) +if [ "$vtdiskname" = "unknown" ]; then + vtlog "ventoy disk not found" + PATH=$VTPATH_OLD + exit 0 +fi + +if echo $vtdiskname | $EGREP -q "nvme|mmc|nbd"; then + ventoy_os_install_dmsetup_by_ko "${vtdiskname}p2" +else + ventoy_os_install_dmsetup_by_ko "${vtdiskname}2" +fi + + +ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace" + +blkdev_num=$($VTOY_PATH/tool/dmsetup ls | grep ventoy | sed 's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1:\2/') +vtDM=$(ventoy_find_dm_id ${blkdev_num}) + +vtlog "/dev/$vtDM" +mount -t iso9660 /dev/$vtDM /cdrom +modprobe squashfs +echo "/dev/$vtDM" > /ventoy/vtDM + +PATH=$VTPATH_OLD + +set_ventoy_hook_finish diff --git a/IMG/cpio/ventoy/hook/debian/kerio-hook.sh b/IMG/cpio/ventoy/hook/debian/kerio-hook.sh new file mode 100644 index 00000000..864292b7 --- /dev/null +++ b/IMG/cpio/ventoy/hook/debian/kerio-hook.sh @@ -0,0 +1,20 @@ +#!/ventoy/busybox/sh +#************************************************************************************ +# Copyright (c) 2020, longpanda +# +# This program is free software; you can redistribute it and/or +# modify it under the terms of the GNU General Public License as +# published by the Free Software Foundation; either version 3 of the +# License, or (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, but +# WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, see . +# +#************************************************************************************ + +$SED "/for drive in/i\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/kerio-disk.sh >/dev/null 2>&1; cat /ventoy/vtDM; exit 0" -i /installer/install_init diff --git a/IMG/cpio/ventoy/hook/debian/ventoy-hook.sh b/IMG/cpio/ventoy/hook/debian/ventoy-hook.sh index 9c4b50fd..2af8bd17 100644 --- a/IMG/cpio/ventoy/hook/debian/ventoy-hook.sh +++ b/IMG/cpio/ventoy/hook/debian/ventoy-hook.sh @@ -86,6 +86,9 @@ ventoy_get_debian_distro() { fi fi + if [ -e /opt/kerio ]; then + echo 'kerio'; return + fi echo 'default' diff --git a/IMG/cpio/ventoy/hook/manjaro/ventoy-disk.sh b/IMG/cpio/ventoy/hook/manjaro/ventoy-disk.sh index e325eabf..d23fe499 100644 --- a/IMG/cpio/ventoy/hook/manjaro/ventoy-disk.sh +++ b/IMG/cpio/ventoy/hook/manjaro/ventoy-disk.sh @@ -49,7 +49,12 @@ done if [ -n "$1" ]; then vtlog "ln -s /dev/$vtDM $1" - ln -s /dev/$vtDM "$1" + + if [ -e "$1" ]; then + vtlog "$1 already exist" + else + ln -s /dev/$vtDM "$1" + fi else vtLABEL=$($BUSYBOX_PATH/blkid /dev/$vtDM | $SED 's/.*LABEL="\([^"]*\)".*/\1/') vtlog "vtLABEL is $vtLABEL" diff --git a/IMG/vtloopex/kerio/vtloopex/dm-mod/3.16.0-k5-kerio-amd64/64/dm-mod.ko.xz b/IMG/vtloopex/kerio/vtloopex/dm-mod/3.16.0-k5-kerio-amd64/64/dm-mod.ko.xz new file mode 100644 index 0000000000000000000000000000000000000000..27d9fcb7f6101bb5025665973d90bbad6261cf32 GIT binary patch literal 44788 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

jD7pNx!v!3CZPNz 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 / 512; + if (lba < lastlba) + { + if (lba + count > lastlba) + { + count = lastlba - lba; + } + ventoy_vdisk_read_real_hdd(lba, count, buffer); + } + #endif + ventoy_vdisk_read_real_hdd(lba, count, buffer); ix86->regs.dl = sandev->drive; return 0; @@ -435,7 +448,15 @@ int ventoy_vdisk_read(struct san_device *sandev, uint64_t lba, unsigned int coun } VirtSec = g_chain->virt_img_size_in_bytes / 2048; - if (lba + count > VirtSec) + if (lba >= VirtSec) + { + /* fix for grub4dos Inconsistent data read from error */ + memset((void *)(buffer + (count - 1) * 2048), 0, 2048); + + ix86->regs.dl = sandev->drive; + return 0; + } + else if (lba + count > VirtSec) { count = VirtSec - lba; } diff --git a/LANGUAGES/languages.ini b/LANGUAGES/languages.ini index 8f92970f2048685da611d72d7c600a55c5d0b9af..b07c287efb32978c160bdcd02701be1dd156103b 100644 GIT binary patch delta 362 zcmXYrF-QVo7>56oOF~3SA_`9VEj2AE4Tq4hC<`J9p@KuCXblGk2Z^?bs4YLpCCH)i z?~+UD#=9T%E~$pXn+{rT4O-e9I@9Upd*OTDhqfK0?Wk#-jqkuaw`oHfjC&H3rkGYS zDv+qaDHxgbvcq@2sX_g4N*YuX)4~eED1=PW zpcw7zB^BhuMcDDhA&X`EKc`ixC77tybq9C39$8>@Vy#}Q&1TWc-YQ0;FXyTzn&P~L zj0&dcmoVyTeV50nCYyhVDV5Be%?mfvly#G$3J3mTMc!qcaO`u8_55SXFJZK0HD~>D zT7i@Udv>XXQMv(Dd@|IBeFg3YDj=`Vf)Gr)ou5A+yppn9;%FPKp_~NW;4NEJ6&W%c pOQ6rVM|!3PWeG;ZZ(S0qmqR)v!!DS}N6uW~3s;zVc7<*6(?8I;pLYNN delta 396 zcmXAlKS%;`6vv-t5)xtuMup0+I_;o3tQ;gFBBCXzmg1rim$sEtU{EXuCY>ia zWP-!YQ-wfH+b{or;%d5p$|Av?AlJyM!Yjd>-~rC6ceC|gVUWc6o}%oWybiZc`zEx1!ua3qLxd`b4n+0sOR&dIrsECjmkBd2Lczm zr54TBWcI