]> glassweightruler.freedombox.rocks Git - Ventoy.git/blobdiff - IMG/cpio/ventoy/loop/cloudready/ventoy-hook.sh
1.1.07 release
[Ventoy.git] / IMG / cpio / ventoy / loop / cloudready / ventoy-hook.sh
index b2a586d77b0518dabb143ba38dc160fa1e9bd5fc..666a4e0b150c278ea52aa254e4b9ae0c2c772c0f 100644 (file)
@@ -58,38 +58,70 @@ blkdev_num=$($VTOY_PATH/tool/dmsetup ls | grep ventoy | sed 's/.*(\([0-9][0-9]*\
 vtDM=$(ventoy_find_dm_id ${blkdev_num})
 echo -n $vtDM > /ventoy/vtDM
 
-ventoy_create_dev_ventoy_part
+ventoy_create_chromeos_ventoy_part 3
 mdev -s
 
 vtlog "copy out the e2fsck program ..."
+
+copy_lib() {
+    cp -a /ventoy_rdroot/usr/lib64/$1 /usr/lib64/
+    cp -a /ventoy_rdroot/lib64/$1 /lib64/
+}
+
 mkdir /ventoy_rdroot
 mkdir -p /lib /lib64 /usr/lib64 /sbin
 
 mount -o ro /dev/ventoy3 /ventoy_rdroot >>$VTLOG 2>&1
 cp -a /ventoy_rdroot/sbin/e2fsck /sbin/
-cp -a /ventoy_rdroot/usr/lib64/libext2fs* /usr/lib64/
-cp -a /ventoy_rdroot/usr/lib64/libcom_err* /usr/lib64/
-cp -a /ventoy_rdroot/usr/lib64/libe2p* /usr/lib64/
-cp -a /ventoy_rdroot/lib64/libblk* /lib64/
-cp -a /ventoy_rdroot/lib64/libuuid* /lib64/
-cp -a /ventoy_rdroot/lib64/libdl.* /lib64/
-cp -a /ventoy_rdroot/lib64/libdl-* /lib64/
-cp -a /ventoy_rdroot/lib64/libc.* /lib64/
-cp -a /ventoy_rdroot/lib64/libc-* /lib64/
-cp -a /ventoy_rdroot/lib64/libpthread* /lib64/
-cp -a /ventoy_rdroot/lib64/ld-* /lib64/
+cp -a /ventoy_rdroot/sbin/dmsetup /sbin/
+
+copy_lib libext2fs*
+copy_lib libcom_err*
+copy_lib libe2p*
+copy_lib libblk*
+copy_lib libuuid*
+copy_lib libdl.*
+copy_lib libdl-*
+copy_lib libc.*
+copy_lib libc-*
+copy_lib libpthread*
+copy_lib ld-*
+copy_lib libdevmapper*
+copy_lib libudev*
+copy_lib libm.*
+copy_lib libm-*
+copy_lib librt*
+copy_lib libpopt*
+copy_lib libgpg-error*
+copy_lib libselinux*
+copy_lib libsepol*
+copy_lib libpcre*
+copy_lib libcap*
+copy_lib libdw*
+copy_lib libgcc_s*
+copy_lib libattr*
+copy_lib libelf*
+copy_lib libz.*
+copy_lib libbz2*
+copy_lib libgcrypt*
+copy_lib liblvm*
+
+ln -s /lib64/libdevmapper.so.1.02 /lib64/libdevmapper.so.1.02.1
 
 umount /ventoy_rdroot
 
 vtlog "========================================="
 vtlog "===== e2fsck -y -v /dev/ventoy1 ====="
 e2fsck -y -v /dev/ventoy1 >>$VTLOG 2>&1
-vtlog "===== e2fsck -y -v /dev/ventoy3 ====="
-e2fsck -y -v /dev/ventoy3 >>$VTLOG 2>&1
+#vtlog "===== e2fsck -y -v /dev/ventoy3 ====="
+#e2fsck -y -v /dev/ventoy3 >>$VTLOG 2>&1
 vtlog "===== e2fsck -y -v /dev/ventoy8 ====="
 e2fsck -y -v /dev/ventoy8 >>$VTLOG 2>&1
 vtlog "========================================="
 
+/sbin/dmsetup --version >>$VTLOG 2>&1
+veritysetup --version >>$VTLOG 2>&1
+
 vtlog "proc devtmpfs ..."
 mkdir /newdev
 mount -t devtmpfs dev /newdev
@@ -97,6 +129,10 @@ mount -t devtmpfs dev /newdev
 cp -a /dev/mapper/ventoy* /newdev/mapper/
 cp -a /dev/ventoy* /newdev/
 
+if [ "$VTOY_VLNK_BOOT" = "01" ]; then
+    vtLine=$($VTOY_PATH/tool/vtoydump -f /ventoy/ventoy_os_param)
+    vtdiskname=${vtLine%%#*}
+fi
 
 vtshortname="${vtdiskname#/dev/}"
 mv /newdev/${vtshortname} /newdev/backup_${vtshortname}
@@ -125,10 +161,45 @@ for i in 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20; do
     fi
 done
 
-cp -a $VTLOG /newdev/ventoy.log
-umount /newdev
 
+# if grep -q 'DM=' /proc/cmdline; then
+    # vtlog "Boot verified image ..."
+    
+    # dmP1=$(sed "s/.*\(0 [0-9]* verity\).*/\1/" /proc/cmdline)
+    # alg=$(sed "s/.*alg=\([^ ]*\).*/\1/" /proc/cmdline)
+    # hexdigest=$(sed "s/.*root_hexdigest=\([0-9a-fA-F][0-9a-fA-F]*\).*/\1/" /proc/cmdline)
+    # salt=$(sed "s/.*salt=\([0-9a-fA-F][0-9a-fA-F]*\).*/\1/" /proc/cmdline)
+    # hashstart=$(sed "s/.*hashstart=\([0-9][0-9]*\).*/\1/" /proc/cmdline)
+    
+    #512 to 4096
+    # blocknum=$(expr $hashstart / 8)
+    # hashoffset=$(expr $hashstart \* 512)
+    
+    # vtlog "veritysetup create vroot $vt_root_dev $vt_root_dev $hexdigest --data-block-size=4096 --hash-block-size=4096 --data-blocks=$blocknum --hash-offset=$hashoffset --salt=$salt --hash=$alg --no-superblock --format=0"
+    # veritysetup create vroot $vt_root_dev $vt_root_dev $hexdigest --data-block-size=4096 --hash-block-size=4096 --data-blocks=$blocknum --hash-offset=$hashoffset --salt=$salt --hash=$alg --no-superblock --format=0
+    # sleep 1
+    # mdev -s
+
+    # blkdev_num=$(dmsetup ls | grep vroot | sed 's/.*(\([0-9][0-9]*\),[^0-9]*\([0-9][0-9]*\).*/\1:\2/')
+    # vtDM=$(ventoy_find_dm_id ${blkdev_num})
+    # vtlog "blkdev_num=$blkdev_num vtDM=$vtDM"
+
+    # if [ -b /dev/$vtDM ]; then
+        # veritysetup status vroot >> $VTLOG 2>&1
+        # mount -o ro /dev/$vtDM /ventoy_rdroot
+    # else
+        # mount -o ro $vt_root_dev /ventoy_rdroot
+    # fi
+# else
+    # vtlog "Boot normal image ..."
+    # mount -o ro $vt_root_dev /ventoy_rdroot
+# fi
+
+vtlog "Boot normal image ..."
 mount -o ro $vt_root_dev /ventoy_rdroot
+
+cp -a $VTLOG /newdev/ventoy.log
+umount /newdev
 mount -t devtmpfs dev /ventoy_rdroot/dev
 
 PATH=$VTPATH_OLD