]> glassweightruler.freedombox.rocks Git - Ventoy.git/commitdiff
Fix the hardcoded dev/dm-0
authorlongpanda <admin@ventoy.net>
Thu, 5 May 2022 11:11:55 +0000 (19:11 +0800)
committerlongpanda <admin@ventoy.net>
Thu, 5 May 2022 11:11:55 +0000 (19:11 +0800)
14 files changed:
IMG/cpio/ventoy/hook/blackPanther/ventoy-hook.sh
IMG/cpio/ventoy/hook/blackPanther/ventoy-inotifyd-hook.sh
IMG/cpio/ventoy/hook/easystartup/disk_hook.sh
IMG/cpio/ventoy/hook/easystartup/ventoy-hook.sh
IMG/cpio/ventoy/hook/lunar/ventoy-hook.sh
IMG/cpio/ventoy/hook/lunar/ventoy-inotifyd-hook.sh
IMG/cpio/ventoy/hook/mageia/ventoy-inotifyd-hook.sh
IMG/cpio/ventoy/hook/openEuler/ventoy-hook.sh
IMG/cpio/ventoy/hook/openEuler/ventoy-inotifyd-hook.sh
IMG/cpio/ventoy/hook/openEuler/ventoy-make-link.sh
IMG/cpio/ventoy/hook/openEuler/ventoy-timeout.sh
IMG/cpio/ventoy/hook/rhel7/ventoy-hook.sh
IMG/cpio/ventoy/hook/rhel7/ventoy-inotifyd-hook.sh
IMG/cpio/ventoy/hook/rhel7/ventoy-timeout.sh

index bdcea43c69440cb9e3cab2bbb333bca5d0430028..e3b19f40e74d5be73fc8dc201675006fe46c735f 100644 (file)
@@ -22,4 +22,4 @@
 ventoy_set_inotify_script  blackPanther/ventoy-inotifyd-hook.sh
 $BUSYBOX_PATH/cp -a $VTOY_PATH/hook/blackPanther/ventoy-inotifyd-start.sh /lib/dracut/hooks/pre-udev/00-ventoy-inotifyd-start.sh
 
 ventoy_set_inotify_script  blackPanther/ventoy-inotifyd-hook.sh
 $BUSYBOX_PATH/cp -a $VTOY_PATH/hook/blackPanther/ventoy-inotifyd-start.sh /lib/dracut/hooks/pre-udev/00-ventoy-inotifyd-start.sh
 
-$SED "s#printf\(.*\)\$CMDLINE#printf\1 root=/dev/dm-0 \$CMDLINE root=/dev/dm-0#" -i /lib/dracut-lib.sh
+$SED "s#printf\(.*\)\$CMDLINE#printf\1 root=/dev/ventoy \$CMDLINE root=/dev/ventoy#" -i /lib/dracut-lib.sh
index 3b11f7ca3c54f68c58c0d717cce4be1ad5bd0104..caa80d4c9bb6652a76833f8fef909b34097a528b 100644 (file)
@@ -33,10 +33,8 @@ if is_inotify_ventoy_part $3; then
     $BUSYBOX_PATH/sh $VTOY_PATH/hook/default/udev_disk_hook.sh $3 noreplace
 
     blkdev_num_dev=$($VTOY_PATH/tool/dmsetup ls | grep ventoy | sed 's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1 \2/')  
     $BUSYBOX_PATH/sh $VTOY_PATH/hook/default/udev_disk_hook.sh $3 noreplace
 
     blkdev_num_dev=$($VTOY_PATH/tool/dmsetup ls | grep ventoy | sed 's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1 \2/')  
-    if ! [ -e /dev/dm-0 ]; then
-        mknod -m 660 /dev/dm-0 b $blkdev_num_dev
-    fi
-    blackPanther-root /dev/dm-0
+    mknod -m 660 /dev/ventoy b $blkdev_num_dev
+    blackPanther-root /dev/ventoy
 
     set_ventoy_hook_finish   
 else
 
     set_ventoy_hook_finish   
 else
index d9b3d48ba5c395df268c756b2c3396e195c5c157..b688688238aec20c994b27508e6e9f218167d203 100644 (file)
@@ -78,6 +78,9 @@ fi
 
 ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
 
 
 ventoy_udev_disk_common_hook "${vtdiskname#/dev/}2" "noreplace"
 
-ln -s /dev/dm-0 /dev/root
+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})
+cp -a /dev/$vtDM /dev/ventoy
+ln -s /dev/$vtDM /dev/root
 
 PATH=$VTPATH_OLD
 
 PATH=$VTPATH_OLD
index 39658c44860319062d9ac32e70b6a0ffecd83901..d18d9d522c6b506b105cd71839221a0542bb5d91 100644 (file)
@@ -19,5 +19,5 @@
 
 . $VTOY_PATH/hook/ventoy-os-lib.sh
 
 
 . $VTOY_PATH/hook/ventoy-os-lib.sh
 
-$SED "s#^CDROM=.*#CDROM=/dev/dm-0#" -i /init
+$SED "s#^CDROM=.*#CDROM=/dev/ventoy#" -i /init
 $BUSYBOX_PATH/cp -a $VTOY_PATH/hook/easystartup/ventoy-initqueue.sh  /initqueue/ventoy.sh
 $BUSYBOX_PATH/cp -a $VTOY_PATH/hook/easystartup/ventoy-initqueue.sh  /initqueue/ventoy.sh
index 08e32d42fad02a5e703d9ede66fff40b1c53f443..31744f6ccfd3231e17d98c357a2aaf2ac0ea688b 100644 (file)
@@ -19,7 +19,7 @@
 
 . $VTOY_PATH/hook/ventoy-os-lib.sh
 
 
 . $VTOY_PATH/hook/ventoy-os-lib.sh
 
-$SED "s#printf\(.*\)\$CMDLINE#printf\1\$CMDLINE root=/dev/dm-0#" -i /lib/dracut-lib.sh
+$SED "s#printf\(.*\)\$CMDLINE#printf\1\$CMDLINE root=/dev/ventoy#" -i /lib/dracut-lib.sh
 
 $BUSYBOX_PATH/rm -f /usr/lib/systemd/system-generators/systemd-fstab-generator /lib/systemd/system-generators/systemd-fstab-generator
 
 
 $BUSYBOX_PATH/rm -f /usr/lib/systemd/system-generators/systemd-fstab-generator /lib/systemd/system-generators/systemd-fstab-generator
 
index da31013612ee9088d6601053d348e878421e2737..2ddc120141aabef7bc5cff2e4306b90fa1475d30 100644 (file)
@@ -35,7 +35,8 @@ if is_inotify_ventoy_part $3; 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})
 
     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})
 
-    mount -t iso9660 /dev/$vtDM /sysroot
+    cp -a /dev/$vtDM /dev/ventoy
+    mount -t iso9660 /dev/ventoy /sysroot
     
     set_ventoy_hook_finish
 else
     
     set_ventoy_hook_finish
 else
index 226cbcade04d790e92eea1bbb8545d1daf9125da..61e50eff5cd8064977a031d4571f684211b353ef 100644 (file)
@@ -59,7 +59,7 @@ if is_inotify_ventoy_part $3; then
         $BUSYBOX_PATH/cp -a $BUSYBOX_PATH/blkid /sbin/blkid
         $BUSYBOX_PATH/mkdir -p /dev/mapper
         ln -s /dev/$vtDM  /dev/mapper/ventoy     
         $BUSYBOX_PATH/cp -a $BUSYBOX_PATH/blkid /sbin/blkid
         $BUSYBOX_PATH/mkdir -p /dev/mapper
         ln -s /dev/$vtDM  /dev/mapper/ventoy     
-        /sbin/mgalive-root /dev/dm-0    
+        /sbin/mgalive-root /dev/$vtDM
     fi
     
     set_ventoy_hook_finish
     fi
     
     set_ventoy_hook_finish
index 63bd491056fed7f578a626e9b7326f920b07c5aa..230eb636236b7e502096d5051342b1ba0ddde72d 100644 (file)
@@ -25,13 +25,19 @@ else
     for vtParam in $($CAT /proc/cmdline); do
         if echo $vtParam | $GREP -q 'inst.ks=hd:LABEL='; then
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
     for vtParam in $($CAT /proc/cmdline); do
         if echo $vtParam | $GREP -q 'inst.ks=hd:LABEL='; then
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
-            VTKS="inst.ks=hd:/dev/dm-0:$vtRawKs"
+            VTKS="inst.ks=hd:/dev/ventoy:$vtRawKs"
             break
         fi
         
         if echo $vtParam | $GREP -q '^ks=.*:/'; then
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
             break
         fi
         
         if echo $vtParam | $GREP -q '^ks=.*:/'; then
             vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
-            VTKS="ks=hd:/dev/dm-0:$vtRawKs"
+            VTKS="ks=hd:/dev/ventoy:$vtRawKs"
+            break
+        fi
+        
+        if echo $vtParam | $GREP -q '^inst.ks=.*:/'; then
+            vtRawKs=$(echo $vtParam | $AWK -F: '{print $NF}')
+            VTKS="inst.ks=hd:/dev/ventoy:$vtRawKs"
             break
         fi
     done
             break
         fi
     done
@@ -54,9 +60,12 @@ if [ -f $VTOY_PATH/ventoy_persistent_map ]; then
     $BUSYBOX_PATH/rm -rf $VTOY_PATH/selinuxfs
 fi
 
     $BUSYBOX_PATH/rm -rf $VTOY_PATH/selinuxfs
 fi
 
-
 echo "VTKS=$VTKS  VTOVERLAY=$VTOVERLAY" >> $VTLOG
 
 echo "VTKS=$VTKS  VTOVERLAY=$VTOVERLAY" >> $VTLOG
 
+if [ -n "$vtRawKs" ]; then
+    echo "$vtRawKs" > $VTOY_PATH/ventoy_ks_rootpath
+fi
+
 if ls $VTOY_PATH | $GREP -q 'ventoy_dud[0-9]'; then
     for vtDud in $(ls $VTOY_PATH/ventoy_dud*); do
         vtInstDD="$vtInstDD inst.dd=file:$vtDud"
 if ls $VTOY_PATH | $GREP -q 'ventoy_dud[0-9]'; then
     for vtDud in $(ls $VTOY_PATH/ventoy_dud*); do
         vtInstDD="$vtInstDD inst.dd=file:$vtDud"
@@ -64,7 +73,7 @@ if ls $VTOY_PATH | $GREP -q 'ventoy_dud[0-9]'; then
 fi
 echo "vtInstDD=$vtInstDD" >> $VTLOG
 
 fi
 echo "vtInstDD=$vtInstDD" >> $VTLOG
 
-$SED "s#printf\(.*\)\$CMDLINE#printf\1\$CMDLINE inst.stage2=hd:/dev/dm-0 $VTKS $vtInstDD#" -i /lib/dracut-lib.sh
+$SED "s#printf\(.*\)\$CMDLINE#printf\1\$CMDLINE inst.stage2=hd:/dev/ventoy $VTKS $VTOVERLAY $vtInstDD#" -i /lib/dracut-lib.sh
 
 ventoy_set_inotify_script  openEuler/ventoy-inotifyd-hook.sh
 
 
 ventoy_set_inotify_script  openEuler/ventoy-inotifyd-hook.sh
 
index 1da3a1975793f1c481a76a078a0eb8d0e8cadf75..e0a9a0bb1610696c4dae6de903428d97de3bbba1 100644 (file)
@@ -35,19 +35,23 @@ if is_inotify_ventoy_part $3; then
     
     $BUSYBOX_PATH/sh $VTOY_PATH/hook/default/udev_disk_hook.sh $3 
     
     
     $BUSYBOX_PATH/sh $VTOY_PATH/hook/default/udev_disk_hook.sh $3 
     
-    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})
-
-    if [ "$vtDM" = "dm-0" ]; then
-        vtlog "This is dm-0, OK ..."
-    else
-        vtlog "####### This is $vtDM ####### this is abnormal ..."
-        ventoy_swap_device /dev/dm-0 /dev/$vtDM
+    blkdev_num_mknod=$($VTOY_PATH/tool/dmsetup ls | $GREP ventoy | sed 's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1 \2/')
+    $BUSYBOX_PATH/mknod -m 660 /dev/ventoy  b  $blkdev_num_mknod
+    $BUSYBOX_PATH/modprobe isofs >/dev/null 2>&1
+    vtlog "mknod /dev/ventoy $blkdev_num_mknod"
+    
+    if [ -f $VTOY_PATH/ventoy_ks_rootpath ]; then
+        vt_ks_rootpath=$(cat $VTOY_PATH/ventoy_ks_rootpath)
+        vtlog "ks rootpath <$vt_ks_rootpath>"
+        if [ -e /sbin/fetch-kickstart-disk ]; then
+            vtlog "fetch-kickstart-disk ..."        
+            /sbin/fetch-kickstart-disk /dev/ventoy "$vt_ks_rootpath"
+        fi
     fi
     
     if [ -e /sbin/anaconda-diskroot ]; then
     fi
     
     if [ -e /sbin/anaconda-diskroot ]; then
-        vtlog "set anaconda-diskroot ..."
-        /sbin/anaconda-diskroot /dev/dm-0    
+        vtlog "set anaconda-diskroot ..."        
+        /sbin/anaconda-diskroot /dev/ventoy
     fi
     
     set_ventoy_hook_finish
     fi
     
     set_ventoy_hook_finish
index 22a3dd4acd65090884af324ffc7d8fa93ea834af..a69233610c143538e365ee292f7e2bcb25bb6fb6 100644 (file)
 
 . /ventoy/hook/ventoy-hook-lib.sh
 
 
 . /ventoy/hook/ventoy-hook-lib.sh
 
+if [ ! -e /dev/dm-0 ]; then
+    exit 0
+fi
+
+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})
+
 if ! [ -e /dev/mapper/ventoy ]; then
 if ! [ -e /dev/mapper/ventoy ]; then
-    vtlog "link to /dev/mapper/ventoy"
-    ln -s /dev/dm-0 /dev/mapper/ventoy
+    vtlog "link /dev/$vtDM to /dev/mapper/ventoy"
+    ln -s /dev/$vtDM /dev/mapper/ventoy
 fi
 
 fi
 
-VTLABEL=$($BUSYBOX_PATH/blkid /dev/dm-0 | $SED 's/.*LABEL="\([^"]*\)".*/\1/')
+VTLABEL=$($BUSYBOX_PATH/blkid /dev/$vtDM | $SED 's/.*LABEL="\([^"]*\)".*/\1/')
 vtlog "VTLABEL=$VTLABEL"
 
 if [ -n "$VTLABEL" ]; then
     if ! [ -e "/dev/disk/by-label/$VTLABEL" ]; then
 vtlog "VTLABEL=$VTLABEL"
 
 if [ -n "$VTLABEL" ]; then
     if ! [ -e "/dev/disk/by-label/$VTLABEL" ]; then
-        vtlog "link to /dev/disk/by-label/$VTLABEL"
-        ln -s /dev/dm-0 "/dev/disk/by-label/$VTLABEL"
+        vtlog "link /dev/$vtDM to /dev/disk/by-label/$VTLABEL"
+        ln -s /dev/$vtDM "/dev/disk/by-label/$VTLABEL"
     fi
 fi
     fi
 fi
index 87ece3be9728223014c5e79d03aae1f747de84c0..e0ca553c837589149c59e594aa7648ddd302fa74 100644 (file)
@@ -23,12 +23,23 @@ vtlog "##### $0 $* ..."
 
 VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
 
 
 VTPATH_OLD=$PATH; PATH=$BUSYBOX_PATH:$VTOY_PATH/tool:$PATH
 
-blkdev_num=$(dmsetup ls | grep ventoy | sed 's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1:\2/')  
-vtDM=$(ventoy_find_dm_id ${blkdev_num})
+if [ ! -e /dev/ventoy ]; then
+    blkdev_num_mknod=$(dmsetup ls | grep ventoy | sed 's/.*(\([0-9][0-9]*\),.*\([0-9][0-9]*\).*/\1 \2/')
+    mknod -m 660 /dev/ventoy  b  $blkdev_num_mknod
+fi
+
+if [ -f $VTOY_PATH/ventoy_ks_rootpath ]; then
+    vt_ks_rootpath=$(cat $VTOY_PATH/ventoy_ks_rootpath)
+    vtlog "ks rootpath <$vt_ks_rootpath>"
+    if [ -e /sbin/fetch-kickstart-disk ]; then
+        vtlog "fetch-kickstart-disk ..."        
+        /sbin/fetch-kickstart-disk /dev/ventoy "$vt_ks_rootpath"
+    fi
+fi
 
 if [ -e /sbin/anaconda-diskroot ]; then
 
 if [ -e /sbin/anaconda-diskroot ]; then
-    vtlog "set anaconda-diskroot ..."
-    /sbin/anaconda-diskroot /dev/dm-0    
+    vtlog "set anaconda-diskroot /dev/ventoy ..."
+    /sbin/anaconda-diskroot /dev/ventoy
 fi
 
 PATH=$VTPATH_OLD
 fi
 
 PATH=$VTPATH_OLD
index 2fb4a557e5ea1c515ee59fbf97116a44d4d139f1..271c38a8d11e7e502b5e2d47070a32f781a73307 100644 (file)
@@ -64,9 +64,12 @@ if [ -f $VTOY_PATH/ventoy_persistent_map ]; then
     $BUSYBOX_PATH/rm -rf $VTOY_PATH/selinuxfs
 fi
 
     $BUSYBOX_PATH/rm -rf $VTOY_PATH/selinuxfs
 fi
 
-
 echo "VTKS=$VTKS  VTOVERLAY=$VTOVERLAY" >> $VTLOG
 
 echo "VTKS=$VTKS  VTOVERLAY=$VTOVERLAY" >> $VTLOG
 
+if [ -n "$vtRawKs" ]; then
+    echo "$vtRawKs" > $VTOY_PATH/ventoy_ks_rootpath
+fi
+
 if ls $VTOY_PATH | $GREP -q 'ventoy_dud[0-9]'; then
     for vtDud in $(ls $VTOY_PATH/ventoy_dud*); do
         vtInstDD="$vtInstDD inst.dd=file:$vtDud"
 if ls $VTOY_PATH | $GREP -q 'ventoy_dud[0-9]'; then
     for vtDud in $(ls $VTOY_PATH/ventoy_dud*); do
         vtInstDD="$vtInstDD inst.dd=file:$vtDud"
index cf29264ae2c7d7b640c2545934a6b851fea7bce5..b4afbf746f409f53c5385bb5341bdaf502d42ef9 100644 (file)
@@ -54,6 +54,15 @@ if is_inotify_ventoy_part $3; then
         vtlog "$vtGenRulFile not exist..."
     fi
     
         vtlog "$vtGenRulFile not exist..."
     fi
     
+    if [ -f $VTOY_PATH/ventoy_ks_rootpath ]; then
+        vt_ks_rootpath=$(cat $VTOY_PATH/ventoy_ks_rootpath)
+        vtlog "ks rootpath <$vt_ks_rootpath>"
+        if [ -e /sbin/fetch-kickstart-disk ]; then
+            vtlog "fetch-kickstart-disk ..."        
+            /sbin/fetch-kickstart-disk /dev/ventoy "$vt_ks_rootpath"
+        fi
+    fi
+    
     if [ -e /sbin/anaconda-diskroot ]; then
         vtlog "set anaconda-diskroot ..."        
         /sbin/anaconda-diskroot /dev/ventoy
     if [ -e /sbin/anaconda-diskroot ]; then
         vtlog "set anaconda-diskroot ..."        
         /sbin/anaconda-diskroot /dev/ventoy
index 8aac1690cc926f8169f0496be2da06f00d211aec..e0ca553c837589149c59e594aa7648ddd302fa74 100644 (file)
@@ -28,6 +28,15 @@ if [ ! -e /dev/ventoy ]; then
     mknod -m 660 /dev/ventoy  b  $blkdev_num_mknod
 fi
 
     mknod -m 660 /dev/ventoy  b  $blkdev_num_mknod
 fi
 
+if [ -f $VTOY_PATH/ventoy_ks_rootpath ]; then
+    vt_ks_rootpath=$(cat $VTOY_PATH/ventoy_ks_rootpath)
+    vtlog "ks rootpath <$vt_ks_rootpath>"
+    if [ -e /sbin/fetch-kickstart-disk ]; then
+        vtlog "fetch-kickstart-disk ..."        
+        /sbin/fetch-kickstart-disk /dev/ventoy "$vt_ks_rootpath"
+    fi
+fi
+
 if [ -e /sbin/anaconda-diskroot ]; then
     vtlog "set anaconda-diskroot /dev/ventoy ..."
     /sbin/anaconda-diskroot /dev/ventoy
 if [ -e /sbin/anaconda-diskroot ]; then
     vtlog "set anaconda-diskroot /dev/ventoy ..."
     /sbin/anaconda-diskroot /dev/ventoy