Update symlinks | Update docs | machine-launch.sh now executable
This commit is contained in:
parent
3923dedfd0
commit
aa26abc8dd
|
@ -1 +1 @@
|
|||
../../../sw/firesim-software/images/fedora-base/fedora-base-bin
|
||||
../../../sw/firesim-software/images/firechip/fedora-base/fedora-base-bin
|
|
@ -1 +1 @@
|
|||
../../../sw/firesim-software/images/fedora-base/fedora-base.img
|
||||
../../../sw/firesim-software/images/firechip/fedora-base/fedora-base.img
|
|
@ -1 +1 @@
|
|||
../../../sw/firesim-software/images/br-base/br-base-bin
|
||||
../../../sw/firesim-software/images/firechip/br-base/br-base-bin
|
|
@ -1 +1 @@
|
|||
../../../sw/firesim-software/images/br-base/br-base-bin
|
||||
../../../sw/firesim-software/images/firechip/br-base/br-base-bin
|
|
@ -1 +1 @@
|
|||
../../../sw/firesim-software/images/br-base/br-base-bin-dwarf
|
||||
../../../sw/firesim-software/images/firechip/br-base/br-base-bin-dwarf
|
|
@ -1 +1 @@
|
|||
../../../sw/firesim-software/images/br-base/br-base.img
|
||||
../../../sw/firesim-software/images/firechip/br-base/br-base.img
|
|
@ -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.
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
|
@ -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.
|
||||
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
||||
|
|
|
@ -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:
|
||||
|
||||
::
|
||||
|
||||
|
|
|
@ -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
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in New Issue