Currently, the installation instructions are for installing SST-core and SST-elements version 11.0.0. This change updates instructions to the current SST-core and SST-element version, 11.1.0. This change also reflects that manually downloading the `bbl-busybox-boot-exit` is no longer necessary as the example gem5 config will download automatically. Change-Id: I616ca38316213dcbd71b6eab121b5ac89eed1962 Signed-off-by: Hoa Nguyen <hoanguyen@ucdavis.edu> Reviewed-on: https://gem5-review.googlesource.com/c/public/gem5/+/53463 Reviewed-by: Jason Lowe-Power <power.jg@gmail.com> Maintainer: Jason Lowe-Power <power.jg@gmail.com> Tested-by: kokoro <noreply+kokoro@google.com>
92 lines
2.3 KiB
Markdown
92 lines
2.3 KiB
Markdown
# Installing SST
|
|
|
|
The links to download SST source code are available here
|
|
[http://sst-simulator.org/SSTPages/SSTMainDownloads/].
|
|
This guide is using the most recent SST version (11.0.0) as of September 2021.
|
|
The following guide assumes `$SST_CORE_HOME` as the location where SST will be
|
|
installed.
|
|
|
|
## SST-Core
|
|
|
|
### Downloading the SST-Core Source Code
|
|
|
|
```sh
|
|
wget https://github.com/sstsimulator/sst-core/releases/download/v11.1.0_Final/sstcore-11.1.0.tar.gz
|
|
tar xf sstcore-11.1.0.tar.gz
|
|
```
|
|
|
|
### Installing SST-Core
|
|
|
|
```sh
|
|
cd sstcore-11.1.0
|
|
./configure --prefix=$SST_CORE_HOME --with-python=/usr/bin/python3-config \
|
|
--disable-mpi # optional, used when MPI is not available.
|
|
make all -j$(nproc)
|
|
make install
|
|
```
|
|
|
|
Update `PATH`,
|
|
|
|
```sh
|
|
export PATH=$SST_CORE_HOME/bin:$PATH
|
|
```
|
|
|
|
## SST-Elements
|
|
|
|
### Downloading the SST-Elements Source Code
|
|
|
|
```sh
|
|
wget https://github.com/sstsimulator/sst-elements/releases/download/v11.1.0_Final/sstelements-11.1.0.tar.gz
|
|
tar xf sstelements-11.1.0.tar.gz
|
|
```
|
|
|
|
### Installing SST-Elements
|
|
|
|
```sh
|
|
cd sst-elements-library-11.1.0
|
|
./configure --prefix=$SST_CORE_HOME --with-python=/usr/bin/python3-config \
|
|
--with-sst-core=$SST_CORE_HOME
|
|
make all -j$(nproc)
|
|
make install
|
|
```
|
|
|
|
Adding `PKG_CONFIG_PATH` to `.bashrc` (so pkg-config can find SST .pc file),
|
|
|
|
```sh
|
|
echo "export PKG_CONFIG_PATH=$PKG_CONFIG_PATH:$SST_CORE_HOME/lib/pkgconfig/" >> ~/.bashrc
|
|
```
|
|
|
|
### Building gem5 library
|
|
|
|
At the root of gem5 folder,
|
|
|
|
```sh
|
|
scons build/RISCV/libgem5_opt.so -j $(nproc) --without-tcmalloc
|
|
```
|
|
|
|
### Compiling the SST integration
|
|
|
|
At the root of gem5 folder,
|
|
|
|
```sh
|
|
cd ext/sst
|
|
make
|
|
```
|
|
|
|
### Running an example simulation
|
|
|
|
Running the simulation
|
|
|
|
```sh
|
|
sst --add-lib-path=./ sst/example.py
|
|
```
|
|
|
|
The example SST system configuration will instantiate the gem5 system
|
|
as specified in the gem5 system configuration located at
|
|
`gem5/configs/example/sst/riscv_fs.py`. This configuration will download
|
|
the `bbl-busybox-boot-exit` resource, which contains an m5 binary, and
|
|
`m5 exit` will be called upon the booting process reaching the early userspace.
|
|
More information about building a bootloader containing a Linux Kernel and a
|
|
customized workload is available at
|
|
[https://gem5.googlesource.com/public/gem5-resources/+/refs/heads/develop/src/riscv-boot-exit-nodisk/].
|