Update symlinks | Update docs | machine-launch.sh now executable

This commit is contained in:
abejgonzalez 2023-03-21 23:07:20 -07:00
parent 3923dedfd0
commit aa26abc8dd
14 changed files with 77 additions and 32 deletions

View File

@ -1 +1 @@
../../../sw/firesim-software/images/fedora-base/fedora-base-bin
../../../sw/firesim-software/images/firechip/fedora-base/fedora-base-bin

View File

@ -1 +1 @@
../../../sw/firesim-software/images/fedora-base/fedora-base.img
../../../sw/firesim-software/images/firechip/fedora-base/fedora-base.img

View File

@ -1 +1 @@
../../../sw/firesim-software/images/br-base/br-base-bin
../../../sw/firesim-software/images/firechip/br-base/br-base-bin

View File

@ -1 +1 @@
../../../sw/firesim-software/images/br-base/br-base-bin
../../../sw/firesim-software/images/firechip/br-base/br-base-bin

View File

@ -1 +1 @@
../../../sw/firesim-software/images/br-base/br-base-bin-dwarf
../../../sw/firesim-software/images/firechip/br-base/br-base-bin-dwarf

View File

@ -1 +1 @@
../../../sw/firesim-software/images/br-base/br-base.img
../../../sw/firesim-software/images/firechip/br-base/br-base.img

View File

@ -46,8 +46,8 @@ Here is the modified workload json (renamed to ``br-base-dromajo`` from ``br-bas
"uartlog",
"dromajo_snap.re_regs"
],
"common_bootbinary": "../../../../../software/firemarshal/images/br-base-bin",
"common_rootfs": "../../../../../software/firemarshal/images/br-base.img",
"common_bootbinary": "../../../../../software/firemarshal/images/firechip/br-base/br-base-bin",
"common_rootfs": "../../../../../software/firemarshal/images/firechip/br-base/br-base.img",
"common_simulation_inputs": [
"br-base-bin.rom",
"br-base-bin.dtb"
@ -109,4 +109,3 @@ It is important to have the ``+drj_*`` arguments, otherwise Dromajo will not mat
.. note:: Sometimes simulations in VCS will diverge unless a ``+define+RANDOM=0`` is added to the VCS flags in ``sim/midas/src/main/cc/rtlsim/Makefrag-vcs``.
.. warning:: Dromajo currently only works in VCS and FireSim simulations.

View File

@ -59,9 +59,9 @@ There is also a corresponding directory named after this workload/file:
total 4
drwxrwxr-x 2 centos centos 69 Feb 8 00:07 .
drwxrwxr-x 19 centos centos 4096 Feb 8 00:39 ..
lrwxrwxrwx 1 centos centos 47 Feb 7 00:38 br-base-bin -> ../../../sw/firesim-software/images/br-base-bin
lrwxrwxrwx 1 centos centos 53 Feb 8 00:07 br-base-bin-dwarf -> ../../../sw/firesim-software/images/br-base-bin-dwarf
lrwxrwxrwx 1 centos centos 47 Feb 7 00:38 br-base.img -> ../../../sw/firesim-software/images/br-base.img
lrwxrwxrwx 1 centos centos 47 Feb 7 00:38 br-base-bin -> ../../../sw/firesim-software/images/firechip/br-base/br-base-bin
lrwxrwxrwx 1 centos centos 53 Feb 8 00:07 br-base-bin-dwarf -> ../../../sw/firesim-software/images/firechip/br-base/br-base-bin-dwarf
lrwxrwxrwx 1 centos centos 47 Feb 7 00:38 br-base.img -> ../../../sw/firesim-software/images/firechip/br-base/br-base.img
@ -203,5 +203,3 @@ the JSON file. We'll end up with a directory in
``firesim/deploy/results-workload/`` named after the workload name, with
a subdirectory named after each job in the workload, which will contain the
output files we want.

View File

@ -62,8 +62,8 @@ There is also a corresponding directory named after this workload/file:
total 4
drwxrwxr-x 2 centos centos 42 May 17 21:58 .
drwxrwxr-x 13 centos centos 4096 May 18 17:14 ..
lrwxrwxrwx 1 centos centos 41 May 17 21:58 br-base-bin -> ../../../sw/firesim-software/images/br-base-bin
lrwxrwxrwx 1 centos centos 41 May 17 21:58 br-base.img -> ../../../sw/firesim-software/images/br-base.img
lrwxrwxrwx 1 centos centos 41 May 17 21:58 br-base-bin -> ../../../sw/firesim-software/images/firechip/br-base/br-base-bin
lrwxrwxrwx 1 centos centos 41 May 17 21:58 br-base.img -> ../../../sw/firesim-software/images/firechip/br-base/br-base.img
We will elaborate on this later.
@ -193,7 +193,7 @@ see in the ``ping-latency`` directory.
::
[ from the workloads/ directory ]
./gen-benchmark-rootfs.py -w ping-latency.json -r -b ../../sw/firesim-software/images/br-base.img -s ping-latency/overlay
./gen-benchmark-rootfs.py -w ping-latency.json -r -b ../../sw/firesim-software/images/firechip/br-base/br-base.img -s ping-latency/overlay
Notice that we tell this script where the json file lives, where the base rootfs image is, and where we expect to find files
that we want to include in the generated disk images. This script will take care of the rest and we'll end up with
@ -211,5 +211,3 @@ Just like in the uniform case, it will copy back the results that we specify
in the json file. We'll end up with a directory in ``firesim/deploy/results-workload/``
named after the workload name, with a subdirectory named after each job in the workload,
which will contain the output files we want.

View File

@ -60,6 +60,10 @@ Finally, if you are running this tutorial without ``sudo`` access you should als
This is needed by a variety of FireSim programs that mount disk images to copy in/out results of simulations.
Most likely you will need to follow the instructions here to ensure ``guestmount`` doesn't error: https://askubuntu.com/questions/1046828/how-to-run-libguestfs-tools-tools-such-as-virt-make-fs-without-sudo.
.. warning:: If using ``guestmount``, verify that the command is able to work properly.
Due to prior issues with ``guestmount`` internally, ensure that your FireSim repository (and all temporary directories)
reside not on an NFS drive.
Setting up the FireSim Repo
---------------------------
@ -74,17 +78,56 @@ We're finally ready to fetch FireSim's sources. Run:
git checkout |version|
Next, we will bootstrap the machine by installing Miniforge Conda, our software package manager, and setup a default software environment using Conda.
Run:
First run the following to see the options to the bootstrap script:
.. parsed-literal::
source ./scripts/machine-launch-script.sh
./scripts/machine-launch-script.sh --help
This will install Miniforge Conda (https://github.com/conda-forge/miniforge) and create a default environment called ``firesim`` that is used.
Make sure you understand the options and appropriately run the command.
For example, if you already installed Conda you can use the ``--prefix`` flag to point to an existing installation.
You can also use that same flag to setup Conda in a non-``sudo`` required location.
Next run the ``machine-launch-script.sh``, with the options your setup requires.
Below we will give a few examples on how to run the command (choose the command or modify it accordingly):
.. Warning:: We recommend you re-install Conda in favor of Miniforge Conda (a minimal installation of Conda).
.. tabs::
.. tab:: With ``sudo`` access (newly install Conda)
.. parsed-literal::
sudo ./scripts/machine-launch-script.sh
.. tab:: Without ``sudo`` access (install Conda to user-specified location)
.. parsed-literal::
./scripts/machine-launch-script.sh --prefix REPLACE_USER_SPECIFIED_LOCATION
.. tab:: Without ``sudo`` access (use existing Conda)
.. parsed-literal::
./scripts/machine-launch-script.sh --prefix REPLACE_PATH_TO_CONDA
If the option is selected, the script will install Miniforge Conda (https://github.com/conda-forge/miniforge) and create a default environment called ``firesim`` that is used.
**Ensure that you log out of the machine / exit out of the terminal after this step so that** ``.bashrc`` **modifications can apply**.
.. Warning:: If you already have Conda installed, you can look at the help text of ``machine-launch-script.sh`` to see extra options given
to avoid re-installation. We recommend you re-install Conda in favor of Miniforge Conda (a minimal installation of Conda).
After re-logging back into the machine, you should be in the ``firesim`` Conda environment (or whatever you decided to name the
environment in the ``machine-launch-script.sh``).
Verify this by running:
.. parsed-literal::
conda env list
If you are not in the ``firesim`` environment and the environment exists, you can run the following to "activate" or enter the environment:
.. parsed-literal::
conda activate firesim # or whatever the environment is called
Next run:

View File

@ -24,9 +24,9 @@ distribution. You can do this like so:
Once this is completed, you'll have the following files:
- ``firesim/sw/firesim-software/images/br-base/br-base-bin`` - a bootloader + Linux
- ``firesim/sw/firesim-software/images/firechip/br-base/br-base-bin`` - a bootloader + Linux
kernel image for the nodes we will simulate.
- ``firesim/sw/firesim-software/images/br-base/br-base.img`` - a disk image for
- ``firesim/sw/firesim-software/images/firechip/br-base/br-base.img`` - a disk image for
each the nodes we will simulate
These files will be used to form base images to either build more complicated
@ -250,8 +250,15 @@ live status page:
This will only exit once all of the simulated nodes have completed simulations. So, let's let it
run and open another terminal to the manager machine. From there, ``cd`` into
your FireSim directory again and ``source sourceme-f1-manager.sh --skip-ssh-setup``.
Since we are running the simulation on the same machine (i.e. ``localhost``) we can directly
attach to the console of the simulated system using ``screen``, run:
Next, let's ``ssh`` into the simulation machine.
In this case, since we are running the simulation on the same machine (i.e. ``localhost``)
we can run the following:
::
ssh localhost
Next, we can directly attach to the console of the simulated system using ``screen``, run:
::

View File

@ -42,9 +42,9 @@ this like so:
This process will take about 10 to 15 minutes on a ``c5.4xlarge`` instance.
Once this is completed, you'll have the following files:
- ``firesim/sw/firesim-software/images/br-disk-bin`` - a bootloader + Linux
- ``firesim/sw/firesim-software/images/firechip/br-base/br-disk-bin`` - a bootloader + Linux
kernel image for the nodes we will simulate.
- ``firesim/sw/firesim-software/images/br-disk.img`` - a disk image for
- ``firesim/sw/firesim-software/images/firechip/br-base/br-disk.img`` - a disk image for
each the nodes we will simulate
These files will be used to form base images to either build more complicated

View File

@ -28,9 +28,9 @@ distribution. You can do this like so:
This process will take about 10 to 15 minutes on a ``c5.4xlarge`` instance.
Once this is completed, you'll have the following files:
- ``firesim/sw/firesim-software/images/br-base/br-base-bin`` - a bootloader + Linux
- ``firesim/sw/firesim-software/images/firechip/br-base/br-base-bin`` - a bootloader + Linux
kernel image for the nodes we will simulate.
- ``firesim/sw/firesim-software/images/br-base/br-base.img`` - a disk image for
- ``firesim/sw/firesim-software/images/firechip/br-base/br-base.img`` - a disk image for
each the nodes we will simulate
These files will be used to form base images to either build more complicated

0
scripts/machine-launch-script.sh Normal file → Executable file
View File