Skip to content

Instantly share code, notes, and snippets.

@ald2004
Forked from m-ou-se/instructions.txt
Created July 1, 2022 05:42
Show Gist options
  • Select an option

  • Save ald2004/d8b624e72f46e787f3feacc8b1716a68 to your computer and use it in GitHub Desktop.

Select an option

Save ald2004/d8b624e72f46e787f3feacc8b1716a68 to your computer and use it in GitHub Desktop.

Revisions

  1. @m-ou-se m-ou-se created this gist Sep 11, 2017.
    38 changes: 38 additions & 0 deletions instructions.txt
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,38 @@
    wget http://ftp.snt.utwente.nl/pub/software/gnu/binutils/binutils-2.29.tar.xz
    wget ftp://ftp.nluug.nl/mirror/languages/gcc/releases/gcc-7.2.0/gcc-7.2.0.tar.xz
    wget http://ftp.gnu.org/gnu/glibc/glibc-2.26.tar.xz
    tar xvf binutils-2.29.tar.xz
    tar xvf gcc-7.2.0.tar.xz
    cd binutils-2.29
    ./configure --target=armv7l-unknown-linux-gnueabihf --disable-multilib
    make -j9
    sudo make install
    cd ..
    scp drone:headers.tar.gz .
    cd /usr/local/armv7l-unknown-linux-gnueabihf
    sudo tar xzvf $OLDPWD/headers.tar.gz
    cd -
    cd gcc-7.2.0
    ./contrib/download_prerequisites
    mkd ../gcc-build
    ../gcc-7.2.0/configure --enable-languages=c,c++,lto --enable-shared --enable-threads=posix --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --disable-multilib --disable-werror --enable-checking=release --target=armv7l-unknown-linux-gnueabihf --with-arch=armv7-a --with-float=hard --with-fpu=vfpv3-d16
    make -j9 all-gcc
    sudo make install-gcc
    cd ..
    tar xvf glibc-2.26.tar.xz
    mkd glibc-build
    ../glibc-2.26/configure --prefix=/usr/local/armv7l-unknown-linux-gnueabihf --build=$MACHTYPE --host=armv7l-unknown-linux-gnueabihf --target=armv7l-unknown-linux-gnueabihf --with-headers=/usr/local/armv7l-unknown-linux-gnueabihf/include --disable-multilib libc_cv_forced_unwind=yes
    make -j9 # This fails, but it does succeed buildling the parts we need now.
    sudo make install-bootstrap-headers=yes install-headers
    sudo install csu/crt1.o csu/crti.o csu/crtn.o /usr/local/armv7l-unknown-linux-gnueabihf/lib/
    sudo touch /usr/local/armv7l-unknown-linux-gnueabihf/include/gnu/stubs.h
    sudo /usr/local/bin/armv7l-unknown-linux-gnueabihf-gcc -nostdlib -nostartfiles -shared -x c /dev/null -o /usr/local/armv7l-unknown-linux-gnueabihf/lib/libc.so
    cd ../gcc-build
    make -j9 all-target-libgcc
    sudo make install-target-libgcc
    cd ../glibc-build
    make -j9
    sudo make install
    cd ../gcc-build
    make -j9
    sudo make install