Skip to content

Instantly share code, notes, and snippets.

@scottwallacesh
Created October 5, 2016 14:49
Show Gist options
  • Save scottwallacesh/16d15cb03a0b09cd1fb7f86e4359131d to your computer and use it in GitHub Desktop.
Save scottwallacesh/16d15cb03a0b09cd1fb7f86e4359131d to your computer and use it in GitHub Desktop.
Steps for building Mono v3.10 on an old Netgear ReadyNAS Ultra 4
# Compiling Mono for the ReadyNAS Ultra-4 running Debian 4.0 (etch)
## Requires modern version of GCC and binutils
# Somewhere to build
mkdir -p /c/src
# Fetch and build GCC & deps
cd /c/src
curl -O ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-4.9.4/gcc-4.9.4.tar.bz2
tar xvfh gcc-4.9.4.tar.bz2
cd gcc-4.9.4
./contrib/download_prerequisites
## Build into directory outside of the source, as per GCC docs
mkdir ../gcc-build
cd ../gcc-build
../gcc-4.9.4/configure -v --enable-languages=c,c++ --prefix=/usr/local --enable-shared --with-system-zlib --without-included-gettext --enable-threads=posix --enable-nls --enable-__cxa_atexit --enable-clocale=gnu --enable-libstdcxx-debug --enable-mpfr --with-tune=i686 --enable-checking=release i486-linux-gnu
## This will take many hours
make -j2 && make install
# Fetch and build binutils
cd /c/src
curl -O http://ftp.gnu.org/gnu/binutils/binutils-2.27.tar.bz2
tar xvfh binutils-2.27.tar.bz2
cd binutils-2.27
./configure
make -j2 && make install
# Fetch and build Mono
cd /c/src
curl -O http://download.mono-project.com/sources/mono/mono-3.10.0.tar.bz2
tar xvfh mono-3.10.0.tar.bz2
cd mono-3.10.0
./configure CC="gcc -m32" CXX="g++ -m32" CFLAGS="-march=bonnell" CXXFLAGS="-march=bonnell" --build=i686-linux-gnu --with-gnu-ld --prefix=/usr/local
make -j2 && make install
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment