First commit of docs [ci skip]

This commit is contained in:
Abraham Gonzalez
2021-04-03 12:57:10 -07:00
parent 985faa4c8e
commit 565ef2eb3c

View File

@@ -58,3 +58,80 @@ The TSI Host Widget is used to interact with the DUT from the prototype over a S
.. Note:: Remember that since whenever a new test harness is created (or the config changes, or the config packages changes, or...), you need to modify the make invocation.
For example, ``make SUB_PROJECT=vcu118 CONFIG=MyNewVCU118Config CONFIG_PACKAGE=this.is.my.scala.package bitstream``.
See :ref:`Prototyping/General:Generating a Bitstream` for information on the various make variables.
Running Linux with SDCard Setup
-------------------------------
Both the bringup and normal VCU118 platforms are setup to boot Linux loaded from the SPI SDCard.
Building Linux with FireMarshal
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
To build Linux that will run on the VCU118 prototype, we will use the FireMarshal platform.
To understand FireMarshal in more depth, refer to it's documentation.
1. Setup FireMarshal
2. Switch the FireMarshal "board" to target the prototype platform using ``marshal-config.yaml``
```
echo "board-dir : \'boards/prototype\' > PATH_TO_FIREMARSHAL/marshal-config.yaml
```
This should allow you to use the ``br-base.json`` workload built for the prototype platform (includes GPIO/SPI drivers).
3. Run ``./marshal -v -d build br-base.json`` to build the workload with initramfs.
4. Install the workload ``./marshal -v -d install -t prototype br-base.json``. This will flatten the binary.
.. note:: Feel free to modify and build off the `br-base.json` using normal FireMarshal functionality.
Setting up the SDCard
~~~~~~~~~~~~~~~~~~~~~
The following instructions are for Linux but you can follow a similar set of steps on Mac (using `gpt`).
Linux Instructions
==================
Use `gdisk` to put the binary on the SDCard.
The following steps use `/dev/sdc` as the path to the SD card (replace with your own path).
1. Wipe the GPT on the card.
`sudo gdisk /dev/sdc`
2. Use the `z` command to zap everything.
`sudo gdisk /dev/sdc`
3. Change the default partition alignment to `1` so you can write to sector `34`.
Do this with the `l` command.
4. Then create the new GPT with `o`. Click yes on all the prompts.
5. Create a 512MiB partition to store the Linux payload (note this can be smaller but it must be larger than the size of the Linux payload).
Use `n` and select sector 34, with size `+1048576`.
For the type search for the `apfs` type and use the hex number given.
6. Create a second partition to store any other files with the rest of the SDCard.
Use `n` and use the defaults for starting sector and overall size.
For the type search for the `hfs` and use the hex number given.
7. Write the changes using `w`.
8. Setup the filesystem on the 2nd partition using the following command:
`sudo mkfs.hfs -v "Prototype Data" /dev/sdc2`
Note that `sdc2` is used since it points to the 2nd partition.
Transfer Linux to the SDCard
============================
Finally transfer the `-flat` binary generated by FireMarshal to the sdcard:
`sudo dd if=<path-to-firemarshal>/br-base-bin-nodisk-flat of=/dev/sdc1`
Note that `sdc1` points to the 1st partition.
Additionally at this point you can mount the 2nd partition, add files, and mount that on the Linux on the prototype.