. /ventoy/hook/ventoy-hook-lib.sh
-if [ "$SUBSYSTEM" != "block" ] || [ "$DEVTYPE" != "partition" ]; then
- exit 0
-fi
+PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
-if [ -b /dev/${MDEV:0:-1} ]; then
- vtlog "/dev/${MDEV:0:-1} exist"
-else
- $SLEEP 2
-fi
+wait_for_usb_disk_ready
-if is_ventoy_hook_finished || not_ventoy_disk "${MDEV:0:-1}"; then
+vtdiskname=$(get_ventoy_disk_name)
+if [ "$vtdiskname" = "unknown" ]; then
+ vtlog "ventoy disk not found"
+ PATH=$VTPATH_OLD
exit 0
fi
-PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
-
#
# longpanda:
# Alpine initramfs doesn't contain dm-mod or fuse module,
# 3. unmount and delete the squashfs file
#
+MDEV="${vtdiskname#/dev/}2"
+
vtoydm -i -f $VTOY_PATH/ventoy_image_map -d /dev/${MDEV:0:-1} > $VTOY_PATH/iso_file_list
vtLine=$(grep '[-][-] modloop-lts ' $VTOY_PATH/iso_file_list)
sector=$(echo $vtLine | awk '{print $(NF-1)}')
length=$(echo $vtLine | awk '{print $NF}')
+echo -n "Mounting boot media, please wait ......"
vtoydm -e -f $VTOY_PATH/ventoy_image_map -d /dev/${MDEV:0:-1} -s $sector -l $length -o /vt_modloop
+echo "done"
mkdir -p $VTOY_PATH/mnt
mount /vt_modloop $VTOY_PATH/mnt
. $VTOY_PATH/hook/ventoy-os-lib.sh
-echo "-[-a-z0-9]*2 root:root 0666 @$BUSYBOX_PATH/sh $VTOY_PATH/hook/alpine/udev_disk_hook.sh" >> /mdev.conf
-$CAT /etc/mdev.conf >> /mdev.conf
-$BUSYBOX_PATH/mv /mdev.conf /etc/mdev.conf
+PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
+
+LineBegin=$(grep -n "ebegin.*Mounting boot media" /init | awk -F: '{print $1}')
+
+grep -n "^eend" /init > /t.list
+while read line; do
+ LineEnd=$(echo $line | awk -F: '{print $1}')
+ if [ $LineEnd -gt $LineBegin ]; then
+ sed "${LineEnd}i\done" -i /init
+ sed "${LineBegin}r /ventoy/hook/alpine/insert.sh" -i /init
+ break
+ fi
+done < /t.list
+rm -f /t.list