Skip to content
GitLab
Menu
Projects
Groups
Snippets
Loading...
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
Menu
Open sidebar
dadigang
Ventoy
Commits
a5c70651
Commit
a5c70651
authored
Jun 15, 2020
by
longpanda
Browse files
1.0.13 release
parent
785255b6
Changes
55
Hide whitespace changes
Inline
Side-by-side
Showing
20 changed files
with
488 additions
and
138 deletions
+488
-138
GRUB2/MOD_SRC/grub-2.04/install.sh
GRUB2/MOD_SRC/grub-2.04/install.sh
+2
-2
IMG/cpio/ventoy/hook/clear/ventoy-hook.sh
IMG/cpio/ventoy/hook/clear/ventoy-hook.sh
+7
-1
IMG/cpio/ventoy/hook/gentoo/ventoy-hook.sh
IMG/cpio/ventoy/hook/gentoo/ventoy-hook.sh
+4
-6
IMG/cpio/ventoy/hook/kiosk/ventoy-disk.sh
IMG/cpio/ventoy/hook/kiosk/ventoy-disk.sh
+70
-0
IMG/cpio/ventoy/hook/kiosk/ventoy-hook.sh
IMG/cpio/ventoy/hook/kiosk/ventoy-hook.sh
+22
-0
IMG/cpio/ventoy/hook/mageia/ventoy-hook.sh
IMG/cpio/ventoy/hook/mageia/ventoy-hook.sh
+24
-2
IMG/cpio/ventoy/hook/mageia/ventoy-inotifyd-hook.sh
IMG/cpio/ventoy/hook/mageia/ventoy-inotifyd-hook.sh
+69
-0
IMG/cpio/ventoy/hook/mageia/ventoy-inotifyd-start.sh
IMG/cpio/ventoy/hook/mageia/ventoy-inotifyd-start.sh
+9
-18
IMG/cpio/ventoy/hook/rhel6/udev_disk_hook.sh
IMG/cpio/ventoy/hook/rhel6/udev_disk_hook.sh
+1
-1
IMG/cpio/ventoy/hook/rhel6/ventoy-hook.sh
IMG/cpio/ventoy/hook/rhel6/ventoy-hook.sh
+0
-1
IMG/cpio/ventoy/hook/rhel7/ventoy-hook.sh
IMG/cpio/ventoy/hook/rhel7/ventoy-hook.sh
+16
-3
IMG/cpio/ventoy/hook/rhel7/ventoy-inotifyd-hook.sh
IMG/cpio/ventoy/hook/rhel7/ventoy-inotifyd-hook.sh
+14
-3
IMG/cpio/ventoy/hook/rhel7/ventoy-timeout.sh
IMG/cpio/ventoy/hook/rhel7/ventoy-timeout.sh
+4
-3
IMG/cpio/ventoy/init
IMG/cpio/ventoy/init
+11
-1
IMG/cpio/ventoy/ventoy.sh
IMG/cpio/ventoy/ventoy.sh
+4
-1
INSTALL/EFI/BOOT/grubx64_real.efi
INSTALL/EFI/BOOT/grubx64_real.efi
+0
-0
INSTALL/grub/debug.cfg
INSTALL/grub/debug.cfg
+57
-0
INSTALL/grub/fonts/ascii.pf2
INSTALL/grub/fonts/ascii.pf2
+0
-0
INSTALL/grub/fonts/unicode.pf2
INSTALL/grub/fonts/unicode.pf2
+0
-0
INSTALL/grub/grub.cfg
INSTALL/grub/grub.cfg
+174
-96
No files found.
GRUB2/MOD_SRC/grub-2.04/install.sh
View file @
a5c70651
...
@@ -12,10 +12,10 @@ make install
...
@@ -12,10 +12,10 @@ make install
PATH
=
$PATH
:
$VT_DIR
/GRUB2/INSTALL/bin/:
$VT_DIR
/GRUB2/INSTALL/sbin/
PATH
=
$PATH
:
$VT_DIR
/GRUB2/INSTALL/bin/:
$VT_DIR
/GRUB2/INSTALL/sbin/
net_modules_legacy
=
"net tftp http"
net_modules_legacy
=
"net tftp http"
all_modules_legacy
=
"date drivemap blocklist lspci pci ext2 xfs ventoy chain read halt iso9660 linux16 test true sleep reboot echo videotest videoinfo videotest_checksum video_colors video_cirrus video_bochs vga vbe video_fb font video gettext extcmd terminal linux minicmd help configfile tr trig boot biosdisk disk ls tar squash4 password_pbkdf2 all_video png jpeg part_msdos fat exfat ntfs loopback gzio normal udf gfxmenu gfxterm gfxterm_background gfxterm_menu"
all_modules_legacy
=
"date drivemap blocklist
ntldr search at_keyboard usb_keyboard gcry_md5 hashsum gzio xzio lzopio
lspci pci ext2 xfs ventoy chain read halt iso9660 linux16 test true sleep reboot echo videotest videoinfo videotest_checksum video_colors video_cirrus video_bochs vga vbe video_fb font video gettext extcmd terminal linux minicmd help configfile tr trig boot biosdisk disk ls tar squash4 password_pbkdf2 all_video png jpeg part_msdos fat exfat ntfs loopback gzio normal udf gfxmenu gfxterm gfxterm_background gfxterm_menu"
net_modules_uefi
=
"efinet net tftp http"
net_modules_uefi
=
"efinet net tftp http"
all_modules_uefi
=
"blocklist ventoy test ext2 xfs read halt sleep serial terminfo png password_pbkdf2 gcry_sha512 pbkdf2 part_gpt part_msdos ls tar squash4 loopback part_apple minicmd diskfilter linux relocator jpeg iso9660 udf hfsplus halt acpi mmap gfxmenu video_colors trig bitmap_scale gfxterm bitmap font fat exfat ntfs fshelp efifwsetup reboot echo configfile normal terminal gettext chain priority_queue bufio datetime cat extcmd crypto gzio boot all_video efi_gop efi_uga video_bochs video_cirrus video video_fb gfxterm_background gfxterm_menu"
all_modules_uefi
=
"blocklist ventoy test
search at_keyboard usb_keyboard gcry_md5 hashsum gzio xzio lzopio
ext2 xfs read halt sleep serial terminfo png password_pbkdf2 gcry_sha512 pbkdf2 part_gpt part_msdos ls tar squash4 loopback part_apple minicmd diskfilter linux relocator jpeg iso9660 udf hfsplus halt acpi mmap gfxmenu video_colors trig bitmap_scale gfxterm bitmap font fat exfat ntfs fshelp efifwsetup reboot echo configfile normal terminal gettext chain priority_queue bufio datetime cat extcmd crypto gzio boot all_video efi_gop efi_uga video_bochs video_cirrus video video_fb gfxterm_background gfxterm_menu"
if
[
"
$1
"
=
"uefi"
]
;
then
if
[
"
$1
"
=
"uefi"
]
;
then
...
...
IMG/cpio/ventoy/hook/clear/ventoy-hook.sh
View file @
a5c70651
...
@@ -19,4 +19,10 @@
...
@@ -19,4 +19,10 @@
.
$VTOY_PATH
/hook/ventoy-os-lib.sh
.
$VTOY_PATH
/hook/ventoy-os-lib.sh
$SED
"/find_and_mount_installer *
$/
i
\
$BUSYBOX_PATH
/sh
$VTOY_PATH
/hook/clear/disk-hook.sh"
-i
/init
if
$GREP
-q
find_and_mount_installer /init
;
then
echo
"find_and_mount_installer"
>>
$VTLOG
$SED
"/find_and_mount_installer *
$/
i
\
$BUSYBOX_PATH
/sh
$VTOY_PATH
/hook/clear/disk-hook.sh"
-i
/init
else
echo
"find_installer"
>>
$VTLOG
$SED
"/
\$
.*find_installer/i
\
$BUSYBOX_PATH
/sh
$VTOY_PATH
/hook/clear/disk-hook.sh"
-i
/init
fi
IMG/cpio/ventoy/hook/gentoo/ventoy-hook.sh
View file @
a5c70651
...
@@ -19,13 +19,11 @@
...
@@ -19,13 +19,11 @@
.
$VTOY_PATH
/hook/ventoy-os-lib.sh
.
$VTOY_PATH
/hook/ventoy-os-lib.sh
if
[
-d
/etc/udev/rules.d
]
||
[
-d
/lib/udev/rules.d
]
;
then
if
$GREP
-q
kaspersky /proc/version
;
then
$SED
"/sysresccd_stage1_normal[^(]*
$/
i
\
$BUSYBOX_PATH
/sh
$VTOY_PATH
/hook/gentoo/disk_hook.sh"
-i
/init
elif
[
-d
/etc/udev/rules.d
]
||
[
-d
/lib/udev/rules.d
]
;
then
ventoy_systemd_udevd_work_around
ventoy_systemd_udevd_work_around
ventoy_add_udev_rule
"
$VTOY_PATH
/hook/default/udev_disk_hook.sh %k noreplace"
ventoy_add_udev_rule
"
$VTOY_PATH
/hook/default/udev_disk_hook.sh %k noreplace"
else
else
if
$GREP
-q
kaspersky /proc/version
;
then
$SED
"/mdev *-s/a
\
$BUSYBOX_PATH
/sh
$VTOY_PATH
/hook/gentoo/disk_hook.sh"
-i
/init
$SED
"/sysresccd_stage1_normal[^(]*
$/
i
\
$BUSYBOX_PATH
/sh
$VTOY_PATH
/hook/gentoo/disk_hook.sh"
-i
/init
else
$SED
"/mdev *-s/a
\
$BUSYBOX_PATH
/sh
$VTOY_PATH
/hook/gentoo/disk_hook.sh"
-i
/init
fi
fi
fi
IMG/cpio/ventoy/hook/kiosk/ventoy-disk.sh
0 → 100644
View file @
a5c70651
#!/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
VTPATH_OLD
=
$PATH
;
PATH
=
$BUSYBOX_PATH
:
$VTOY_PATH
/tool:
$PATH
ventoy_os_install_dmsetup_by_unsquashfs
()
{
vtlog
"ventoy_os_install_dmsetup_by_unsquashfs
$*
"
vtKerVer
=
$(
uname
-r
)
vtKoPo
=
$(
ventoy_get_module_postfix
)
vtlog
"vtKerVer=
$vtKerVer
vtKoPo=
$vtKoPo
"
vtoydm
-i
-f
$VTOY_PATH
/ventoy_image_map
-d
$1
>
$VTOY_PATH
/iso_file_list
vtline
=
$(
grep
'[-][-] .*kernel.xzm '
$VTOY_PATH
/iso_file_list
)
sector
=
$(
echo
$vtline
|
awk
'{print $(NF-1)}'
)
length
=
$(
echo
$vtline
|
awk
'{print $NF}'
)
vtlog
"vtline=
$vtline
sector=
$sector
length=
$length
"
vtoydm
-e
-f
$VTOY_PATH
/ventoy_image_map
-d
$1
-s
$sector
-l
$length
-o
$VTOY_PATH
/kernel.xzm
mkdir
-p
$VTOY_PATH
/sqfs
mount
$VTOY_PATH
/kernel.xzm
$VTOY_PATH
/sqfs
dmModPath
=
"/lib/modules/
$vtKerVer
/kernel/drivers/md/dm-mod.
$vtKoPo
"
if
[
-e
$VTOY_PATH
/sqfs
${
dmModPath
}
]
;
then
vtlog
"success
$VTOY_PATH
/sqfs
${
dmModPath
}
"
insmod
$VTOY_PATH
/sqfs
${
dmModPath
}
else
vterr
"failed
$VTOY_PATH
/sqfs
${
dmModPath
}
"
false
fi
umount
$VTOY_PATH
/sqfs
rm
-f
$VTOY_PATH
/kernel.xzm
}
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_os_install_dmsetup_by_unsquashfs
$vtdiskname
ventoy_udev_disk_common_hook
"
${
vtdiskname
#/dev/
}
2"
"noreplace"
PATH
=
$VTPATH_OLD
IMG/cpio/ventoy/hook/kiosk/ventoy-hook.sh
0 → 100644
View file @
a5c70651
#!/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
$SED
'/^ *search [^(]*$/i\ /ventoy/busybox/sh /ventoy/hook/kiosk/ventoy-disk.sh'
-i
/init
IMG/cpio/ventoy/hook/mageia/ventoy-hook.sh
View file @
a5c70651
#!/ventoy/busybox/sh
#!/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
.
$VTOY_PATH
/hook/ventoy-os-lib.sh
ventoy_systemd_udevd_work_around
#ventoy_systemd_udevd_work_around
#ventoy_add_udev_rule "$VTOY_PATH/hook/mageia/udev_disk_hook.sh %k noreplace"
ventoy_set_inotify_script mageia/ventoy-inotifyd-hook.sh
$BUSYBOX_PATH
/cp
-a
$VTOY_PATH
/hook/mageia/ventoy-inotifyd-start.sh /lib/dracut/hooks/pre-udev/99-ventoy-inotifyd-start.sh
ventoy_add_udev_rule
"
$VTOY_PATH
/hook/mageia/udev_disk_hook.sh %k noreplace"
IMG/cpio/ventoy/hook/mageia/ventoy-inotifyd-hook.sh
0 → 100644
View file @
a5c70651
#!/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
"##### INOTIFYD:
$2
/
$3
is created ..."
VTPATH_OLD
=
$PATH
;
PATH
=
$BUSYBOX_PATH
:
$VTOY_PATH
/tool:
$PATH
if
is_inotify_ventoy_part
$3
;
then
vtlog
"find ventoy partition ..."
$BUSYBOX_PATH
/sh
$VTOY_PATH
/hook/default/udev_disk_hook.sh
$3
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
}
)
vtLABEL
=
$(
$BUSYBOX_PATH
/blkid /dev/
$vtDM
|
$AWK
'{print $2}'
|
$SED
's/.*"\(.*\)".*/\1/'
)
vtlog
"blkdev_num=
$blkdev_num
vtDM=
$vtDM
label
$vtLABEL
..."
if
[
-n
"
$vtLABEL
"
]
;
then
$BUSYBOX_PATH
/mkdir
-p
/dev/disk/by-label/
ln
-s
/dev/
$vtDM
/dev/disk/by-label/
$vtLABEL
fi
#
# cheatcode for mageia
#
# From mageia/soft/drakx/mdk-stage1 source code, we see that the stage1 binary will search
# /tmp/syslog file to determin whether there is a DAC960 cdrom in the system.
# So we insert some string to /tmp/syslog file to cheat the stage1 program.
#
$BUSYBOX_PATH
/mkdir
-p
/dev/rd
ventoy_copy_device_mapper
"/dev/rd/ventoy"
echo
'ventoy cheatcode /dev/rd/ventoy: model'
>>
/tmp/syslog
if
[
-e
/sbin/mgalive-root
]
;
then
vtlog
"set mgalive-root ..."
$BUSYBOX_PATH
/cp
-a
$BUSYBOX_PATH
/blkid /sbin/blkid
$BUSYBOX_PATH
/mkdir
-p
/dev/mapper
ln
-s
/dev/
$vtDM
/dev/mapper/ventoy
/sbin/mgalive-root /dev/dm-0
fi
set_ventoy_hook_finish
fi
PATH
=
$VTPATH_OLD
IMG/cpio/ventoy/hook/mageia/
udev_disk_hook
.sh
→
IMG/cpio/ventoy/hook/mageia/
ventoy-inotifyd-start
.sh
View file @
a5c70651
...
@@ -19,22 +19,13 @@
...
@@ -19,22 +19,13 @@
.
/ventoy/hook/ventoy-hook-lib.sh
.
/ventoy/hook/ventoy-hook-lib.sh
if
is_ventoy_hook_finished
||
not_ventoy_disk
"
${
1
:0:-1
}
"
;
then
vtHook
=
$(
$CAT
$VTOY_PATH
/inotifyd-hook-script.txt
)
exit
0
fi
ventoy_udev_disk_common_hook
$*
#
vtdisk
=
$(
get_ventoy_disk_name
)
# cheatcode for mageia
if
[
"
$vtdisk
"
=
"unknown"
]
;
then
#
vtlog
"... start inotifyd listen
$vtHook
..."
# From mageia/soft/drakx/mdk-stage1 source code, we see that the stage1 binary will search
$BUSYBOX_PATH
/nohup
$VTOY_PATH
/tool/inotifyd
$vtHook
/dev:n 2>&- &
# /tmp/syslog file to determin whether there is a DAC960 cdrom in the system.
else
# So we insert some string to /tmp/syslog file to cheat the stage1 program.
vtlog
"...
$vtdisk
already exist ..."
#
$BUSYBOX_PATH
/sh
$vtHook
n /dev
"
${
vtdisk
#/dev/
}
2"
$BUSYBOX_PATH
/mkdir
-p
/dev/rd
fi
ventoy_copy_device_mapper
"/dev/rd/ventoy"
echo
'ventoy cheatcode /dev/rd/ventoy: model'
>>
/tmp/syslog
# OK finish
set_ventoy_hook_finish
IMG/cpio/ventoy/hook/rhel6/udev_disk_hook.sh
View file @
a5c70651
...
@@ -64,7 +64,7 @@ fi
...
@@ -64,7 +64,7 @@ fi
#some distro add there repo file to /etc/anaconda.repos.d/ which will cause error during installation
#some distro add there repo file to /etc/anaconda.repos.d/ which will cause error during installation
$BUSYBOX_PATH
/nohup
$VTOY_PATH
/tool/inotifyd
$VTOY_PATH
/hook/rhel6/anaconda-repo-listen.sh /etc/anaconda.repos.d:n &
#
$BUSYBOX_PATH/nohup $VTOY_PATH/tool/inotifyd $VTOY_PATH/hook/rhel6/anaconda-repo-listen.sh /etc/anaconda.repos.d:n &
ventoy_udev_disk_common_hook
$*
"noreplace"
ventoy_udev_disk_common_hook
$*
"noreplace"
...
...
IMG/cpio/ventoy/hook/rhel6/ventoy-hook.sh
View file @
a5c70651
...
@@ -22,6 +22,5 @@
...
@@ -22,6 +22,5 @@
$BUSYBOX_PATH
/mkdir
-p
/etc/anaconda.repos.d /mnt/ventoy
$BUSYBOX_PATH
/mkdir
-p
/etc/anaconda.repos.d /mnt/ventoy
ventoy_print_yum_repo
"ventoy"
"file:///mnt/ventoy"
>
/etc/anaconda.repos.d/ventoy.repo
ventoy_print_yum_repo
"ventoy"
"file:///mnt/ventoy"
>
/etc/anaconda.repos.d/ventoy.repo
ventoy_add_udev_rule
"
$VTOY_PATH
/hook/rhel6/udev_disk_hook.sh %k"
ventoy_add_udev_rule
"
$VTOY_PATH
/hook/rhel6/udev_disk_hook.sh %k"
ventoy_add_kernel_udev_rule
"loop7"
"
$VTOY_PATH
/hook/rhel6/udev_disk_hook.sh %k"
ventoy_add_kernel_udev_rule
"loop7"
"
$VTOY_PATH
/hook/rhel6/udev_disk_hook.sh %k"
IMG/cpio/ventoy/hook/rhel7/ventoy-hook.sh
View file @
a5c70651
...
@@ -31,7 +31,13 @@ else
...
@@ -31,7 +31,13 @@ else
VTKS
=
"inst.ks=hd:/dev/dm-0:
$vtRawKs
"
VTKS
=
"inst.ks=hd:/dev/dm-0:
$vtRawKs
"
break
break
fi
fi
done
if
echo
$vtParam
|
$GREP
-q
'^ks=.*:/'
;
then
vtRawKs
=
$(
echo
$vtParam
|
$AWK
-F
:
'{print $NF}'
)
VTKS
=
"ks=hd:/dev/dm-0:
$vtRawKs
"
break
fi
done
fi
fi
echo
"VTKS=
$VTKS
"
>>
$VTLOG
echo
"VTKS=
$VTKS
"
>>
$VTLOG
...
@@ -44,8 +50,15 @@ fi
...
@@ -44,8 +50,15 @@ fi
ventoy_set_inotify_script rhel7/ventoy-inotifyd-hook.sh
ventoy_set_inotify_script rhel7/ventoy-inotifyd-hook.sh
$BUSYBOX_PATH
/cp
-a
$VTOY_PATH
/hook/rhel7/ventoy-inotifyd-start.sh /lib/dracut/hooks/pre-udev/01-ventoy-inotifyd-start.sh
#Fedora
$BUSYBOX_PATH
/cp
-a
$VTOY_PATH
/hook/rhel7/ventoy-timeout.sh /lib/dracut/hooks/initqueue/timeout/01-ventoy-timeout.sh
if
$BUSYBOX_PATH
/which dmsquash-live-root
>
/dev/null
;
then
vtPriority
=
99
else
vtPriority
=
01
fi
$BUSYBOX_PATH
/cp
-a
$VTOY_PATH
/hook/rhel7/ventoy-inotifyd-start.sh /lib/dracut/hooks/pre-udev/
${
vtPriority
}
-ventoy-inotifyd-start
.sh
$BUSYBOX_PATH
/cp
-a
$VTOY_PATH
/hook/rhel7/ventoy-timeout.sh /lib/dracut/hooks/initqueue/timeout/
${
vtPriority
}
-ventoy-timeout
.sh
# suppress write protected mount warning
# suppress write protected mount warning
if
[
-e
/usr/sbin/anaconda-diskroot
]
;
then
if
[
-e
/usr/sbin/anaconda-diskroot
]
;
then
...
...
IMG/cpio/ventoy/hook/rhel7/ventoy-inotifyd-hook.sh
View file @
a5c70651
...
@@ -28,6 +28,16 @@ vtlog "##### INOTIFYD: $2/$3 is created ..."
...
@@ -28,6 +28,16 @@ vtlog "##### INOTIFYD: $2/$3 is created ..."
VTPATH_OLD
=
$PATH
;
PATH
=
$BUSYBOX_PATH
:
$VTOY_PATH
/tool:
$PATH
VTPATH_OLD
=
$PATH
;
PATH
=
$BUSYBOX_PATH
:
$VTOY_PATH
/tool:
$PATH
if
is_inotify_ventoy_part
$3
;
then
if
is_inotify_ventoy_part
$3
;
then
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/'
)
vtlog
"vtScript=
$vtScript
"
$vtScript
else
vtlog
"
$vtGenRulFile
not exist..."
fi
vtlog
"find ventoy partition ..."
vtlog
"find ventoy partition ..."
$BUSYBOX_PATH
/sh
$VTOY_PATH
/hook/default/udev_disk_hook.sh
$3
noreplace
$BUSYBOX_PATH
/sh
$VTOY_PATH
/hook/default/udev_disk_hook.sh
$3
noreplace
...
@@ -41,9 +51,10 @@ if is_inotify_ventoy_part $3; then
...
@@ -41,9 +51,10 @@ if is_inotify_ventoy_part $3; then
ventoy_swap_device /dev/dm-0 /dev/
$vtDM
ventoy_swap_device /dev/dm-0 /dev/
$vtDM
fi
fi
vtlog
"set anaconda-diskroot ..."
if
[
-e
/sbin/anaconda-diskroot
]
;
then
/sbin/anaconda-diskroot /dev/dm-0
vtlog
"set anaconda-diskroot ..."
#/sbin/initqueue --settled --onetime --name anaconda-diskroot anaconda-diskroot /dev/dm-0
/sbin/anaconda-diskroot /dev/dm-0
fi
set_ventoy_hook_finish
set_ventoy_hook_finish
fi
fi
...
...
IMG/cpio/ventoy/hook/rhel7/ventoy-timeout.sh
View file @
a5c70651
...
@@ -26,8 +26,9 @@ VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
...
@@ -26,8 +26,9 @@ VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
blkdev_num
=
$(
dmsetup
ls
|
grep
ventoy |
sed
's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1:\2/'
)
blkdev_num
=
$(
dmsetup
ls
|
grep
ventoy |
sed
's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1:\2/'
)
vtDM
=
$(
ventoy_find_dm_id
${
blkdev_num
}
)
vtDM
=
$(
ventoy_find_dm_id
${
blkdev_num
}
)
vtlog
"diskroot
$vtDM
..."
if
[
-e
/sbin/anaconda-diskroot
]
;
then
/sbin/anaconda-diskroot /dev/dm-0
vtlog
"set anaconda-diskroot ..."
#/sbin/initqueue --settled --onetime --name anaconda-diskroot anaconda-diskroot /dev/$vtDM
/sbin/anaconda-diskroot /dev/dm-0
fi
PATH
=
$VTPATH_OLD
PATH
=
$VTPATH_OLD
IMG/cpio/ventoy/init
View file @
a5c70651
...
@@ -51,7 +51,17 @@ fi
...
@@ -51,7 +51,17 @@ fi
# #
# #
####################################################################
####################################################################
cd
/
cd
/
rm
-rf
/init /linuxrc /sbin /dev/ /root
rm
-rf
/init /linuxrc /dev/ /root
vtSbinFileNum
=
$(
ls
-1
/sbin |
wc
-l
)
if
[
$vtSbinFileNum
-eq
1
]
;
then
echo
"remove whole sbin directory"
>>
$VTLOG
rm
-rf
/sbin
else
echo
"remove only sbin/init file"
>>
$VTLOG
ls
-l
/sbin
>>
$VTLOG
rm
-f
/sbin/init
fi
ventoy_is_initrd_ramdisk
()
{
ventoy_is_initrd_ramdisk
()
{
#As I known, PCLinuxOS use ramdisk
#As I known, PCLinuxOS use ramdisk
...
...
IMG/cpio/ventoy/ventoy.sh
View file @
a5c70651
...
@@ -87,6 +87,10 @@ ventoy_get_os_type() {
...
@@ -87,6 +87,10 @@ ventoy_get_os_type() {
elif
$EGREP
-q
'archlinux|ARCH'
/proc/version
;
then
elif
$EGREP
-q
'archlinux|ARCH'
/proc/version
;
then
echo
'arch'
;
return
echo
'arch'
;
return
# kiosk
elif
$EGREP
-q
'kiosk'
/proc/version
;
then
echo
'kiosk'
;
return
# gentoo
# gentoo
elif
$EGREP
-q
'[Gg]entoo'
/proc/version
;
then
elif
$EGREP
-q
'[Gg]entoo'
/proc/version
;
then
echo
'gentoo'
;
return
echo
'gentoo'
;
return
...
@@ -215,7 +219,6 @@ if [ "$VTOY_BREAK_LEVEL" = "03" ] || [ "$VTOY_BREAK_LEVEL" = "13" ]; then
...
@@ -215,7 +219,6 @@ if [ "$VTOY_BREAK_LEVEL" = "03" ] || [ "$VTOY_BREAK_LEVEL" = "13" ]; then
fi
fi
####################################################################
####################################################################
# #
# #
# Step 4 : Hand over to real init #
# Step 4 : Hand over to real init #
...
...
INSTALL/EFI/BOOT/grubx64_real.efi
View file @
a5c70651
No preview for this file type
INSTALL/grub/debug.cfg
0 → 100644
View file @
a5c70651
submenu 'Check plugin json configuration (ventoy.json)' {
menuentry 'Check global control plugin configuration' {
set pager=1
vt_check_plugin_json $iso_path control $iso_path
echo -e "\npress ENTER to exit ..."
read vtInputKey
unset pager
}
menuentry 'Check theme plugin configuration' {
set pager=1
vt_check_plugin_json $iso_path theme $iso_path
echo -e "\npress ENTER to exit ..."
read vtInputKey
unset pager
}
menuentry 'Check auto install plugin configuration' {
set pager=1
vt_check_plugin_json $iso_path auto_install $iso_path
echo -e "\npress ENTER to exit ..."
read vtInputKey
unset pager
}
menuentry 'Check persistence plugin configuration' {
set pager=1
vt_check_plugin_json $iso_path persistence $iso_path
echo -e "\n############### dump persistence ###############"
vt_dump_persistence
echo -e "\npress ENTER to exit ..."
read vtInputKey
unset pager
}
menuentry 'Check menu alias plugin configuration' {
set pager=1
vt_check_plugin_json $iso_path menu_alias $iso_path
echo -e "\npress ENTER to exit ..."
read vtInputKey
unset pager
}
menuentry 'Return to previous menu [Esc]' VTOY_RET {
echo 'Return ...'
}
}
menuentry 'Return to previous menu [Esc]' VTOY_RET {
echo 'Return ...'
}
INSTALL/grub/fonts/ascii.pf2
View file @
a5c70651
No preview for this file type
INSTALL/grub/fonts/unicode.pf2
0 → 100644
View file @
a5c70651
File added
INSTALL/grub/grub.cfg
View file @
a5c70651
...
@@ -16,60 +16,91 @@
...
@@ -16,60 +16,91 @@
#
#
#************************************************************************************
#************************************************************************************
function ventoy_pause {
if [ -n "${vtdebug_flag}" ]; then
echo "press Enter to continue ......"
read vtTmpPause
fi
}
function ventoy_debug_pause {
if [ -n "${vtdebug_flag}" ]; then
echo "press Enter to continue ......"
read vtTmpPause
fi
}
function ventoy_power {
function ventoy_power {
configfile ($root)/grub/power.cfg
configfile $prefix/power.cfg
}
function ventoy_diagnosis {
configfile $prefix/debug.cfg
}
function ventoy_localboot {
configfile $prefix/localboot.cfg
}
}
function get_os_type {
function get_os_type {
set vtoy_os=Linux
set vtoy_os=Linux
for file in "efi/microsoft" "sources/boot.wim" "boot/bcd" "bootmgr.efi" "boot/etfsboot.com" "BOOT/etfsboot.com"; do
if [ -e $1/$file ]; then
for file in "efi/microsoft/boot/bcd" "sources/boot.wim" "boot/bcd" "bootmgr.efi" "boot/etfsboot.com" ; do
if vt_file_exist_nocase (loop)/$file; then
set vtoy_os=Windows
set vtoy_os=Windows
break
break
fi
fi
done
done
if [ -n "${vtdebug_flag}" ]; then
if [ -n "${vtdebug_flag}" ]; then
echo ISO is $vtoy_os
echo ISO is $vtoy_os
fi
fi
}
}
function vt_check_pe {
function vt_check_compatible_pe {
unset VT_PE_SUPPORT
#Check for PE without external tools
if [ -f $1/HBCD_PE.ini ]; then
if [ -f $1/HBCD_PE.ini ]; then
set ventoy_compatible=YES
set ventoy_compatible=YES
set VT_PE_SUPPORT=YES
elif [ -f $1/easyu.flg ]; then
set VT_PE_SUPPORT=YES
elif [ -f $1/USM.ICO ]; then
set VT_PE_SUPPORT=YES
elif [ -d $1/USM_TOOL ]; then
set VT_PE_SUPPORT=YES
fi
fi
}
}
function locate_initrd {
function locate_initrd {
vt_linux_locate_initrd
vt_linux_locate_initrd
if [ -n "${vtdebug_flag}" ]; then
if [ -n "${vtdebug_flag}" ]; then
vt_linux_dump_initrd
vt_linux_dump_initrd
sleep 5
ventoy_debug_pause
fi
fi
}
}
function
find_wim_file
{
function
locate_wim
{
unset ventoy_wim_file
vt_windows_locate_wim_patch (loop)
for file in "sources/boot.wim" "sources/BOOT.WIM" "Sources/Win10PEx64.WIM" "boot/BOOT.WIM" \
if [ -n "${vtdebug_flag}" ]; then
"winpe_x64.wim" "boot/10pex64.wim" "BOOT/USM1PE6L.WIM" "BOOT/USM1PE6F.WIM"; do
echo '###############################################'
if [ -e $1/$file ]; then
vt_dump_wim_patch
set ventoy_wim_file=$1/$file
echo '###############################################'
break
ventoy_debug_pause
fi
fi
done
}
}
function distro_specify_wim_patch {
if [ -d (loop)/h3pe ]; then
vt_windows_collect_wim_patch wim /BOOT/H3_10PE.WIM
vt_windows_collect_wim_patch wim /BOOT/H3_7PE.WIM
vt_windows_collect_wim_patch wim /BOOT/H3_8PE.WIM
vt_windows_collect_wim_patch wim /BOOT/H3_81PE.WIM
fi
}
function distro_specify_wim_patch_phase2 {
if [ -f (loop)/boot/boot.wim ]; then
vt_windows_collect_wim_patch wim /boot/boot.wim
fi
}
function distro_specify_initrd_file {
function distro_specify_initrd_file {
if [ -e (loop)/boot/all.rdz ]; then
if [ -e (loop)/boot/all.rdz ]; then
vt_linux_specify_initrd_file /boot/all.rdz
vt_linux_specify_initrd_file /boot/all.rdz
...
@@ -127,32 +158,50 @@ function distro_specify_initrd_file_phase2 {
...
@@ -127,32 +158,50 @@ function distro_specify_initrd_file_phase2 {
function uefi_windows_menu_func {
function uefi_windows_menu_func {
vt_windows_reset
vt_windows_reset
if [ "$ventoy_compatible" = "NO" ]; then
if [ "$ventoy_compatible" = "NO" ]; then
find_wim_file (loop)
if [ -n "$ventoy_wim_file" ]; then
if [ "$ventoy_fs_probe" = "iso9660" ]; then
vt_windows_locate_wim $ventoy_wim_file
loopback -d loop
vt_iso9660_nojoliet 1
loopback loop $1$2
fi
fi
fi
for file in "efi/microsoft/boot/bcd"; do
vt_windows_chain_data ${1}${chosen_path}
vt_windows_collect_wim_patch bcd (loop)/$file
done
if [ -n "${vtdebug_flag}" ]; then
vt_windows_count_wim_patch vt_wim_cnt
sleep 5
if [ $vt_wim_cnt -eq 0 ]; then
distro_specify_wim_patch_phase2
fi
ventoy_debug_pause
locate_wim
fi
fi
vt_windows_chain_data ${1}${chosen_path}
ventoy_debug_pause
if [ -n "$vtoy_chain_mem_addr" ]; then
if [ -n "$vtoy_chain_mem_addr" ]; then
terminal_output console
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}
chainloader ${vtoy_path}/ventoy_x64.efi env_param=${env_param} isoefi=${LoadIsoEfiDriver} ${vtdebug_flag} mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
boot
boot
else
else
echo "chain empty failed"
echo "chain empty failed"
sleep 5
ventoy_pause
fi
fi
}
}
function uefi_linux_menu_func {
function uefi_linux_menu_func {
if [ "$ventoy_compatible" = "NO" ]; then
if [ "$ventoy_compatible" = "NO" ]; then
if [ "$ventoy_fs_probe" = "udf" ]; then
loopback -d loop
set ventoy_fs_probe=iso9660
loopback loop $1$2
fi
vt_load_cpio ${vtoy_path}/ventoy.cpio $2 $1
vt_load_cpio ${vtoy_path}/ventoy.cpio $2 $1
vt_linux_clear_initrd
vt_linux_clear_initrd
...
@@ -166,20 +215,14 @@ function uefi_linux_menu_func {
...
@@ -166,20 +215,14 @@ function uefi_linux_menu_func {
fi
fi
done
done
fi
fi
# special process for special distros
# special process for special distros
if [ -d (loop)/loader/entries ]; then
if [ -d (loop)/loader/entries ]; then
set LoadIsoEfiDriver=on
vt_linux_parse_initrd_grub dir (loop)/loader/entries/
vt_linux_parse_initrd_grub dir (loop)/loader/entries/
elif [ -d (loop)/boot/grub ]; then
elif [ -d (loop)/boot/grub ]; then
vt_linux_parse_initrd_grub dir (loop)/boot/grub/
vt_linux_parse_initrd_grub dir (loop)/boot/grub/
fi
fi
if [ -e (loop)/syslinux/alt0/full.cz ]; then
set LoadIsoEfiDriver=on
set FirstTryBootFile='@EFI@BOOT@grubx64.efi'
fi
distro_specify_initrd_file
distro_specify_initrd_file
vt_linux_initrd_count vtcount
vt_linux_initrd_count vtcount
...
@@ -194,6 +237,24 @@ function uefi_linux_menu_func {
...
@@ -194,6 +237,24 @@ function uefi_linux_menu_func {
fi
fi
locate_initrd
locate_initrd
if [ -d (loop)/loader/entries ]; then
vt_linux_get_main_initrd_index vtindex
if [ -d (loop)/arch ]; then
if [ -f (loop)/arch/boot/x86_64/archiso.img ]; then
vt_add_replace_file $vtindex "EFI\\archiso\\archiso.img"
elif [ -f (loop)/boot/initramfs_x86_64.img ]; then
vt_add_replace_file $vtindex "boot\\initramfs_x86_64.img"
fi
elif [ -f (loop)/EFI/BOOT/initrd.gz ]; then
vt_add_replace_file $vtindex "EFI\\BOOT\\initrd.gz"
fi
elif [ -e (loop)/syslinux/alt0/full.cz ]; then
vt_add_replace_file 0 "EFI\\BOOT\\full.cz"
set FirstTryBootFile='@EFI@BOOT@grubx64.efi'
fi
fi
fi
vt_linux_chain_data ${1}${chosen_path}
vt_linux_chain_data ${1}${chosen_path}
...
@@ -204,7 +265,7 @@ function uefi_linux_menu_func {
...
@@ -204,7 +265,7 @@ function uefi_linux_menu_func {
boot
boot
else
else
echo "chain empty failed"
echo "chain empty failed"
sleep 5
ventoy_pause
fi
fi
}
}
...
@@ -232,6 +293,7 @@ function uefi_iso_menu_func {
...
@@ -232,6 +293,7 @@ function uefi_iso_menu_func {
set ventoy_fs_probe=udf
set ventoy_fs_probe=udf
else
else
set ventoy_fs_probe=iso9660
set ventoy_fs_probe=iso9660
vt_iso9660_nojoliet 0
fi
fi
loopback loop ${1}${chosen_path}
loopback loop ${1}${chosen_path}
...
@@ -257,13 +319,7 @@ function uefi_iso_menu_func {
...
@@ -257,13 +319,7 @@ function uefi_iso_menu_func {
vt_img_sector ${1}${chosen_path}
vt_img_sector ${1}${chosen_path}
if [ "$vtoy_os" = "Windows" ]; then
if [ "$vtoy_os" = "Windows" ]; then
vt_check_pe (loop)
vt_check_compatible_pe (loop)
if [ "$VT_PE_SUPPORT" != "YES" ]; then
if [ "$ventoy_fs_probe" = "iso9660" ]; then
set ventoy_compatible=YES
fi
fi
uefi_windows_menu_func $1 ${chosen_path}
uefi_windows_menu_func $1 ${chosen_path}
else
else
uefi_linux_menu_func $1 ${chosen_path}
uefi_linux_menu_func $1 ${chosen_path}
...
@@ -287,32 +343,50 @@ function uefi_iso_memdisk {
...
@@ -287,32 +343,50 @@ function uefi_iso_memdisk {
function legacy_windows_menu_func {
function legacy_windows_menu_func {
vt_windows_reset
vt_windows_reset
if [ "$ventoy_compatible" = "NO" ]; then
if [ "$ventoy_compatible" = "NO" ]; then
find_wim_file (loop)
if [
-n
"$ventoy_
wim_file
" ]; then
if [ "$ventoy_
fs_probe" = "iso9660
" ]; then
vt_windows_locate_wim $ventoy_wim_file
loopback -d loop
elif [ -n "${vtdebug_flag}" ]; then
vt_iso9660_nojoliet 1
echo No wim file found
loopback loop $1$2
fi
fi
for file in "boot/bcd" "/efi/microsoft/boot/bcd" "SSTR/BCD"; do
vt_windows_collect_wim_patch bcd (loop)/$file
done
distro_specify_wim_patch
vt_windows_count_wim_patch vt_wim_cnt
if [ $vt_wim_cnt -eq 0 ]; then
distro_specify_wim_patch_phase2
fi
ventoy_debug_pause
locate_wim
fi
fi
vt_windows_chain_data ${1}${chosen_path}
vt_windows_chain_data ${1}${chosen_path}
ventoy_debug_pause
if [ -n "${vtdebug_flag}" ]; then
sleep 5
fi
if [ -n "$vtoy_chain_mem_addr" ]; then
if [ -n "$vtoy_chain_mem_addr" ]; then
linux16 $vtoy_path/ipxe.krn ${vtdebug_flag} ibft mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
linux16 $vtoy_path/ipxe.krn ${vtdebug_flag} ibft mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
boot
boot
else
else
echo "chain empty failed"
echo "chain empty failed"
sleep 5
ventoy_pause
fi
fi
}
}
function legacy_linux_menu_func {
function legacy_linux_menu_func {
if [ "$ventoy_compatible" = "NO" ]; then
if [ "$ventoy_compatible" = "NO" ]; then
if [ "$ventoy_fs_probe" = "udf" ]; then
loopback -d loop
set ventoy_fs_probe=iso9660
loopback loop $1$2
fi
vt_load_cpio $vtoy_path/ventoy.cpio $2 $1
vt_load_cpio $vtoy_path/ventoy.cpio $2 $1
vt_linux_clear_initrd
vt_linux_clear_initrd
...
@@ -352,18 +426,15 @@ function legacy_linux_menu_func {
...
@@ -352,18 +426,15 @@ function legacy_linux_menu_func {
locate_initrd
locate_initrd
fi
fi
vt_linux_chain_data ${1}${chosen_path}
vt_linux_chain_data ${1}${chosen_path}
ventoy_debug_pause
if [ -n "${vtdebug_flag}" ]; then
sleep 5
fi
if [ -n "$vtoy_chain_mem_addr" ]; then
if [ -n "$vtoy_chain_mem_addr" ]; then
linux16 $vtoy_path/ipxe.krn ${vtdebug_flag} mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
linux16 $vtoy_path/ipxe.krn ${vtdebug_flag} mem:${vtoy_chain_mem_addr}:size:${vtoy_chain_mem_size}
boot
boot
else
else
echo "chain empty failed"
echo "chain empty failed"
sleep 5
ventoy_pause
fi
fi
}
}
...
@@ -381,12 +452,12 @@ function legacy_iso_menu_func {
...
@@ -381,12 +452,12 @@ function legacy_iso_menu_func {
set ventoy_fs_probe=udf
set ventoy_fs_probe=udf
else
else
set ventoy_fs_probe=iso9660
set ventoy_fs_probe=iso9660
fi
vt_iso9660_nojoliet 0
fi
loopback loop ${1}${chosen_path}
loopback loop ${1}${chosen_path}
get_os_type (loop)
get_os_type (loop)
if [ -n "$vtcompat" ]; then
if [ -n "$vtcompat" ]; then
set ventoy_compatible=YES
set ventoy_compatible=YES
unset vtcompat
unset vtcompat
...
@@ -399,13 +470,7 @@ function legacy_iso_menu_func {
...
@@ -399,13 +470,7 @@ function legacy_iso_menu_func {
vt_img_sector ${1}${chosen_path}
vt_img_sector ${1}${chosen_path}
if [ "$vtoy_os" = "Windows" ]; then
if [ "$vtoy_os" = "Windows" ]; then
vt_check_pe (loop)
vt_check_compatible_pe (loop)
if [ "$VT_PE_SUPPORT" != "YES" ]; then
if [ "$ventoy_fs_probe" = "iso9660" ]; then
set ventoy_compatible=YES
fi
fi
legacy_windows_menu_func $1 ${chosen_path}
legacy_windows_menu_func $1 ${chosen_path}
else
else
legacy_linux_menu_func $1 ${chosen_path}
legacy_linux_menu_func $1 ${chosen_path}
...
@@ -446,10 +511,9 @@ function iso_unsupport_menuentry {
...
@@ -446,10 +511,9 @@ function iso_unsupport_menuentry {
function wim_common_menuentry {
function wim_common_menuentry {
vt_chosen_img_path chosen_path
vt_chosen_img_path chosen_path
vt_wim_chain_data ${iso_path}${chosen_path}
vt_wim_chain_data ${iso_path}${chosen_path}
if [ -n "${vtdebug_flag}" ]; then
sleep 5
ventoy_debug_pause
fi
if [ -n "$vtoy_chain_mem_addr" ]; then
if [ -n "$vtoy_chain_mem_addr" ]; then
if [ "$grub_platform" = "pc" ]; then
if [ "$grub_platform" = "pc" ]; then
...
@@ -461,7 +525,7 @@ function wim_common_menuentry {
...
@@ -461,7 +525,7 @@ function wim_common_menuentry {
boot
boot
else
else
echo "chain empty failed"
echo "chain empty failed"
sleep 5
ventoy_pause
fi
fi
}
}
...
@@ -479,7 +543,7 @@ function wim_unsupport_menuentry {
...
@@ -479,7 +543,7 @@ function wim_unsupport_menuentry {
#############################################################
#############################################################
#############################################################
#############################################################
set VENTOY_VERSION="1.0.1
2
"
set VENTOY_VERSION="1.0.1
3
"
# Default menu display mode, you can change it as you want.
# Default menu display mode, you can change it as you want.
# 0: List mode
# 0: List mode
...
@@ -490,10 +554,12 @@ set VTOY_DEFAULT_MENU_MODE=0
...
@@ -490,10 +554,12 @@ set VTOY_DEFAULT_MENU_MODE=0
unset timeout
unset timeout
set VTOY_MEM_DISK_STR="[Memdisk]"
set VTOY_MEM_DISK_STR="[Memdisk]"
set VTOY_ISO_RAW_STR="
ISO RAW
"
set VTOY_ISO_RAW_STR="
Compatible Mode
"
set VTOY_ISO_UEFI_DRV_STR="UEFI FS"
set VTOY_ISO_UEFI_DRV_STR="UEFI FS"
set VTOY_F2_CMD="ventoy_power"
set VTOY_F2_CMD="ventoy_power"
set VTOY_F4_CMD="ventoy_localboot"
set VTOY_F5_CMD="ventoy_diagnosis"
if [ "$grub_platform" = "pc" ]; then
if [ "$grub_platform" = "pc" ]; then
set VTOY_TEXT_MENU_VER="Ventoy $VENTOY_VERSION BIOS www.ventoy.net"
set VTOY_TEXT_MENU_VER="Ventoy $VENTOY_VERSION BIOS www.ventoy.net"
...
@@ -504,7 +570,7 @@ fi
...
@@ -504,7 +570,7 @@ fi
vt_device $root vtoy_dev
vt_device $root vtoy_dev
if [ "$vtoy_dev" = "tftp" ]; then
if [ "$vtoy_dev" = "tftp" ]; then
set vtoy_path=($root)
set vtoy_path=($root)
for vtid in 0 1 2 3; do
for vtid in 0 1 2 3; do
if [ -d (hd$vtid,2)/ventoy ]; then
if [ -d (hd$vtid,2)/ventoy ]; then
set iso_path=(hd$vtid,1)
set iso_path=(hd$vtid,1)
...
@@ -512,13 +578,19 @@ if [ "$vtoy_dev" = "tftp" ]; then
...
@@ -512,13 +578,19 @@ if [ "$vtoy_dev" = "tftp" ]; then
break
break
fi
fi
done
done
loadfont ascii
else
else
set vtoy_path=($root)/ventoy
if [ "$prefix" = "(ventoydisk)/grub" ]; then
set vtoy_path=(ventoydisk)/ventoy
else
set vtoy_path=($root)/ventoy
fi
set iso_path=($vtoy_dev,1)
set iso_path=($vtoy_dev,1)
set vtoy_efi_part=($vtoy_dev,2)
set vtoy_efi_part=($vtoy_dev,2)
loadfont unicode
fi
fi
loadfont ascii
#Load Plugin
#Load Plugin
if [ -f $iso_path/ventoy/ventoy.json ]; then
if [ -f $iso_path/ventoy/ventoy.json ]; then
...
@@ -534,10 +606,10 @@ fi
...
@@ -534,10 +606,10 @@ fi
if [ $VTOY_DEFAULT_MENU_MODE -eq 0 ]; then
if [ $VTOY_DEFAULT_MENU_MODE -eq 0 ]; then
set VTOY_F3_CMD="vt_dynamic_menu 1 1"
set VTOY_F3_CMD="vt_dynamic_menu 1 1"
set VTOY_HOTKEY_TIP="F1:Memdisk F2:Power F3:TreeView"
set VTOY_HOTKEY_TIP="F1:Memdisk F2:Power F3:TreeView
F4:Localboot F5:Debug
"
else
else
set VTOY_F3_CMD="vt_dynamic_menu 1 0"
set VTOY_F3_CMD="vt_dynamic_menu 1 0"
set VTOY_HOTKEY_TIP="F1:Memdisk F2:Power F3:ListView"
set VTOY_HOTKEY_TIP="F1:Memdisk F2:Power F3:ListView
F4:Localboot F5:Debug
"
fi
fi
...
@@ -553,7 +625,13 @@ else
...
@@ -553,7 +625,13 @@ else
set theme=$prefix/themes/ventoy/theme.txt
set theme=$prefix/themes/ventoy/theme.txt
fi
fi
terminal_output gfxterm
if [ "$vtoy_display_mode" = "CLI" ]; then
terminal_output console
else
terminal_output gfxterm
fi
#vtdebug on
#colect all image files (iso files)
#colect all image files (iso files)
set ventoy_img_count=0
set ventoy_img_count=0
...
...
Prev
1
2
3
Next
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment