Skip to content

Commit 3caa127

Browse files
committed
Starting scripts to get and setup environment.
1 parent 78a5fee commit 3caa127

File tree

2 files changed

+108
-0
lines changed

2 files changed

+108
-0
lines changed

scripts/get-env.sh

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
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

scripts/setup-env.sh

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
#!/bin/bash
2+
3+
CALLED=$_
4+
[[ $CALLED != $0 ]] && SOURCED=1 || SOURCED=0
5+
6+
SETUP_SRC=$(realpath ${BASH_SOURCE[@]})
7+
SETUP_DIR=$(dirname $SETUP_SRC)
8+
TOP_DIR=$(realpath $SETUP_DIR/../..)
9+
10+
echo $TOP_DIR
11+
12+
if [ $SOURCED = 0 ]; then
13+
echo "You must source this script, rather then try and run it."
14+
echo ". $SETUP_SRC"
15+
exit 1
16+
fi
17+
18+
if [ ! -z $MISOC_ENV ]; then
19+
echo "Already have misoc environment."
20+
exit 1
21+
fi
22+
23+
export LD_LIBRARY_PATH=$TOP_DIR/makestuff/libs/libfpgalink/lin.x64/rel:$LD_LIBRARY_PATH
24+
export PYTHONPATH=$TOP_DIR/migen:$TOP_DIR/misoc:$TOP_DIR/makestuff/libs/libfpgalink/examples/python/:$PYTHONPATH
25+
export PATH=$TOP_DIR/gnu/output/bin:$PATH
26+
27+
alias python=python3

0 commit comments

Comments
 (0)