]> glassweightruler.freedombox.rocks Git - Ventoy.git/commitdiff
prepare for new release
authorlongpanda <admin@ventoy.net>
Thu, 9 Jul 2020 11:26:10 +0000 (19:26 +0800)
committerlongpanda <admin@ventoy.net>
Thu, 9 Jul 2020 11:26:23 +0000 (19:26 +0800)
15 files changed:
EDK2/edk2_mod/edk2-edk2-stable201911/MdeModulePkg/Application/Ventoy/VentoyProtocol.c
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_def.h
GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy_windows.c
IMG/cpio/ventoy/hook/debian/default-hook.sh
IMG/cpio/ventoy/hook/debian/ventoy-inotifyd-hook.sh
IMG/cpio/ventoy/hook/gobo/ventoy-inotifyd-hook.sh
IMG/cpio/ventoy/hook/mageia/ventoy-inotifyd-hook.sh
IMG/cpio/ventoy/hook/manjaro/ventoy-inotifyd-hook.sh
IMG/cpio/ventoy/hook/pmagic/disk-hook.sh [new file with mode: 0644]
IMG/cpio/ventoy/hook/pmagic/udev_disk_hook.sh [new file with mode: 0644]
IMG/cpio/ventoy/hook/pmagic/ventoy-hook.sh [new file with mode: 0644]
IMG/cpio/ventoy/hook/rhel7/ventoy-inotifyd-hook.sh
IMG/cpio/ventoy/ventoy.sh
INSTALL/tool/VentoyWorker.sh
Ventoy2Disk/Ventoy2Disk/Res/refresh.ico [new file with mode: 0644]

index 8afbd9a1ac851f07973f1e7fb36a0fe88ded8db2..ed595b9f1c7b635bdcc67e281dbd3bdc5ba1584d 100644 (file)
@@ -167,7 +167,7 @@ STATIC EFI_STATUS EFIAPI ventoy_read_iso_sector
                                      MapLba, secRead * 2048, pCurBuf);
             if (EFI_ERROR(Status))
             {
-                debug("Raw disk read block failed %r", Status);
+                debug("Raw disk read block failed %r LBA:%lu Count:%u", Status, MapLba, secRead);
                 return Status;
             }
 
index 169c56e9a425823d2e22848af19dbb405f3a8d11..27eb7fd7ead50452912a8c3d7fa24a1493219bca 100644 (file)
@@ -225,6 +225,7 @@ void ventoy_debug(const char *fmt, ...);
 #define FLAG_HEADER_COMPRESS_RESERVED 0x00010000
 #define FLAG_HEADER_COMPRESS_XPRESS   0x00020000
 #define FLAG_HEADER_COMPRESS_LZX      0x00040000
+#define FLAG_HEADER_COMPRESS_LZMS     0x00080000
 
 #define RESHDR_FLAG_FREE 0x01
 #define RESHDR_FLAG_METADATA 0x02
index 1100fd38648e8822645ecc116f238b9858bbc6d6..d756afcb5e88822cfa3367a733e8b8f4fb89926d 100644 (file)
@@ -811,9 +811,9 @@ static int ventoy_wimdows_locate_wim(const char *disk, wim_patch *patch)
         return 1;
     }
 
-    if (head->flags & FLAG_HEADER_COMPRESS_XPRESS)
+    if ((head->flags & FLAG_HEADER_COMPRESS_XPRESS) || (head->flags & FLAG_HEADER_COMPRESS_LZMS))
     {
-        debug("Xpress compress is not supported 0x%x\n", head->flags);
+        debug("Xpress or LZMS compress is not supported 0x%x\n", head->flags);
         grub_file_close(file);
         return 1;
     }
index bd2dd1eaf607e0cbb0bb4a97a7bd1e3d234a99cd..234c67665b6906cb52a131516ca4544a3ce27619 100644 (file)
@@ -17,6 +17,8 @@
 # 
 #************************************************************************************
 
+CD_DETECT="/var/lib/dpkg/info/cdrom-detect.postinst"
+
 if [ -e /init ] && $GREP -q '^mountroot$' /init; then
     echo "Here before mountroot ..." >> $VTLOG
     
@@ -29,7 +31,15 @@ if [ -e /init ] && $GREP -q '^mountroot$' /init; then
             $SED "s#^  *LIVEMEDIA=.*#LIVEMEDIA=/dev/mapper/ventoy#" -i /scripts/casper
         fi
     fi
-    
+elif [ -e "$CD_DETECT" ]; then
+    echo "$CD_DETECT exist, now add hook in it..." >> $VTLOG
+
+    $SED  "1 a $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/disk_mount_hook.sh"  -i "$CD_DETECT"
+    TITLE_LINE=$($GREP -m1 '^hw-detect.*detect_progress_title' "$CD_DETECT")
+    if [ $? -eq 0 ]; then
+        echo "add $TITLE_LINE for hook" >> $VTLOG
+        $SED  "1 a$TITLE_LINE"  -i "$CD_DETECT"
+    fi
 elif [ -e /init ] && $GREP -q '/start-udev$' /init; then
     echo "Here use notify ..." >> $VTLOG
     
index 53916c6a42170853a36ff0e936dc04733539f0bb..e15472251ea2a552b6558661b0f401c32fbeab5f 100644 (file)
@@ -23,13 +23,15 @@ if is_ventoy_hook_finished; then
     exit 0
 fi
 
-vtlog "##### INOTIFYD: $2/$3 is created ..."
 
 VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
 
 if is_inotify_ventoy_part $3; then
+    vtlog "##### INOTIFYD: $2/$3 is created (YES) ..."
     vtlog "find ventoy partition $3 ..."    
     $BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/udev_disk_hook.sh "$3"
+else
+    vtlog "##### INOTIFYD: $2/$3 is created (NO)..."
 fi
 
 PATH=$VTPATH_OLD
index ff52bbb091e72f73f59f95a15cae5f9bd357aa35..76009e8641a418be0d8772320de55b916c03e960 100644 (file)
@@ -23,11 +23,11 @@ if is_ventoy_hook_finished; then
     exit 0
 fi
 
-vtlog "##### INOTIFYD: $2/$3 is created ..."
-
 VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
 
 if is_inotify_ventoy_part $3; then
+    vtlog "##### INOTIFYD: $2/$3 is created (YES)..."
+    
     vtlog "find ventoy partition $3 ..."
     $BUSYBOX_PATH/sh $VTOY_PATH/hook/default/udev_disk_hook.sh $3 noreplace
     
@@ -42,6 +42,8 @@ if is_inotify_ventoy_part $3; then
     # fi
     
     set_ventoy_hook_finish
+else
+    vtlog "##### INOTIFYD: $2/$3 is created (NO)..."
 fi
 
 PATH=$VTPATH_OLD
index bc604ffd8ad1c7b40f68c544e320494950b35d7f..226cbcade04d790e92eea1bbb8545d1daf9125da 100644 (file)
@@ -23,12 +23,11 @@ if is_ventoy_hook_finished; then
     exit 0
 fi
 
-vtlog "##### INOTIFYD: $2/$3 is created ..."
-
 VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
 
 if is_inotify_ventoy_part $3; then
-
+    vtlog "##### INOTIFYD: $2/$3 is created (YES) ..."
+    
     vtlog "find ventoy partition ..."
     $BUSYBOX_PATH/sh $VTOY_PATH/hook/default/udev_disk_hook.sh $3 noreplace
     
@@ -64,6 +63,8 @@ if is_inotify_ventoy_part $3; then
     fi
     
     set_ventoy_hook_finish
+else
+    vtlog "##### INOTIFYD: $2/$3 is created (NO) ..."
 fi
 
 PATH=$VTPATH_OLD
index 60cff43a4f6f6329d1c159d7b20c2991199ec89f..5f2d45cb6ad7fd7dd76316a6eae4176cb6e321a3 100644 (file)
@@ -23,11 +23,10 @@ if is_ventoy_hook_finished; then
     exit 0
 fi
 
-vtlog "##### INOTIFYD: $2/$3 is created ..."
-
 VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
 
 if is_inotify_ventoy_part $3; then
+    vtlog "##### INOTIFYD: $2/$3 is created (YES) ..."
     vtlog "find ventoy partition $3 ..."    
     $BUSYBOX_PATH/sh $VTOY_PATH/hook/default/udev_disk_hook.sh "$3"
     
@@ -41,6 +40,8 @@ if is_inotify_ventoy_part $3; then
         mkdir -p /dev/disk/by-label
     fi
     $BUSYBOX_PATH/cp -a /dev/$vtDM /dev/disk/by-label/$vtLABEL
+else
+    vtlog "##### INOTIFYD: $2/$3 is created (NO) ..."
 fi
 
 PATH=$VTPATH_OLD
diff --git a/IMG/cpio/ventoy/hook/pmagic/disk-hook.sh b/IMG/cpio/ventoy/hook/pmagic/disk-hook.sh
new file mode 100644 (file)
index 0000000..3e46fbf
--- /dev/null
@@ -0,0 +1,47 @@
+#!/ventoy/busybox/sh
+#************************************************************************************
+# Copyright (c) 2020, longpanda <admin@ventoy.net>
+# 
+# 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 <http://www.gnu.org/licenses/>.
+# 
+#************************************************************************************
+
+. /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
+
+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
+
+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/')
+mknod -m 0666 /dev/ventoy b $blkdev_num
+
+
+PATH=$VTPATH_OLD
+
+set_ventoy_hook_finish
diff --git a/IMG/cpio/ventoy/hook/pmagic/udev_disk_hook.sh b/IMG/cpio/ventoy/hook/pmagic/udev_disk_hook.sh
new file mode 100644 (file)
index 0000000..93e0548
--- /dev/null
@@ -0,0 +1,32 @@
+#!/ventoy/busybox/sh
+#************************************************************************************
+# Copyright (c) 2020, longpanda <admin@ventoy.net>
+# 
+# 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 <http://www.gnu.org/licenses/>.
+# 
+#************************************************************************************
+
+. /ventoy/hook/ventoy-hook-lib.sh
+
+if is_ventoy_hook_finished || not_ventoy_disk "${1:0:-1}"; then
+    exit 0
+fi
+
+ventoy_udev_disk_common_hook $* "noreplace"
+blkdev_num=$($VTOY_PATH/tool/dmsetup ls | grep ventoy | sed 's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1 \2/')
+mknod -m 0666 /dev/ventoy b $blkdev_num
+
+# OK finish
+set_ventoy_hook_finish
+
diff --git a/IMG/cpio/ventoy/hook/pmagic/ventoy-hook.sh b/IMG/cpio/ventoy/hook/pmagic/ventoy-hook.sh
new file mode 100644 (file)
index 0000000..d476887
--- /dev/null
@@ -0,0 +1,31 @@
+#!/ventoy/busybox/sh
+#************************************************************************************
+# Copyright (c) 2020, longpanda <admin@ventoy.net>
+# 
+# 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 <http://www.gnu.org/licenses/>.
+# 
+#************************************************************************************
+
+. $VTOY_PATH/hook/ventoy-os-lib.sh
+
+if $GREP -q 'Searching *for *PMAGIC' /init; then
+    echo "Find Searching PMAGIC" >> $VTLOG
+    $SED "/Searching *for *PMAGIC/a\ root=/dev/ventoy" -i  /init
+    $SED "/Searching *for *PMAGIC/a\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/pmagic/disk-hook.sh" -i  /init
+else
+    echo "Use default..." >> $VTLOG    
+    $SED "s#^root=.*cmdline.*#root=/dev/ventoy#g'" -i  /init
+    ventoy_systemd_udevd_work_around
+    ventoy_add_udev_rule "$VTOY_PATH/hook/pmagic/udev_disk_hook.sh %k"
+fi
index a565098bfe8a8a3a78a28fc280356bd2383365e8..a1431d07118f37c47d073e0d64b67983c3f9aa77 100644 (file)
@@ -23,12 +23,12 @@ if is_ventoy_hook_finished; then
     exit 0
 fi
 
-vtlog "##### INOTIFYD: $2/$3 is created ..."
-
 VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
 
 if is_inotify_ventoy_part $3; then
 
+    vtlog "##### INOTIFYD: $2/$3 is created (YES) ..."
+
     vtGenRulFile='/etc/udev/rules.d/99-live-squash.rules'
     if [ -e $vtGenRulFile ] && $GREP -q dmsquash $vtGenRulFile; then
         vtScript=$($GREP -m1 'RUN.=' $vtGenRulFile | $AWK -F'RUN.=' '{print $2}' | $SED 's/"\(.*\)".*/\1/')
@@ -57,6 +57,8 @@ if is_inotify_ventoy_part $3; then
     fi
     
     set_ventoy_hook_finish
+else
+    vtlog "##### INOTIFYD: $2/$3 is created (NO) ..."
 fi
 
 PATH=$VTPATH_OLD
index 640b08a9e2d48baf9b8f1e76610e5ae2a5334261..af1f2dfe5f7e3d37e4051e0cd4d75dddeed17d93 100644 (file)
@@ -196,6 +196,10 @@ ventoy_get_os_type() {
         echo 'adelie'; return
     fi
     
+    if $GREP -q 'pmagic' /proc/version; then
+        echo 'pmagic'; return
+    fi
+    
     echo "default"
 }
 
index 2fe07e6af5bda721d3cec4284001ecffe28d3bc8..1f79df3fb090e57b6b211f7185b9f7f569845ad6 100644 (file)
@@ -6,15 +6,14 @@ print_usage() {
     echo 'Usage:  Ventoy2Disk.sh CMD [ OPTION ] /dev/sdX'
     echo '  CMD:'
     echo '   -i  install ventoy to sdX (fail if disk already installed with ventoy)'
-    echo '   -u  update ventoy in sdX'
     echo '   -I  force install ventoy to sdX (no matter installed or not)'
+    echo '   -u  update ventoy in sdX'
     echo ''
     echo '  OPTION: (optional)'
     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 '   -g          use GPT partition style, default is MBR (only for install)'
     echo ''
-    
 }
 
 RESERVE_SIZE_MB=0
diff --git a/Ventoy2Disk/Ventoy2Disk/Res/refresh.ico b/Ventoy2Disk/Ventoy2Disk/Res/refresh.ico
new file mode 100644 (file)
index 0000000..c2bc338
Binary files /dev/null and b/Ventoy2Disk/Ventoy2Disk/Res/refresh.ico differ