From 8dde4cd56fc59c0727f989815e8a3e1539aa74a9 Mon Sep 17 00:00:00 2001 From: longpanda Date: Mon, 12 Oct 2026 18:31:51 +0800 Subject: [PATCH] Optimize build script. --- DOC/installdietlibc.sh | 2 ++ DOC/installmusl.sh | 20 ++++++++++++++++++++ DOC/prepare_env.sh | 4 +++- FUSEISO/build.sh | 5 +++++ FUSEISO/build_aarch64.sh | 6 ++++++ FUSEISO/build_libfuse.sh | 3 ++- FUSEISO/build_libfuse_aarch64.sh | 2 +- INSTALL/all_in_one.sh | 6 +++--- 8 files changed, 42 insertions(+), 6 deletions(-) create mode 100644 DOC/installmusl.sh diff --git a/DOC/installdietlibc.sh b/DOC/installdietlibc.sh index ac8350b4..e55fd5e2 100644 --- a/DOC/installdietlibc.sh +++ b/DOC/installdietlibc.sh @@ -5,6 +5,8 @@ if ! [ -f ./dietlibc-0.34.tar.xz ]; then exit 1 fi +echo "======= install dietlibc ==============" + rm -rf /opt/diet32 rm -rf /opt/diet64 diff --git a/DOC/installmusl.sh b/DOC/installmusl.sh new file mode 100644 index 00000000..0a02d714 --- /dev/null +++ b/DOC/installmusl.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +if ! [ -f ./musl-1.2.1.tar.gz ]; then + echo "No musl-1.2.1.tar.gz found ..." + exit 1 +fi + +echo "======= install musl ==============" + +tar xf musl-1.2.1.tar.gz +cd musl-1.2.1 +./configure && make install + +cd .. +rm -rf musl-1.2.1 + +echo "" +echo " ================ success ===============" +echo "" + diff --git a/DOC/prepare_env.sh b/DOC/prepare_env.sh index 4754db3e..96cb27bd 100644 --- a/DOC/prepare_env.sh +++ b/DOC/prepare_env.sh @@ -1,6 +1,8 @@ #!/bin/bash -#[ -d /opt/diet64 ] || sh ./installdietlibc.sh +[ -d /opt/diet64 ] || sh ./installdietlibc.sh + +[ -d /usr/local/musl ] || sh ./installmusl.sh [ -d /opt/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu ] || tar xf /opt/gcc-linaro-7.4.1-2019.02-x86_64_aarch64-linux-gnu.tar.xz -C /opt diff --git a/FUSEISO/build.sh b/FUSEISO/build.sh index 45617c2d..92059603 100644 --- a/FUSEISO/build.sh +++ b/FUSEISO/build.sh @@ -15,6 +15,10 @@ fi # use musl-c to build for x86_64 # +if [ ! -d $LIBFUSE_DIR ]; then + sh build_libfuse.sh +fi + export C_INCLUDE_PATH=$LIBFUSE_DIR/include rm -f $name @@ -30,3 +34,4 @@ fi strip --strip-all $name +rm -rf $LIBFUSE_DIR diff --git a/FUSEISO/build_aarch64.sh b/FUSEISO/build_aarch64.sh index 59e995e9..67964539 100644 --- a/FUSEISO/build_aarch64.sh +++ b/FUSEISO/build_aarch64.sh @@ -8,6 +8,11 @@ name=vtoy_fuse_iso_aa64 export C_INCLUDE_PATH=$LIBFUSE_DIR/include + +if [ ! -d $LIBFUSE_DIR ]; then + sh build_libfuse_aarch64.sh +fi + rm -f $name aarch64-buildroot-linux-uclibc-gcc -static -O2 -D_FILE_OFFSET_BITS=64 vtoy_fuse_iso.c -o $name $LIBFUSE_DIR/lib/libfuse.a @@ -19,3 +24,4 @@ fi aarch64-buildroot-linux-uclibc-strip --strip-all $name +rm -rf $LIBFUSE_DIR diff --git a/FUSEISO/build_libfuse.sh b/FUSEISO/build_libfuse.sh index 96086aab..49bdae6f 100644 --- a/FUSEISO/build_libfuse.sh +++ b/FUSEISO/build_libfuse.sh @@ -33,8 +33,9 @@ fi ./makeconf.sh -./configure --prefix="$LIBFUSE_DIR" CFLAGS='-specs /usr/local/musl/lib/musl-gcc.specs' +./configure --prefix="$LIBFUSE_DIR" CFLAGS='-specs /usr/local/musl/lib/musl-gcc.specs' --disable-example make -j 16 make install cd .. + rm -rf libfuse diff --git a/FUSEISO/build_libfuse_aarch64.sh b/FUSEISO/build_libfuse_aarch64.sh index 691829ef..c84a45ef 100644 --- a/FUSEISO/build_libfuse_aarch64.sh +++ b/FUSEISO/build_libfuse_aarch64.sh @@ -37,7 +37,7 @@ sed '/#define *__s64/d' -i include/fuse_kernel.h sed 's/__u64/uint64_t/g' -i include/fuse_kernel.h sed 's/__s64/int64_t/g' -i include/fuse_kernel.h -./configure --prefix="$LIBFUSE_DIR" --host=aarch64 CC=aarch64-buildroot-linux-uclibc-gcc +./configure --prefix="$LIBFUSE_DIR" --host=aarch64 --disable-example CC=aarch64-buildroot-linux-uclibc-gcc make -j 16 diff --git a/INSTALL/all_in_one.sh b/INSTALL/all_in_one.sh index 827c80ba..fc385951 100644 --- a/INSTALL/all_in_one.sh +++ b/INSTALL/all_in_one.sh @@ -44,9 +44,9 @@ sh buildedk.sh >> $LOG 2>&1 || exit 1 #cd $VTOY_PATH/vtoycli #sh build.sh || exit 1 -#cd $VTOY_PATH/FUSEISO -#sh build_libfuse.sh -#sh build.sh +cd $VTOY_PATH/FUSEISO +sh build.sh +sh build_aarch64.sh # cd $VTOY_PATH/ExFAT