-echo "kenel version=$vtkerver" >>$VTLOG
-echo "kenel cmdline=$vtcmdline" >>$VTLOG
-
-#break here for debug
-if [ "$VTOY_BREAK_LEVEL" = "01" ] || [ "$VTOY_BREAK_LEVEL" = "11" ]; then
- sleep 5
- echo -e "\n\n\033[32m ################################################# \033[0m"
- echo -e "\033[32m ################ VENTOY DEBUG ################### \033[0m"
- echo -e "\033[32m ################################################# \033[0m \n"
-
- if [ "$VTOY_BREAK_LEVEL" = "11" ]; then
- cat $VTLOG
- fi
- exec $BUSYBOX_PATH/sh
-fi
-
-
-####################################################################
-# #
-# Step 2 : extract real initramfs to / #
-# #
-####################################################################
-cd /
-rm -rf /init /linuxrc /sbin /dev/ /root
-
-ventoy_is_initrd_ramdisk() {
- #As I known, PCLinuxOS use ramdisk
- if echo $vtkerver | grep -i -q 'PCLinuxOS'; then
- true
- else
- false
- fi
-}
-
-# param: file skip magic tmp
-ventoy_unpack_initramfs() {
- vtfile=$1; vtskip=$2; vtmagic=$3; vttmp=$4
- echo "=====ventoy_unpack_initramfs: #$*#" >> $VTLOG
-
- for vtx in '1F8B zcat' '1F9E zcat' '425A bzcat' '5D00 lzcat' 'FD37 xzcat' '894C lzopcat' '0221 lz4cat' '28B5 zstdcat' '3037 cat'; do
- if [ "${vtx:0:4}" = "${vtmagic:0:4}" ]; then
- echo "vtx=$vtx" >> $VTLOG
- if [ $vtskip -eq 0 ]; then
- ${vtx:5} $vtfile | (cpio -idmu 2>>$VTLOG; cat > $vttmp)
- else
- dd if=$vtfile skip=$vtskip iflag=skip_bytes status=none | ${vtx:5} | (cpio -idmu 2>>$VTLOG; cat > $vttmp)
- fi
- break
- fi
- done
-}
-
-# param: file magic tmp
-ventoy_unpack_initrd() {
- vtfile=$1; vtmagic=$2; vttmp=$3
- echo "=====ventoy_unpack_initrd: #$*#" >> $VTLOG
-
- for vtx in '1F8B zcat' '1F9E zcat' '425A bzcat' '5D00 lzcat' 'FD37 xzcat' '894C lzopcat' '0221 lz4cat' '28B5 zstdcat' '3037 cat'; do
- if [ "${vtx:0:4}" = "${vtmagic:0:4}" ]; then
- echo "vtx=$vtx" >> $VTLOG
- ${vtx:5} $vtfile > $vttmp
- break
- fi
- done
-}
-
-
-# This export is for busybox cpio command
-export EXTRACT_UNSAFE_SYMLINKS=1
-
-# special process
-need_xzminidec() {
- testmagic=$(hexdump -n 2 -e '2/1 "%02X"' /initrd001)
- if [ "FD37" = "${testmagic:0:4}" ]; then
- if echo $vtkerver | grep -q 'kaspersky'; then
- true
- elif echo $vtkerver | grep -q 'kiosk.*Gentoo'; then
- true
- else
- false
- fi
- else
- false
- fi
-}
-
-if need_xzminidec; then
- echo "use xzminidec" >> $VTLOG
- cat /initrd001 | xzminidec | cpio -idmu 2>>$VTLOG
- rm -f /initrd001