diff --git a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c index cb2dc6d3..5a64a538 100644 --- a/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c +++ b/GRUB2/MOD_SRC/grub-2.04/grub-core/ventoy/ventoy.c @@ -1318,7 +1318,7 @@ static int ventoy_dynamic_tree_menu(img_iterator_node *node) " %s_%s \n" "}\n", grub_get_human_size(img->size, GRUB_HUMAN_SIZE_SHORT), - img->unsupport ? "[unsupported] " : "", + img->unsupport ? "[***********] " : "", img->alias ? img->alias : img->name, img->class, img->id, img->menu_prefix, img->unsupport ? "unsupport_menuentry" : "common_menuentry"); @@ -1474,7 +1474,7 @@ static grub_err_t ventoy_cmd_list_img(grub_extcmd_context_t ctxt, int argc, char "menuentry \"%s%s\" --class=\"%s\" --id=\"VID_%d\" {\n" " %s_%s \n" "}\n", - cur->unsupport ? "[unsupported] " : "", + cur->unsupport ? "[***********] " : "", cur->alias ? cur->alias : cur->name, cur->class, cur->id, cur->menu_prefix, cur->unsupport ? "unsupport_menuentry" : "common_menuentry"); diff --git a/IMG/cpio/ventoy/hook/blackPanther/ventoy-hook.sh b/IMG/cpio/ventoy/hook/blackPanther/ventoy-hook.sh new file mode 100644 index 00000000..bdcea43c --- /dev/null +++ b/IMG/cpio/ventoy/hook/blackPanther/ventoy-hook.sh @@ -0,0 +1,25 @@ +#!/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 . +# +#************************************************************************************ + +. $VTOY_PATH/hook/ventoy-os-lib.sh + +ventoy_set_inotify_script blackPanther/ventoy-inotifyd-hook.sh +$BUSYBOX_PATH/cp -a $VTOY_PATH/hook/blackPanther/ventoy-inotifyd-start.sh /lib/dracut/hooks/pre-udev/00-ventoy-inotifyd-start.sh + +$SED "s#printf\(.*\)\$CMDLINE#printf\1 root=/dev/dm-0 \$CMDLINE root=/dev/dm-0#" -i /lib/dracut-lib.sh diff --git a/IMG/cpio/ventoy/hook/blackPanther/ventoy-inotifyd-hook.sh b/IMG/cpio/ventoy/hook/blackPanther/ventoy-inotifyd-hook.sh new file mode 100644 index 00000000..3b11f7ca --- /dev/null +++ b/IMG/cpio/ventoy/hook/blackPanther/ventoy-inotifyd-hook.sh @@ -0,0 +1,46 @@ +#!/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 + +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 + + blkdev_num_dev=$($VTOY_PATH/tool/dmsetup ls | grep ventoy | sed 's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1 \2/') + if ! [ -e /dev/dm-0 ]; then + mknod -m 660 /dev/dm-0 b $blkdev_num_dev + fi + blackPanther-root /dev/dm-0 + + set_ventoy_hook_finish +else + vtlog "##### INOTIFYD: $2/$3 is created (NO) ..." +fi + +PATH=$VTPATH_OLD diff --git a/IMG/cpio/ventoy/hook/blackPanther/ventoy-inotifyd-start.sh b/IMG/cpio/ventoy/hook/blackPanther/ventoy-inotifyd-start.sh new file mode 100644 index 00000000..62e10a3b --- /dev/null +++ b/IMG/cpio/ventoy/hook/blackPanther/ventoy-inotifyd-start.sh @@ -0,0 +1,32 @@ +#!/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 + +vtHook=$($CAT $VTOY_PATH/inotifyd-hook-script.txt) + +vtdisk=$(get_ventoy_disk_name) +if [ "$vtdisk" = "unknown" ]; then + vtlog "... start inotifyd listen $vtHook ..." + $BUSYBOX_PATH/nohup $VTOY_PATH/tool/inotifyd $vtHook /dev:n 2>&- & +else + vtlog "... $vtdisk already exist ..." + $BUSYBOX_PATH/sh $vtHook n /dev "${vtdisk#/dev/}2" +fi + diff --git a/IMG/cpio/ventoy/ventoy_chain.sh b/IMG/cpio/ventoy/ventoy_chain.sh index 61306994..938f2e22 100644 --- a/IMG/cpio/ventoy/ventoy_chain.sh +++ b/IMG/cpio/ventoy/ventoy_chain.sh @@ -301,6 +301,10 @@ ventoy_get_os_type() { echo 'pisilinux'; return fi + if $GREP -q 'blackPanther' /proc/version; then + echo 'blackPanther'; return + fi + echo "default" } diff --git a/INSTALL/EFI/BOOT/grubx64_real.efi b/INSTALL/EFI/BOOT/grubx64_real.efi index 2bdce8e1..1a331f93 100644 Binary files a/INSTALL/EFI/BOOT/grubx64_real.efi and b/INSTALL/EFI/BOOT/grubx64_real.efi differ diff --git a/INSTALL/grub/i386-pc/core.img b/INSTALL/grub/i386-pc/core.img index 1ed2226c..ef719ec2 100644 Binary files a/INSTALL/grub/i386-pc/core.img and b/INSTALL/grub/i386-pc/core.img differ diff --git a/INSTALL/tool/VentoyWorker.sh b/INSTALL/tool/VentoyWorker.sh index 10f65643..ac61997c 100644 --- a/INSTALL/tool/VentoyWorker.sh +++ b/INSTALL/tool/VentoyWorker.sh @@ -3,6 +3,7 @@ . ./tool/ventoy_lib.sh 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)' @@ -33,6 +34,11 @@ while [ -n "$1" ]; do RESERVE_SPACE="YES" shift RESERVE_SIZE_MB=$1 + elif [ "$1" = "-V" ] || [ "$1" = "--version" ]; then + exit 0 + elif [ "$1" == "-h" ] || [ "$1" = "--help" ]; then + print_usage + exit 0 else if ! [ -b "$1" ]; then vterr "$1 is NOT a valid device" @@ -180,7 +186,7 @@ if [ "$MODE" = "install" ]; then vtwarn "All the data on the disk $DISK will be lost!!!" echo "" - read -p 'Continue? (y/n)' Answer + read -p 'Continue? (y/n) ' Answer if [ "$Answer" != "y" ]; then if [ "$Answer" != "Y" ]; then exit 0 @@ -189,7 +195,7 @@ if [ "$MODE" = "install" ]; then echo "" vtwarn "All the data on the disk $DISK will be lost!!!" - read -p 'Double-check. Continue? (y/n)' Answer + read -p 'Double-check. Continue? (y/n) ' Answer if [ "$Answer" != "y" ]; then if [ "$Answer" != "Y" ]; then exit 0 diff --git a/INSTALL/ventoy/ventoy.cpio b/INSTALL/ventoy/ventoy.cpio index 1df94266..2e52e0c3 100644 Binary files a/INSTALL/ventoy/ventoy.cpio and b/INSTALL/ventoy/ventoy.cpio differ diff --git a/INSTALL/ventoy/ventoy_x64.efi b/INSTALL/ventoy/ventoy_x64.efi index 4175ec9c..60cb8415 100644 Binary files a/INSTALL/ventoy/ventoy_x64.efi and b/INSTALL/ventoy/ventoy_x64.efi differ diff --git a/INSTALL/ventoy/vtloopex.cpio b/INSTALL/ventoy/vtloopex.cpio index c5834940..7f3cd874 100644 Binary files a/INSTALL/ventoy/vtloopex.cpio and b/INSTALL/ventoy/vtloopex.cpio differ diff --git a/LANGUAGES/languages.ini b/LANGUAGES/languages.ini index d980744f..b2f5562a 100644 Binary files a/LANGUAGES/languages.ini and b/LANGUAGES/languages.ini differ