X-Git-Url: https://glassweightruler.freedombox.rocks/gitweb/Ventoy.git/blobdiff_plain/be50ea69aaf2a18b9801c04efea19825d7f34c44..3dd3b7d26fafea5ef4b3ed250d10296992dfd417:/IMG/cpio/sbin/init diff --git a/IMG/cpio/sbin/init b/IMG/cpio/sbin/init index bd8e06d..1b46128 100644 --- a/IMG/cpio/sbin/init +++ b/IMG/cpio/sbin/init @@ -1,4 +1,4 @@ -#!/ventoy/busybox/tmpsh +#!/ventoy/busybox/ash #************************************************************************************ # Copyright (c) 2020, longpanda # @@ -36,8 +36,32 @@ export SED=$BUSYBOX_PATH/sed export SLEEP=$BUSYBOX_PATH/sleep export HEAD=$BUSYBOX_PATH/head -$BUSYBOX_PATH/tmpxz -d $BUSYBOX_PATH/busybox.xz -$BUSYBOX_PATH/busybox --install $BUSYBOX_PATH +if [ -e $BUSYBOX_PATH/32h ]; then + if [ -e $BUSYBOX_PATH/64h ]; then + #this is arm64 + $BUSYBOX_PATH/xzminidecaa64 < $BUSYBOX_PATH/busyboxaa64.xz > $BUSYBOX_PATH/busybox + $BUSYBOX_PATH/vtchmodaa64 $BUSYBOX_PATH/busybox + else + #this is x86_64 + $BUSYBOX_PATH/xzminidec64 < $BUSYBOX_PATH/busybox64.xz > $BUSYBOX_PATH/busybox + if [ -s $BUSYBOX_PATH/busybox ]; then + $BUSYBOX_PATH/vtchmod64 $BUSYBOX_PATH/busybox + else + $BUSYBOX_PATH/xzminidec64_musl < $BUSYBOX_PATH/busybox64.xz > $BUSYBOX_PATH/busybox + $BUSYBOX_PATH/vtchmod64_musl $BUSYBOX_PATH/busybox + fi + fi +else + $BUSYBOX_PATH/xzminidec32 < $BUSYBOX_PATH/busybox32.xz > $BUSYBOX_PATH/busybox + $BUSYBOX_PATH/vtchmod32 $BUSYBOX_PATH/busybox +fi + +if [ -e $BUSYBOX_PATH/busybox ]; then + $BUSYBOX_PATH/busybox --install $BUSYBOX_PATH +else + $BUSYBOX_PATH/tmpxz -d $BUSYBOX_PATH/busybox32.xz + $BUSYBOX_PATH/busybox32 --install $BUSYBOX_PATH +fi export PATH=$BUSYBOX_PATH/:$VTOY_PATH/tool @@ -60,9 +84,42 @@ xz -d ventoy_loop.sh.xz if [ -n "$VTOY_REDT_BUG" ]; then xz -d -c hook.cpio.xz | cpio -idm xz -d -c tool.cpio.xz | cpio -idm + xz -d -c loop.cpio.xz | cpio -idm else xz -d -c hook.cpio.xz | cpio -idm 2>>$VTLOG xz -d -c tool.cpio.xz | cpio -idm 2>>$VTLOG + xz -d -c loop.cpio.xz | cpio -idm 2>>$VTLOG +fi + +if [ -e $BUSYBOX_PATH/32h ]; then + if [ -e $BUSYBOX_PATH/64h ]; then + echo "Use ARM64 busybox toolkit ..." >>$VTLOG + echo aarch64 > $VTOY_PATH/ventoy_arch + ln -s $BUSYBOX_PATH/xzminidecaa64 $BUSYBOX_PATH/xzminidec + ln -s $VTOY_PATH/tool/dmsetupaa64 $VTOY_PATH/tool/dmsetup + ln -s $VTOY_PATH/tool/lunzipaa64 $VTOY_PATH/tool/lunzip + + rm -f $VTOY_PATH/tool/lz4cat $VTOY_PATH/tool/zstdcat + ln -s $VTOY_PATH/tool/lz4cataa64 $VTOY_PATH/tool/lz4cat + ln -s $VTOY_PATH/tool/zstdcataa64 $VTOY_PATH/tool/zstdcat + + else + echo "Use x86_64 busybox toolkit ..." >>$VTLOG + echo x86_64 > $VTOY_PATH/ventoy_arch + ln -s $BUSYBOX_PATH/xzminidec64 $BUSYBOX_PATH/xzminidec + ln -s $VTOY_PATH/tool/dmsetup64 $VTOY_PATH/tool/dmsetup + ln -s $VTOY_PATH/tool/lunzip64 $VTOY_PATH/tool/lunzip + + rm -f $VTOY_PATH/tool/lz4cat $VTOY_PATH/tool/zstdcat + ln -s $VTOY_PATH/tool/lz4cat64 $VTOY_PATH/tool/lz4cat + ln -s $VTOY_PATH/tool/zstdcat64 $VTOY_PATH/tool/zstdcat + fi +else + echo "Use i386 busybox toolkit ..." >>$VTLOG + echo i386 > $VTOY_PATH/ventoy_arch + ln -s $BUSYBOX_PATH/xzminidec32 $BUSYBOX_PATH/xzminidec + ln -s $VTOY_PATH/tool/dmsetup32 $VTOY_PATH/tool/dmsetup + ln -s $VTOY_PATH/tool/lunzip32 $VTOY_PATH/tool/lunzip fi rm -f *.xz