mirror of
https://github.com/ventoy/Ventoy.git
synced 2026-10-21 05:31:56 +00:00
Optimize udev process
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
#!/ventoy/busybox/sh
|
||||
|
||||
. /ventoy/hook/ventoy-hook-lib.sh
|
||||
|
||||
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"
|
||||
|
||||
mkdir -p /ventoy/mnt/iso /ventoy/mnt/sfs
|
||||
|
||||
vtDM=$(dmsetup info ventoy | grep minor | sed 's/.*\([0-9][0-9]*\)/\1/')
|
||||
|
||||
vtlog "mount -o ro -t iso9660 /dev/dm-${vtDM} /ventoy/mnt/iso"
|
||||
mount -o ro -t iso9660 /dev/dm-${vtDM} /ventoy/mnt/iso
|
||||
|
||||
mount /ventoy/mnt/iso/casper/minimal.standard.live.squashfs /ventoy/mnt/sfs
|
||||
|
||||
mount --bind /ventoy/mnt/sfs/usr/lib/modules /lib/modules
|
||||
|
||||
ventoy_load_iso_part_fs_ko
|
||||
|
||||
umount /lib/modules
|
||||
umount /ventoy/mnt/sfs
|
||||
umount /ventoy/mnt/iso
|
||||
|
||||
|
||||
ventoy_remove_all_dm
|
||||
|
||||
if ventoy_mount_iso "${vtdiskname}"; then
|
||||
vtlog "direcly mount iso partition SUCCESS"
|
||||
else
|
||||
vtlog "direcly mount iso partition FAILED, keep use DM"
|
||||
ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2"
|
||||
fi
|
||||
|
||||
|
||||
if [ -f /ventoy/autoinstall ]; then
|
||||
sh /ventoy/hook/default/auto_install_varexp.sh /ventoy/autoinstall
|
||||
fi
|
||||
|
||||
set_ventoy_hook_finish
|
||||
@@ -0,0 +1,35 @@
|
||||
#!/ventoy/busybox/sh
|
||||
|
||||
echo "Here before mountroot ..." >> $VTLOG
|
||||
|
||||
$SED "/^mountroot$/i\\$BUSYBOX_PATH/sh $VTOY_PATH/hook/debian/ubuntu-disk.sh" -i /init
|
||||
$SED "/^mountroot$/i\\maybe_break bottom" -i /init
|
||||
|
||||
#workaround for issue #3718
|
||||
if [ -f $VTOY_PATH/ventoy_persistent_map -a -f /scripts/casper-helpers ]; then
|
||||
echo 'fix casper cow udev issue' >> $VTLOG
|
||||
if $GREP -q '^find_cow_device\(\).*{' /scripts/casper-helpers; then
|
||||
VTINS_LINE=$($GREP -n '^find_cow_device\(\).*{' /scripts/casper-helpers | $AWK -F':' '{print $1}')
|
||||
$AWK "NR < $VTINS_LINE" /scripts/casper-helpers > /ventoy/casper-helpers-tmp
|
||||
$CAT $VTOY_PATH/hook/debian/casper-perst-wa.sh >> /ventoy/casper-helpers-tmp
|
||||
$AWK "NR > $VTINS_LINE" /scripts/casper-helpers >> /ventoy/casper-helpers-tmp
|
||||
$CAT /ventoy/casper-helpers-tmp > /scripts/casper-helpers
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
if [ -f $VTOY_PATH/autoinstall ]; then
|
||||
echo "Do auto install ..." >> $VTLOG
|
||||
|
||||
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
|
||||
|
||||
@@ -61,6 +61,15 @@ ventoy_get_debian_distro() {
|
||||
if $GREP -q 'NAME="Kylin"' /etc/os-release; then
|
||||
echo 'kylin'; return
|
||||
fi
|
||||
|
||||
if $GREP -q 'ID=ubuntu' /etc/os-release; then
|
||||
if $GREP -q 'VERSION_ID=\"2[4-9]\.' /etc/os-release; then
|
||||
echo 'ubuntu'; return
|
||||
fi
|
||||
if $GREP -q 'VERSION_ID=\"3[0-9]\.' /etc/os-release; then
|
||||
echo 'ubuntu'; return
|
||||
fi
|
||||
fi
|
||||
fi
|
||||
|
||||
if $GREP -q 'slax/' /proc/cmdline; then
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
ACTION=="add", SUBSYSTEM=="block", KERNEL=="dm-*", \
|
||||
ENV{DM_NAME}=="[vV]entoy*", \
|
||||
ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=""
|
||||
|
||||
ACTION=="add", SUBSYSTEM=="block", KERNEL=="dm-*", \
|
||||
ENV{DM_NAME}=="vtoy*", \
|
||||
ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=""
|
||||
|
||||
ACTION=="change", SUBSYSTEM=="block", KERNEL=="dm-*", \
|
||||
ENV{DM_NAME}=="[vV]entoy*", \
|
||||
ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=""
|
||||
|
||||
ACTION=="change", SUBSYSTEM=="block", KERNEL=="dm-*", \
|
||||
ENV{DM_NAME}=="vtoy*", \
|
||||
ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}=""
|
||||
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
ACTION=="add|change", KERNEL=="dm-[0-9]*", ENV{DM_NAME}=="ventoy[0-9]*", ENV{DM_UDEV_DISABLE_SYBSYSTEM_RULES_FLAG}="", ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}="", ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="", IMPORT{program}="/ventoy/hook/default/ventoy-udev.sh $env{DM_NAME}"
|
||||
@@ -0,0 +1,5 @@
|
||||
ACTION=="add|change", KERNEL=="dm-[0-9]*", ENV{DM_NAME}=="ventoy[0-9]*", \
|
||||
ENV{DM_UDEV_DISABLE_SYBSYSTEM_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="", \
|
||||
IMPORT{program}="/ventoy/hook/default/ventoy-udev.sh $env{DM_NAME}"
|
||||
@@ -0,0 +1,30 @@
|
||||
|
||||
ACTION=="add", SUBSYSTEM=="block", KERNEL=="dm-*", \
|
||||
ENV{DM_NAME}=="VentoyPart", \
|
||||
ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="", \
|
||||
ENV{ID_FS_LABEL}="VentoyPart", \
|
||||
ENV{ID_FS_LABEL_ENC}="VentoyPart", \
|
||||
ENV{UDISKS_FILESYSTEM_LABEL}="VentoyPart", \
|
||||
ENV{UDISKS_PRESENTATION_NAME}="VentoyPart", \
|
||||
ENV{UDISKS_SYSTEM}="0", \
|
||||
ENV{UDISKS_REMOVABLE}="1", \
|
||||
ENV{UDISKS_AUTO}="1", \
|
||||
ENV{UDISKS_AUTOMOUNTABLE}="1"
|
||||
|
||||
|
||||
ACTION=="change", SUBSYSTEM=="block", KERNEL=="dm-*", \
|
||||
ENV{DM_NAME}=="VentoyPart", \
|
||||
ENV{DM_UDEV_DISABLE_SUBSYSTEM_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_DISK_RULES_FLAG}="", \
|
||||
ENV{DM_UDEV_DISABLE_OTHER_RULES_FLAG}="", \
|
||||
ENV{ID_FS_LABEL}="VentoyPart", \
|
||||
ENV{ID_FS_LABEL_ENC}="VentoyPart", \
|
||||
ENV{UDISKS_FILESYSTEM_LABEL}="VentoyPart", \
|
||||
ENV{UDISKS_PRESENTATION_NAME}="VentoyPart", \
|
||||
ENV{UDISKS_SYSTEM}="0", \
|
||||
ENV{UDISKS_REMOVABLE}="1", \
|
||||
ENV{UDISKS_AUTO}="1", \
|
||||
ENV{UDISKS_AUTOMOUNTABLE}="1"
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
#!/bin/sh
|
||||
|
||||
for vroot in sysroot newroot; do
|
||||
if [ -d $vroot/etc ]; then
|
||||
if [ -d $vroot/etc/udev/rules.d ]; then
|
||||
:
|
||||
else
|
||||
mkdir -p $vroot/etc/udev/rules.d
|
||||
fi
|
||||
|
||||
cp -a /ventoy/hook/default/90-ventoy-auto.rules $vroot/etc/udev/rules.d/
|
||||
chmod 0644 $vroot/etc/udev/rules.d/90-ventoy-auto.rules
|
||||
break
|
||||
fi
|
||||
done
|
||||
@@ -273,13 +273,40 @@ create_ventoy_device_mapper() {
|
||||
else
|
||||
$VT_DM_BIN "$2" create ventoy $VTOY_PATH/ventoy_dm_table >>$VTLOG 2>&1
|
||||
fi
|
||||
|
||||
|
||||
RAWDISKNAME=$($HEAD -n1 $VTOY_PATH/ventoy_raw_table | $AWK '{print $4}')
|
||||
echo "$VT_DM_BIN create ${RAWDISKNAME#/dev/} $VTOY_PATH/ventoy_raw_table" > /ventoy/ventoy_iso_part_dm_cmd
|
||||
#echo "$VT_DM_BIN mknodes ${RAWDISKNAME#/dev/}" >> /ventoy/ventoy_iso_part_dm_cmd
|
||||
echo "$VT_DM_BIN create VentoyPart $VTOY_PATH/ventoy_raw_table" > /ventoy/ventoy_iso_part_dm_cmd
|
||||
#echo "$VT_DM_BIN mknodes VentoyPart" >> /ventoy/ventoy_iso_part_dm_cmd
|
||||
#echo "$VT_DM_BIN ls" >> /ventoy/ventoy_iso_part_dm_cmd
|
||||
}
|
||||
|
||||
create_ventoy_loop_device_mapper() {
|
||||
vtLoop1=${1#/dev/}
|
||||
vtLoop2=${2#/dev/}
|
||||
|
||||
vtlog "create_ventoy_loop_device_mapper $*"
|
||||
|
||||
VT_DM_BIN=$(ventoy_find_bin_path dmsetup)
|
||||
if [ -z "$VT_DM_BIN" ]; then
|
||||
vtlog "no dmsetup avaliable, lastly try inbox dmsetup"
|
||||
VT_DM_BIN=$VTOY_PATH/tool/dmsetup
|
||||
fi
|
||||
|
||||
vtlog "dmsetup avaliable in system $VT_DM_BIN"
|
||||
|
||||
if ventoy_check_dm_module; then
|
||||
vtlog "device-mapper module check success"
|
||||
else
|
||||
vterr "Error: no dm module avaliable"
|
||||
fi
|
||||
|
||||
vtLoop2Size=$(cat /sys/block/$vtLoop2/size)
|
||||
echo "0 65 linear $1 0" > $VTOY_PATH/ventoy_dm_table
|
||||
echo "65 $vtLoop2Size linear $2 0" >> $VTOY_PATH/ventoy_dm_table
|
||||
|
||||
$VT_DM_BIN "--readonly" create ventoy $VTOY_PATH/ventoy_dm_table >>$VTLOG 2>&1
|
||||
}
|
||||
|
||||
create_ventoy_wrapper_device_mapper() {
|
||||
vtlog "create_ventoy_wrapper_device_mapper $*"
|
||||
|
||||
@@ -621,7 +648,7 @@ ventoy_udev_disk_common_hook() {
|
||||
else
|
||||
ventoy_copy_device_mapper "/dev/$1"
|
||||
fi
|
||||
|
||||
|
||||
if [ -f $VTOY_PATH/ventoy_persistent_map ]; then
|
||||
create_persistent_device_mapper "/dev/$VTDISK"
|
||||
ventoy_create_persistent_link
|
||||
@@ -709,19 +736,28 @@ ventoy_remove_all_dm() {
|
||||
fi
|
||||
|
||||
vtlog "dmsetup remove ventoy"
|
||||
$VTOY_PATH/tool/dmsetup remove ventoy
|
||||
$VTOY_PATH/tool/dmsetup remove ventoy >> $VTLOG 2>&1
|
||||
rm -f /dev/ventoy*
|
||||
|
||||
|
||||
if [ -e $VTOY_PATH/ventoy_raw_table ]; then
|
||||
RAWDISKNAME=$($HEAD -n1 $VTOY_PATH/ventoy_raw_table | $AWK '{print $4}')
|
||||
vtlog "dmsetup remove ${RAWDISKNAME#/dev/}"
|
||||
$VTOY_PATH/tool/dmsetup remove ${RAWDISKNAME#/dev/}
|
||||
DMRAWDISKNAME=${RAWDISKNAME#/dev/}
|
||||
if $VTOY_PATH/tool/dmsetup ls | $GREP -qw "$DMRAWDISKNAME"; then
|
||||
vtlog "dmsetup remove ${DMRAWDISKNAME}"
|
||||
$VTOY_PATH/tool/dmsetup remove "$DMRAWDISKNAME"
|
||||
else
|
||||
vtlog "no need to remove DM ${DMRAWDISKNAME}"
|
||||
fi
|
||||
rm -f $VTOY_PATH/ventoy_iso_part_dm_cmd
|
||||
fi
|
||||
|
||||
if [ -e $VTOY_PATH/persistent_dm_table ]; then
|
||||
vtlog "dmsetup remove vtoy_persistent"
|
||||
$VTOY_PATH/tool/dmsetup remove vtoy_persistent
|
||||
if $VTOY_PATH/tool/dmsetup ls | $GREP -qw vtoy_persistent; then
|
||||
vtlog "dmsetup remove vtoy_persistent"
|
||||
$VTOY_PATH/tool/dmsetup remove vtoy_persistent
|
||||
else
|
||||
vtlog "no need to remove DM vtoy_persistent"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
@@ -843,3 +879,135 @@ ventoy_wait_dir() {
|
||||
fi
|
||||
done
|
||||
}
|
||||
|
||||
ventoy_load_iso_part_fs_ko() {
|
||||
vtFS=$($VTOY_PATH/tool/vtoydump -s /ventoy/ventoy_os_param)
|
||||
vtlog "ISO part FS is $vtFS"
|
||||
|
||||
for vtModProbe in /usr/sbin/modprobe /sbin/modprobe /bin/modprobe $BUSYBOX_PATH/modprobe; do
|
||||
if [ -e $vtModProbe ]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
vtlog "modprobe is $vtModProbe"
|
||||
|
||||
if [ "$vtFS" = "ext" ]; then
|
||||
vtlog "modprobe ext2/3/4"
|
||||
$vtModProbe ext2 >> $VTLOG 2>&1
|
||||
$vtModProbe ext3 >> $VTLOG 2>&1
|
||||
$vtModProbe ext4 >> $VTLOG 2>&1
|
||||
elif [ "$vtFS" = "ntfs" ]; then
|
||||
vtlog "modprobe ntfs3"
|
||||
$vtModProbe ntfs3 >> $VTLOG 2>&1
|
||||
elif [ "$vtFS" = "fat" ]; then
|
||||
vtlog "modprobe vfat"
|
||||
$vtModProbe vfat >> $VTLOG 2>&1
|
||||
else
|
||||
vtlog "modprobe $vtFS"
|
||||
$vtModProbe $vtFS >> $VTLOG 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
ventoy_iso_part_fs_supported() {
|
||||
vtFS=$($VTOY_PATH/tool/vtoydump -s /ventoy/ventoy_os_param)
|
||||
if [ "$vtFS" = "ext" ]; then
|
||||
vtPattern='ext[2-4]'
|
||||
elif [ "$vtFS" = "fat" ]; then
|
||||
vtPattern='vfat'
|
||||
elif [ "$vtFS" = "ntfs" ]; then
|
||||
vtPattern='ntfs3'
|
||||
else
|
||||
vtPattern="$vtFS"
|
||||
fi
|
||||
|
||||
vtlog "vtFS=$vtFS Pattern=$vtPattern"
|
||||
if $EGREP -q "$vtPattern" /proc/filesystems; then
|
||||
vtlog "ISO part FS supported OK"
|
||||
$BUSYBOX_PATH/true
|
||||
else
|
||||
vtlog "ISO part FS is NOT supported"
|
||||
$BUSYBOX_PATH/false
|
||||
fi
|
||||
}
|
||||
|
||||
ventoy_mount_iso_part() {
|
||||
vtDisk=$1
|
||||
vtMnt=$2
|
||||
|
||||
vtlog "mount iso partition $vtDisk"
|
||||
|
||||
if [ -z "$vtMnt" ]; then
|
||||
vtMnt=$VTOY_PATH/tmpmnt
|
||||
fi
|
||||
|
||||
mkdir -p $vtMnt
|
||||
|
||||
if echo $vtDisk | $EGREP -q "nvme|mmc|nbd"; then
|
||||
vtpart1=${vtDisk}p1
|
||||
else
|
||||
vtpart1=${vtDisk}1
|
||||
fi
|
||||
|
||||
vtFS=$($VTOY_PATH/tool/vtoydump -s /ventoy/ventoy_os_param)
|
||||
if [ "$vtFS" = "ntfs" ]; then
|
||||
vtlog "mount -t ntfs3 $vtpart1 $vtMnt"
|
||||
mount -t ntfs3 $vtpart1 $vtMnt >> $VTLOG 2>&1
|
||||
elif [ "$vtFS" = "fat" ]; then
|
||||
vtlog "mount -t vfat $vtpart1 $vtMnt"
|
||||
mount -t vfat $vtpart1 $vtMnt >> $VTLOG 2>&1
|
||||
else
|
||||
vtlog "mount $vtpart1 $vtMnt"
|
||||
mount $vtpart1 $vtMnt >> $VTLOG 2>&1
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
ventoy_losetup_iso() {
|
||||
vtMnt=$1
|
||||
if [ -z "$vtMnt" ]; then
|
||||
vtMnt=$VTOY_PATH/tmpmnt
|
||||
fi
|
||||
|
||||
for vtLosetup in /usr/sbin/losetup /sbin/losetup /bin/losetup $BUSYBOX_PATH/losetup; do
|
||||
if [ -e $vtLosetup ]; then
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
vtisoname=$(get_ventoy_iso_name)
|
||||
|
||||
dd if=/dev/zero of=/ventoy/isoheader.bin bs=512 count=1 >/dev/null 2>&1
|
||||
dd if="${vtMnt}${vtisoname}" bs=512 skip=1 count=64 >>/ventoy/isoheader.bin 2>>/dev/null
|
||||
|
||||
vtfreeloop1=$($vtLosetup -f)
|
||||
if $vtLosetup -r $vtfreeloop1 /ventoy/isoheader.bin >> $VTLOG 2>&1; then
|
||||
vtfreeloop2=$($vtLosetup -f)
|
||||
if $vtLosetup -r --offset=33280 $vtfreeloop2 "${vtMnt}${vtisoname}" >> $VTLOG 2>&1; then
|
||||
echo -n "$vtfreeloop1 $vtfreeloop2" > /ventoy/vtoy_dm_loop_dev
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
|
||||
ventoy_mount_iso() {
|
||||
if [ "$1" = "ko" ]; then
|
||||
shift
|
||||
ventoy_load_iso_part_fs_ko
|
||||
fi
|
||||
if ventoy_iso_part_fs_supported; then
|
||||
if ventoy_mount_iso_part $1; then
|
||||
if ventoy_losetup_iso; then
|
||||
create_ventoy_loop_device_mapper $($CAT /ventoy/vtoy_dm_loop_dev)
|
||||
return
|
||||
else
|
||||
vtlog "losetup ISO file FAILED"
|
||||
fi
|
||||
else
|
||||
vtlog "mount iso partition FAILED"
|
||||
fi
|
||||
fi
|
||||
|
||||
$BUSYBOX_PATH/false
|
||||
}
|
||||
|
||||
@@ -63,6 +63,19 @@ ventoy_get_udev_conf_path() {
|
||||
echo "$VT_RULE_DIR/$VT_UDEV_RULE_FILE_NAME"
|
||||
}
|
||||
|
||||
ventoy_add_udev_auto_rule() {
|
||||
VT_RULE_DIR=$(ventoy_get_udev_conf_dir)
|
||||
cp -a $VTOY_PATH/hook/default/90-ventoy-auto.rules $VT_RULE_DIR/11-ventoy-auto.rules
|
||||
cp -a $VTOY_PATH/hook/default/90-ventoy-auto.rules $VT_RULE_DIR/90-ventoy-auto.rules
|
||||
chmod 0644 $VT_RULE_DIR/*ventoy*
|
||||
}
|
||||
|
||||
|
||||
ventoy_dracut_pivot_udev_rule() {
|
||||
cp -a $VTOY_PATH/hook/default/ventoy-pivot-udev-rule.sh $VT_DRACUT_HOOKS/pre-pivot/99-ventoy-udev-rules.sh
|
||||
}
|
||||
|
||||
|
||||
ventoy_add_kernel_udev_rule() {
|
||||
VT_UDEV_RULE_PATH=$(ventoy_get_udev_conf_path)
|
||||
echo "KERNEL==\"$1\", $VT_UDEV_RULE_PREFIX RUN+=\"$2\"" >> $VT_UDEV_RULE_PATH
|
||||
@@ -178,3 +191,8 @@ ventoy_iso_scan_check() {
|
||||
|
||||
[ $vtCheckOk -eq 1 ]
|
||||
}
|
||||
|
||||
ventoy_wrapper_dracut_hook() {
|
||||
echo "#/bin/sh" > $2
|
||||
echo "$BUSYBOX_PATH/sh $1" >> $2
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user