X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/8dce0adda6e1967de616287e224b914eb1bcef8e..HEAD:/IMG/cpio/ventoy/hook/suse/ventoy-hook.sh diff --git a/IMG/cpio/ventoy/hook/suse/ventoy-hook.sh b/IMG/cpio/ventoy/hook/suse/ventoy-hook.sh index 9574efe..cc90cc5 100644 --- a/IMG/cpio/ventoy/hook/suse/ventoy-hook.sh +++ b/IMG/cpio/ventoy/hook/suse/ventoy-hook.sh @@ -26,6 +26,38 @@ if [ -f $VTOY_PATH/autoinstall ]; then fi fi +if $GREP -q 'rdinit=/vtoy/vtoy' /proc/cmdline; then + echo "remove rdinit param" >> $VTLOG + echo "ptoptions=+rdinit" >> /linuxrc.config +fi + + +if $BUSYBOX_PATH/ls $VTOY_PATH | $GREP -q 'ventoy_dud[0-9]'; then + if [ -f /linuxrc.config ]; then + vtKerVer=$($BUSYBOX_PATH/uname -r) + ventoy_check_insmod /modules/loop.ko + ventoy_check_insmod /modules/squashfs.ko + + ventoy_check_mount /parts/00_lib /modules + ventoy_check_insmod /modules/lib/modules/$vtKerVer/initrd/isofs.ko + $BUSYBOX_PATH/umount /modules + + for vtDud in $($BUSYBOX_PATH/ls $VTOY_PATH/ventoy_dud*); do + $BUSYBOX_PATH/mkdir -p ${vtDud%.*}_mnt + if $BUSYBOX_PATH/mount $vtDud ${vtDud%.*}_mnt > /dev/null 2>&1; then + $BUSYBOX_PATH/cp -a ${vtDud%.*}_mnt ${vtDud%.*}_data + $BUSYBOX_PATH/umount ${vtDud%.*}_mnt + echo "dud: file://${vtDud%.*}_data" >> /linuxrc.config + else + echo "mount $vtDud failed" >> $VTLOG + fi + done + + $BUSYBOX_PATH/rmmod isofs >> $VTLOG 2>&1 + $BUSYBOX_PATH/rmmod squashfs >> $VTLOG 2>&1 + $BUSYBOX_PATH/rmmod loop >> $VTLOG 2>&1 + fi +fi #echo "Exec: /bin/sh $VTOY_PATH/hook/suse/cdrom-hook.sh" >> /info-ventoy #echo "install: hd:/?device=/dev/mapper/ventoy" >> /info-ventoy @@ -34,9 +66,12 @@ fi if [ -e /etc/initrd.functions ] && $GREP -q 'HPIP' /etc/initrd.functions; then echo "HPIP" >> $VTLOG $BUSYBOX_PATH/mkdir /dev - $BUSYBOX_PATH/mknod -m 660 /dev/console b 5 1 + $BUSYBOX_PATH/mknod -m 660 /dev/console c 5 1 $SED "/CD_DEVICES=/a $BUSYBOX_PATH/sh $VTOY_PATH/hook/suse/disk_hook.sh" -i /etc/initrd.functions $SED "/CD_DEVICES=/a CD_DEVICES=\"/dev/ventoy \$CD_DEVICES\"" -i /etc/initrd.functions +elif [ -f /scripts/udev_setup ]; then + echo "udev_setup" >> $VTLOG + echo "/ventoy/busybox/sh /ventoy/hook/suse/udev_setup_hook.sh" >> /scripts/udev_setup else echo "SUSE" >> $VTLOG ventoy_systemd_udevd_work_around