|
| 1 | +#! /bin/bash |
| 2 | + |
| 3 | +SETUP_SRC=$(realpath ${BASH_SOURCE[@]}) |
| 4 | +SETUP_DIR=$(dirname $SETUP_SRC) |
| 5 | + |
| 6 | +BINUTILS_URL=http://ftp.gnu.org/gnu/binutils/binutils-2.25.tar.gz |
| 7 | +GCC_URL=http://mirrors-usa.go-parts.com/gcc/releases/gcc-4.9.3/gcc-4.9.3.tar.bz2 |
| 8 | +TARGET=lm32-elf |
| 9 | + |
| 10 | +OUTPUT_DIR=$SETUP_DIR/gnu/output |
| 11 | +mkdir -p $OUTPUT_DIR |
| 12 | + |
| 13 | +export PATH=$OUTPUT_DIR/bin:$PATH |
| 14 | + |
| 15 | +set -x |
| 16 | +set -e |
| 17 | + |
| 18 | +# Get and build gcc+binutils for the target |
| 19 | +( |
| 20 | + sudo apt-get install -y build-essential |
| 21 | + |
| 22 | + cd gnu |
| 23 | + # Download binutils + gcc |
| 24 | + ( |
| 25 | + mkdir -p download |
| 26 | + cd download |
| 27 | + wget -c $BINUTILS_URL |
| 28 | + wget -c $GCC_URL |
| 29 | + ) |
| 30 | + |
| 31 | + # Build binutils for target |
| 32 | + sudo apt-get install -y texinfo |
| 33 | + ( |
| 34 | + tar -zxvf ./download/binutils-*.tar.gz |
| 35 | + cd binutils-* |
| 36 | + mkdir -p build && cd build |
| 37 | + ../configure --prefix=$OUTPUT_DIR --target=$TARGET |
| 38 | + make |
| 39 | + make install |
| 40 | + ) |
| 41 | + |
| 42 | + # Build gcc for target |
| 43 | + sudo apt-get install -y libgmp-dev libmpfr-dev libmpc-dev |
| 44 | + ( |
| 45 | + tar -jxvf ./download/gcc-*.tar.bz2 |
| 46 | + cd gcc-* |
| 47 | + rm -rf libstdc++-v3 |
| 48 | + mkdir -p build && cd build |
| 49 | + ../configure --prefix=$OUTPUT_DIR --target=$TARGET --enable-languages="c,c++" --disable-libgcc --disable-libssp |
| 50 | + make |
| 51 | + make install |
| 52 | + ) |
| 53 | +) |
| 54 | + |
| 55 | +# Get migen |
| 56 | +( |
| 57 | + git clone https://github.com/m-labs/migen.git |
| 58 | + cd migen |
| 59 | + cd vpi |
| 60 | + make all |
| 61 | + sudo make install |
| 62 | +) |
| 63 | + |
| 64 | +# Get misoc |
| 65 | +git clone https://github.com/m-labs/misoc.git |
| 66 | + |
| 67 | +# Get libfpgalink |
| 68 | +( |
| 69 | + sudo apt-get install build-essential libreadline-dev libusb-1.0-0-dev python-yaml |
| 70 | + wget -qO- http://tiny.cc/msbil | tar zxf - |
| 71 | + |
| 72 | + cd makestuff/libs |
| 73 | + ../scripts/msget.sh makestuff/libfpgalink |
| 74 | + cd libfpgalink |
| 75 | + make deps |
| 76 | +) |
| 77 | + |
| 78 | +# Get the HDMI2USB-misoc-firmware |
| 79 | +git clone https://github.com/timvideos/HDMI2USB-misoc-firmware.git |
| 80 | + |
| 81 | +sudo apt-get install -y iverilog gtkwave |
0 commit comments