From 82e99a3b37e70057387942db6c5844a7663e4e6c Mon Sep 17 00:00:00 2001 From: longpanda Date: Fri, 4 Feb 2022 17:05:14 +0800 Subject: [PATCH] 1.0.65 release --- .github/ISSUE_TEMPLATE/issue_template.yml | 2 +- .github/workflows/ci.yml | 4 ++ IMG/cpio/ventoy/hook/debian/default-hook.sh | 11 +++- .../ventoy/hook/debian/ventoy-cloud-init.sh | 63 +++++++++++++++++++ INSTALL/grub/grub.cfg | 2 +- INSTALL/ventoy_pack.sh | 2 + LinuxGUI/Ventoy2Disk/Core/ventoy_util.c | 2 + README.md | 4 +- 8 files changed, 84 insertions(+), 6 deletions(-) create mode 100644 IMG/cpio/ventoy/hook/debian/ventoy-cloud-init.sh diff --git a/.github/ISSUE_TEMPLATE/issue_template.yml b/.github/ISSUE_TEMPLATE/issue_template.yml index 18ae2c4a..85ed49e3 100644 --- a/.github/ISSUE_TEMPLATE/issue_template.yml +++ b/.github/ISSUE_TEMPLATE/issue_template.yml @@ -21,7 +21,7 @@ body: attributes: label: Ventoy Version description: What version of ventoy are you running? - placeholder: 1.0.64 + placeholder: 1.0.65 validations: required: true - type: dropdown diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 670cea29..8b510b29 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -27,6 +27,10 @@ jobs: with: name: ventoy-livecd path: INSTALL/ventoy-*livecd* + - uses: actions/upload-artifact@v2 + with: + name: SHA256SUM + path: INSTALL/sha256.txt - uses: actions/upload-artifact@v2 with: name: xxx-build-log diff --git a/IMG/cpio/ventoy/hook/debian/default-hook.sh b/IMG/cpio/ventoy/hook/debian/default-hook.sh index 4b528320..37f5a9ed 100644 --- a/IMG/cpio/ventoy/hook/debian/default-hook.sh +++ b/IMG/cpio/ventoy/hook/debian/default-hook.sh @@ -54,8 +54,15 @@ fi if [ -f $VTOY_PATH/autoinstall ]; then echo "Do auto install ..." >> $VTLOG - if $GREP -q "^mount /proc$" /init; then - $SED "/^mount \/proc/a export file=$VTOY_PATH/autoinstall; export auto='true'; export priority='critical'" -i /init + if $GREP -q '^autoinstall:' $VTOY_PATH/autoinstall; then + echo "cloud-init auto install ..." >> $VTLOG + if $GREP -q "maybe_break init" /init; then + $SED "/maybe_break init/i $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/ventoy-cloud-init.sh \$rootmnt" -i /init + fi + else + if $GREP -q "^mount /proc$" /init; then + $SED "/^mount \/proc/a export file=$VTOY_PATH/autoinstall; export auto='true'; export priority='critical'" -i /init + fi fi fi diff --git a/IMG/cpio/ventoy/hook/debian/ventoy-cloud-init.sh b/IMG/cpio/ventoy/hook/debian/ventoy-cloud-init.sh new file mode 100644 index 00000000..875b496e --- /dev/null +++ b/IMG/cpio/ventoy/hook/debian/ventoy-cloud-init.sh @@ -0,0 +1,63 @@ +#!/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 + +vtlog "####### $0 $* ########" + +VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH + +newroot=$1 + +dd if=/dev/zero of=$newroot/tmp/cidata.img bs=1M count=8 status=none +freeloop=$(losetup -f) + +losetup $freeloop $newroot/tmp/cidata.img + +mkfs.vfat -n CIDATA $freeloop + +mkdir /tmpcidata +mount $newroot/tmp/cidata.img /tmpcidata + +vtSplit=$(grep VENTOY_META_DATA_SPLIT $VTOY_PATH/autoinstall | wc -l) +if [ $vtSplit -eq 1 ]; then + vtlog "split autoinstall script to user-data and meta-data" + vtLine=$(grep -n VENTOY_META_DATA_SPLIT $VTOY_PATH/autoinstall | awk -F: '{print $1}') + vtLine1=$(expr $vtLine - 1) + vtLine2=$(expr $vtLine + 1) + vtlog "Line number: $vtLine $vtLine1 $vtLine2" + sed -n "1,${vtLine1}p" $VTOY_PATH/autoinstall >/tmpcidata/user-data + sed -n "${vtLine2},\$p" $VTOY_PATH/autoinstall >/tmpcidata/meta-data +else + vtlog "only user-data avaliable" + cp -a $VTOY_PATH/autoinstall /tmpcidata/user-data + touch /tmpcidata/meta-data +fi + + +umount /tmpcidata +rm -rf /tmpcidata + +vtCMD=$(cat /proc/cmdline) +echo "autoinstall $vtCMD" > $newroot/tmp/kcmdline +mount --bind $newroot/tmp/kcmdline /proc/cmdline + + +PATH=$VTPATH_OLD + diff --git a/INSTALL/grub/grub.cfg b/INSTALL/grub/grub.cfg index d84a9d38..4840c576 100644 --- a/INSTALL/grub/grub.cfg +++ b/INSTALL/grub/grub.cfg @@ -2022,7 +2022,7 @@ function img_unsupport_menuentry { ############################################################# ############################################################# -set VENTOY_VERSION="1.0.64" +set VENTOY_VERSION="1.0.65" #ACPI not compatible with Window7/8, so disable by default set VTOY_PARAM_NO_ACPI=1 diff --git a/INSTALL/ventoy_pack.sh b/INSTALL/ventoy_pack.sh index 013cf475..315d840a 100644 --- a/INSTALL/ventoy_pack.sh +++ b/INSTALL/ventoy_pack.sh @@ -217,4 +217,6 @@ else fi rm -f log.txt +rm -f sha256.txt +sha256sum ventoy-${curver}-* > sha256.txt diff --git a/LinuxGUI/Ventoy2Disk/Core/ventoy_util.c b/LinuxGUI/Ventoy2Disk/Core/ventoy_util.c index 38ac8d59..27c015fb 100644 --- a/LinuxGUI/Ventoy2Disk/Core/ventoy_util.c +++ b/LinuxGUI/Ventoy2Disk/Core/ventoy_util.c @@ -299,6 +299,7 @@ static int VentoyFillProtectMBR(uint64_t DiskSizeBytes, MBR_HEAD *pMBR) vdebug("Disk signature: 0x%08x\n", DiskSignature); memcpy(pMBR->BootCode + 0x1B8, &DiskSignature, 4); + memcpy(pMBR->BootCode + 0x180, &Guid, 16); DiskSectorCount = DiskSizeBytes / 512 - 1; if (DiskSectorCount > 0xFFFFFFFF) @@ -490,6 +491,7 @@ int ventoy_fill_mbr(uint64_t size, uint64_t reserve, int align4k, MBR_HEAD *pMBR vdebug("Disk signature: 0x%08x\n", DiskSignature); memcpy(pMBR->BootCode + 0x1B8, &DiskSignature, 4); + memcpy(pMBR->BootCode + 0x180, &Guid, 16); if (size / 512 > 0xFFFFFFFF) { diff --git a/README.md b/README.md index 863da1d0..8ec56689 100644 --- a/README.md +++ b/README.md @@ -16,7 +16,7 @@ You can copy many image files at a time and ventoy will give you a boot menu to x86 Legacy BIOS, IA32 UEFI, x86_64 UEFI, ARM64 UEFI and MIPS64EL UEFI are supported in the same way.
Both MBR and GPT partition style are supported in the same way.
Most type of OS supported(Windows/WinPE/Linux/Unix/ChromeOS/Vmware/Xen...)
- 780+ ISO files are tested (List). 90%+ distros in distrowatch.com supported (Details).
+ 800+ ISO files are tested (List). 90%+ distros in distrowatch.com supported (Details).

Official Website: https://www.ventoy.net @@ -58,7 +58,7 @@ A GUI Ventoy plugin configurator. [VentoyPlugson](https://www.ventoy.net/en/plug * FAT32/exFAT/NTFS/UDF/XFS/Ext2(3)(4) supported for main partition * ISO files larger than 4GB supported * Native boot menu style for Legacy & UEFI -* Most type of OS supported, 780+ iso files tested +* Most type of OS supported, 800+ iso files tested * Linux vDisk boot supported * Not only boot but also complete installation process * Menu dynamically switchable between List/TreeView mode