From cb2f48b148b13f9372fff42b6ba1d09d067633e1 Mon Sep 17 00:00:00 2001 From: alonamid Date: Wed, 22 Jan 2020 13:40:59 -0800 Subject: [PATCH] System Requirements (#387) * more system requirements * [ci skip] system reqs PR comments * scripts: Make {ubuntu,centos}-req.sh executable [ci skip] * scripts: Add Ubuntu toolchain dependencies [ci skip] * inline marshal reqs * [skip ci] Update scripts/centos-req.sh Co-Authored-By: Albert Ou Co-authored-by: Albert Ou --- docs/Chipyard-Basics/Initial-Repo-Setup.rst | 13 +++++++++++++ scripts/centos-req.sh | 18 ++++++++++++++++++ scripts/ubuntu-req.sh | 19 +++++++++++++++++++ 3 files changed, 50 insertions(+) create mode 100755 scripts/centos-req.sh create mode 100755 scripts/ubuntu-req.sh diff --git a/docs/Chipyard-Basics/Initial-Repo-Setup.rst b/docs/Chipyard-Basics/Initial-Repo-Setup.rst index 1ab06c7a..931da013 100644 --- a/docs/Chipyard-Basics/Initial-Repo-Setup.rst +++ b/docs/Chipyard-Basics/Initial-Repo-Setup.rst @@ -10,6 +10,19 @@ Chipyard is developed and tested on Linux-based systems. .. Warning:: Working under Windows is not recommended. + +In CentOS-based platforms, we recommend installing the following dependencies: + +.. include:: /../scripts/centos-req.sh + :code: bash + +In Ubuntu/Debian-based platforms (Ubuntu), we recommend installing the following dependencies: + +.. include:: /../scripts/ubuntu-req.sh + :code: bash + +.. Note:: When running on an Amazon Web Services EC2 FPGA-development instance (for FireSim), FireSim includes a machine setup script that will install all of the aforementioned dependencies (and some additional ones). + Checking out the sources ------------------------ diff --git a/scripts/centos-req.sh b/scripts/centos-req.sh new file mode 100755 index 00000000..8fac61af --- /dev/null +++ b/scripts/centos-req.sh @@ -0,0 +1,18 @@ +#!/bin/bash + +sudo yum groupinstall -y "Development tools" +sudo yum install -y gmp-devel mpfr-devel libmpc-devel zlib-devel vim git java java-devel +curl https://bintray.com/sbt/rpm/rpm | sudo tee /etc/yum.repos.d/bintray-sbt-rpm.repo +sudo yum install -y sbt texinfo gengetopt +sudo yum install -y expat-devel libusb1-devel ncurses-devel cmake "perl(ExtUtils::MakeMaker)" +# deps for poky +sudo yum install -y python36 patch diffstat texi2html texinfo subversion chrpath git wget +# deps for qemu +sudo yum install -y gtk3-devel +# deps for firemarshal +sudo yum install -y python36-pip python36-devel rsync libguestfs-tools makeinfo expat ctags +# Install GNU make 4.x (needed to cross-compile glibc 2.28+) +sudo yum install -y centos-release-scl +sudo yum install -y devtoolset-8-make +# install DTC +sudo yum install -y dtc diff --git a/scripts/ubuntu-req.sh b/scripts/ubuntu-req.sh new file mode 100755 index 00000000..1858c3a4 --- /dev/null +++ b/scripts/ubuntu-req.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +sudo apt-get install -y build-essential bison flex +sudo apt-get install -y libgmp-dev libmpfr-dev libmpc-dev zlib1g-dev vim git default-jdk default-jre +# install sbt: https://www.scala-sbt.org/release/docs/Installing-sbt-on-Linux.html +echo "deb https://dl.bintray.com/sbt/debian /" | sudo tee -a /etc/apt/sources.list.d/sbt.list +curl -sL "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x2EE0EA64E40A89B84B2DF73499E82A75642AC823" | sudo apt-key add +sudo apt-get update +sudo apt-get install -y sbt +sudo apt-get install -y texinfo gengetopt +sudo apt-get install -y libxpat1-dev libusb-dev libncurses5-dev cmake +# deps for poky +sudo apt-get install -y python3.6 patch diffstat texi2html texinfo subversion chrpath git wget +# deps for qemu +sudo apt-get install -y libgtk-3-dev +# deps for firemarshal +sudo apt-get install -y python3-pip python3.6-dev rsync libguestfs-tools expat ctags +# install DTC +sudo apt-get install -y device-tree-compiler