]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - IMG/cpio/ventoy/hook/arch/ventoy-hook.sh
1.0.09 release
[Ventoy.git] / IMG / cpio / ventoy / hook / arch / ventoy-hook.sh
index 32ee137fbdbf8e52d5ff0fc3054df3c0beeff1f7..7d842e2fbd3953a147d797201cf39aed7ab029c0 100644 (file)
 
 . $VTOY_PATH/hook/ventoy-os-lib.sh
 
-# some archlinux initramfs doesn't contain device-mapper udev rules file
-ARCH_UDEV_DIR=$(ventoy_get_udev_conf_dir)
-if [ -s "$ARCH_UDEV_DIR/13-dm-disk.rules" ]; then
-    echo 'dm-disk rule exist' >> $VTLOG
+if $GREP -q '^"$mount_handler"' /init; then
+    echo 'use mount_handler ...' >> $VTLOG
+    $SED "/^\"\$mount_handler\"/i\ $BUSYBOX_PATH/sh $VTOY_PATH/hook/arch/ventoy-disk.sh \"\$archisodevice\"" -i /init
 else
-    echo 'Copy dm-disk rule file' >> $VTLOG
-    $CAT $VTOY_PATH/hook/default/13-dm-disk.rules > "$ARCH_UDEV_DIR/13-dm-disk.rules"
-fi
+    # some archlinux initramfs doesn't contain device-mapper udev rules file
+    ARCH_UDEV_DIR=$(ventoy_get_udev_conf_dir)
+    if [ -s "$ARCH_UDEV_DIR/13-dm-disk.rules" ]; then
+        echo 'dm-disk rule exist' >> $VTLOG
+    else
+        echo 'Copy dm-disk rule file' >> $VTLOG
+        $CAT $VTOY_PATH/hook/default/13-dm-disk.rules > "$ARCH_UDEV_DIR/13-dm-disk.rules"
+    fi
 
-# use default proc
-ventoy_systemd_udevd_work_around
+    # use default proc
+    ventoy_systemd_udevd_work_around
 
-ventoy_add_udev_rule "$VTOY_PATH/hook/default/udev_disk_hook.sh %k"
+    ventoy_add_udev_rule "$VTOY_PATH/hook/default/udev_disk_hook.sh %k"
+fi