X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/d0edcc0ef0b6ef695ce96d2be84f1ebb02453b51..102b179cd99ebffd9372ca52b18c1b2d8f4e2fb7:/IMG/cpio/ventoy/hook/arch/ventoy-disk.sh diff --git a/IMG/cpio/ventoy/hook/arch/ventoy-disk.sh b/IMG/cpio/ventoy/hook/arch/ventoy-disk.sh index 356c77f..31e65f0 100644 --- a/IMG/cpio/ventoy/hook/arch/ventoy-disk.sh +++ b/IMG/cpio/ventoy/hook/arch/ventoy-disk.sh @@ -35,14 +35,41 @@ 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/') +vtDM=$(ventoy_find_dm_id ${blkdev_num}) +vtlog "blkdev_num=$blkdev_num vtDM=$vtDM ..." + +while [ -n "Y" ]; do + if [ -b /dev/$vtDM ]; then + break + else + sleep 0.3 + fi +done + if [ -n "$1" ]; then - 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}) - vtlog "ln -s /dev/$vtDM $1" - ln -s /dev/$vtDM "$1" + + if [ -e "$1" ]; then + vtlog "$1 already exist" + else + ln -s /dev/$vtDM "$1" + fi +else + vtLABEL=$($BUSYBOX_PATH/blkid /dev/$vtDM | $SED 's/.*LABEL="\([^"]*\)".*/\1/') + vtlog "vtLABEL is $vtLABEL" + + if [ -z "$vtLABEL" ]; then + vtLABEL=$($SED "s/.*label=\([^ ]*\)/\1/" /proc/cmdline) + vtlog "vtLABEL is $vtLABEL from cmdline" + fi + + if [ -e "/dev/disk/by-label/$vtLABEL" ]; then + vtlog "$1 already exist" + else + ln -s /dev/$vtDM "/dev/disk/by-label/$vtLABEL" + fi fi # OK finish set_ventoy_hook_finish -