diff --git a/Einrichter-as-LFS.sh b/Einrichter-as-LFS.sh index 109ca70..ad03f4a 100644 --- a/Einrichter-as-LFS.sh +++ b/Einrichter-as-LFS.sh @@ -30,21 +30,27 @@ EOF source ~/.bash_profile } +function eal.notification.buildconf() {echo "I: -- The installer is now configuring the build options --" && sleep 0.2} +function eal.notification.compiling() {echo "I: -- The installer is now compiling the package $EIR_PKG --" && sleep 0.2} +function eal.notification.installing() {echo "I: -- The installer is now installing the package $EIR_PKG --" && sleep 0.2} +function eal.notification.extracting() {echo "I: -- The installer is now extracting the necessary archives for $EIR_PKG --" && sleep 0.2} + function eal.setup.toolchain() { echo -e "I: The detected system triplet is $(/usr/bin/gcc -dumpmachine)." export LFS_TGT=$(/usr/bin/gcc -dumpmachine) echo } -function eal.install.cross-binutils() { +function eal.install.cross-toolchain() { cd $LFS/sources/ - echo -e "I: -- The installer is now extracting binutils --" + EIR_PKG=binutils + eal.notification.extracting sleep 0.5 tar -xvf $LFS/sources/binutils-2.43.1.tar.xz cd $LFS/sources/binutils-2.43.1/ mkdir -v build cd build - echo -e "I: -- The installer is now configuring build options --" + eal.notification.buildconf sleep 0.5 ../configure --prefix=$LFS/tools \ --with-sysroot=$LFS \ @@ -54,10 +60,53 @@ function eal.install.cross-binutils() { --disable-werror \ --enable-new-dtags \ --enable-default-hash-style=gnu - echo -e "I: -- The installer is now compiling the package --" + eal.notification.compiling make - echo -e "I: -- The installer is now installing the package --" + eal.notification.installing make install - + eal.notification.extracting + pushd $LFS/sources/ + tar -xvf gcc-14.2.0.tar.xz + mv -v gcc-14.2.0 gcc + pushd $LFS/sources/gcc/ + tar -xf ../mpfr-4.2.1.tar.xz + mv -v mpfr-4.2.1 mpfr + tar -xf ../gmp-6.3.0.tar.xz + mv -v gmp-6.3.0 gmp + tar -xf ../mpc-1.3.1.tar.gz + mv -v mpc-1.3.1 mpc + case $(uname -m) in + x86_64) + sed -e '/m64=/s/lib64/lib/' \ + -i.orig gcc/config/i386/t-linux64 + ;; + esac + mkdir -v build + cd build + eal.notification.buildconf + ../configure \ + --target=$LFS_TGT \ + --prefix=$LFS/tools \ + --with-glibc-version=2.40 \ + --with-sysroot=$LFS \ + --with-newlib \ + --without-headers \ + --enable-default-pie \ + --enable-default-ssp \ + --disable-nls \ + --disable-shared \ + --disable-multilib \ + --disable-threads \ + --disable-libatomic \ + --disable-libgomp \ + --disable-libquadmath \ + --disable-libssp \ + --disable-libvtv \ + --disable-libstdcxx \ + --enable-languages=c,c++ + eal.notification.compiling + make + eal.notification.installing + make install } main \ No newline at end of file diff --git a/README.md b/README.md index 79f3d44..9d26e52 100644 --- a/README.md +++ b/README.md @@ -2,7 +2,7 @@ TylkoLinux, an LFS system ## Status -LFS v12.2-systemd book chapter: 4.2. +LFS v12.2-systemd book chapter: 5.4. ## To do ```md