diff options
Diffstat (limited to 'bootstrap/stage3.sh')
-rw-r--r-- | bootstrap/stage3.sh | 135 |
1 files changed, 0 insertions, 135 deletions
diff --git a/bootstrap/stage3.sh b/bootstrap/stage3.sh deleted file mode 100644 index 567a4ad..0000000 --- a/bootstrap/stage3.sh +++ /dev/null @@ -1,135 +0,0 @@ -#!/bin/bash - -clean_build () { - rm -rf ${chroot}/build - mkdir ${chroot}/build -} - -build_headers () { - src "https://cdn.kernel.org/pub/linux/kernel/v5.x/linux-$LINUX_VER.tar.xz" - make mrproper - - ptch "https://raw.githubusercontent.com/dslm4515/Musl-LFS/master/patches/kernel/include-uapi-linux-swab-Fix-potentially-missing-__always_inline.patch" - - cat > ${chroot}/build/build.sh << "EOF" -#!/bin/bash -cd /build/ -cp -r */* . - -make headers -mkdir /usr/include -cp -r usr/include/* /usr/include -find /usr/include -name '.*' -exec rm -f {} \; -rm /usr/include/Makefile -EOF - chmod +x ${chroot}/build/build.sh - tchroot /build/build.sh -} - -build_musl () { - src "https://musl.libc.org/releases/musl-$MUSL_VER.tar.gz" - ptch "https://raw.githubusercontent.com/dslm4515/Musl-LFS/master/patches/musl-mlfs/fix-utmp-wtmp-paths.patch" - ptch "https://raw.githubusercontent.com/dslm4515/Musl-LFS/master/patches/musl-mlfs/change-scheduler-functions-Linux-compatib.patch" - ptch "https://raw.githubusercontent.com/dslm4515/Musl-LFS/master/patches/musl-alpine/0001-riscv64-define-ELF_NFPREG.patch" - ptch "https://raw.githubusercontent.com/dslm4515/Musl-LFS/master/patches/musl-alpine/handle-aux-at_base.patch -" - ptch "https://raw.githubusercontent.com/dslm4515/Musl-LFS/master/patches/musl-alpine/syscall-cp-epoll.patch" - curl "https://raw.githubusercontent.com/dslm4515/Musl-LFS/master/files/__stack_chk_fail_local.c" > __stack_chk_fail_local.c - - cat > ${chroot}/build/build.sh << "EOF" -#!/bin/bash -cd /build/ -cp -r */* . -LDFLAGS="$LDFLAGS -Wl,-soname,libc.musl-${CARCH}.so.1" \ -./configure --prefix=/usr \ - --sysconfdir=/etc \ - --localstatedir=/var \ - --disable-gcc-wrapper - -make && make install - - -/tools/bin/x86_64-linux-musl-gcc -fpie -c __stack_chk_fail_local.c -o __stack_chk_fail_local.o -/tools/bin/x86_64-linux-musl-gcc-ar r libssp_nonshared.a __stack_chk_fail_local.o - -cp libssp_nonshared.a /usr/lib/ - -export ARCH="x86_64" - -ln -s /lib/ld-musl-$ARCH.so.1 /bin/ldd -EOF - chmod +x ${chroot}/build/build.sh - tchroot /build/build.sh -} - -adjust_tools() { - - cat > ${chroot}/build/build.sh << "EOF" -#!/bin/bash -export TARGET="x86_64-linux-musl" -mv /tools/bin/{ld,ld-old} -mv /tools/${TARGET}/bin/{ld,ld-old} -mv /tools/bin/{ld-new,ld} -ln -s /tools/bin/ld /tools/${TARGET}/bin/ld - -export SPECFILE=`dirname $(gcc -print-libgcc-file-name)`/specs -gcc -dumpspecs | sed -e 's@/tools@@g' \ - -e '/\*startfile_prefix_spec:/{n;s@.*@/usr/lib/ @}' \ - -e '/\*cpp:/{n;s@$@ -isystem /usr/include@}' > tempspecfile -mv -f tempspecfile $SPECFILE && -unset SPECFILE TARGET - -echo 'int main(){}' > dummy.c -cc dummy.c -v -Wl,--verbose > dummy.log 2>&1 -readelf -l a.out | grep ': /lib' -printf "above should be:\n\033[0;33m[Requesting program interpreter: /lib/ld-musl-x86_64.so.1]\033[0m\n" -printf "######################\n" -read wait - -grep -o '/usr/lib.*/crt[1in].*succeeded' dummy.log -printf "above should be:\033[0;33m\n" -printf "/usr/lib/crt1.o succeeded\n" -printf "/usr/lib/crti.o succeeded\n" -printf "/usr/lib/crtn.o succeeded\n" -printf "\033[0m\n" -printf "######################\n" -read wait - - -grep -B1 '^ /usr/include' dummy.log -printf "above should be:\033[0;33m\n" -printf "#include <...> search starts here:\n" -printf "/usr/include\n" -printf "\033[0m\n" -printf "######################\n" -read wait - -grep 'SEARCH.*/usr/lib' dummy.log |sed 's|; |\n|g' -printf "above should be:\033[0;33m\n" -printf "SEARCH_DIR(\"=/tools/x86_64-mlfs-linux-musl/lib64\")\n" -printf "SEARCH_DIR(\"/usr/lib\")\n" -printf "SEARCH_DIR(\"/lib\")\n" -printf "SEARCH_DIR(\"=/tools/x86_64-mlfs-linux-musl/lib\")\n" -printf "\033[0m\n" -printf "######################\n" -read wait -rm dummy.c a.out dummy.log -EOF - chmod +x ${chroot}/build/build.sh - tchroot /build/build.sh -} - -umount_chroot -rm -r ${chroot} -create_chroot -mount_chroot -export WD=${chroot}/build -clean_build -build_headers -clean_build -build_musl -clean_build -adjust_tools -clean_build - -printf "${GREEN}Completed stage3\n" |