All Projects → firesim → FireMarshal

firesim / FireMarshal

Licence: other
Software workload management tool for RISC-V based SoC research. This is the default workload management tool for Chipyard and FireSim.

Programming Languages

python
139335 projects - #7 most used programming language
c
50402 projects - #5 most used programming language
shell
77523 projects
assembly
5116 projects

Projects that are alternatives of or similar to FireMarshal

packer-kvm
Create VM templates with Packer for usage with Libvirt/KVM virtualization : CentOS 7, CentOS 8, CentOS 8 Stream, Alma Linux, Rocky Linux, Bionic (Ubuntu 1804), Focal (Ubuntu 2004), Debian 11 (stable), Kali Linux, Fedora 33 and Fedora 34.
Stars: ✭ 99 (+167.57%)
Mutual labels:  fedora, qemu
Linux Kernel Module Cheat
The perfect emulation setup to study and develop the Linux kernel v5.4.3, kernel modules, QEMU, gem5 and x86_64, ARMv7 and ARMv8 userland and baremetal assembly, ANSI C, C++ and POSIX. GDB step debug and KGDB just work. Powered by Buildroot and crosstool-NG. Highly automated. Thoroughly documented. Automated tests. "Tested" in an Ubuntu 19.10 ho…
Stars: ✭ 2,748 (+7327.03%)
Mutual labels:  qemu, buildroot
Linux Lab
Docker/Qemu Based Linux Kernel Learning, Development and Testing Environment; New Linux ELF Video Course from this project author: https://www.cctalk.com/m/group/88089283
Stars: ✭ 771 (+1983.78%)
Mutual labels:  qemu, buildroot
TigerOS
[MOVED TO GITLAB] Please visit new location: https://gitlab.com/RITlug/TigerOS
Stars: ✭ 34 (-8.11%)
Mutual labels:  fedora, distro
piu
Cross platform package manager wrapper
Stars: ✭ 33 (-10.81%)
Mutual labels:  fedora
ProxmoxVE PHP API
ProxmoxVE PHP API
Stars: ✭ 78 (+110.81%)
Mutual labels:  qemu
Initium
A modern bootloader with no legacy components
Stars: ✭ 15 (-59.46%)
Mutual labels:  qemu
oscimpDigital
OscillatorIMP ecosystem for the digital characterization of ultrastable oscillators and Software Defined Radio (SDR) frontend processing
Stars: ✭ 41 (+10.81%)
Mutual labels:  buildroot
qemu-android-x86-runner
Quick Start on How to Run Android x86 in QEMU
Stars: ✭ 102 (+175.68%)
Mutual labels:  qemu
mdepx
MDEPX — A BSD-style RTOS
Stars: ✭ 17 (-54.05%)
Mutual labels:  qemu
FEMU
FEMU: Accurate, Scalable and Extensible NVMe SSD Emulator (FAST'18)
Stars: ✭ 213 (+475.68%)
Mutual labels:  qemu
firmware
Alternative IP Camera firmware from an open community
Stars: ✭ 236 (+537.84%)
Mutual labels:  buildroot
gnuxc
GNU OS Cross-Compiler
Stars: ✭ 13 (-64.86%)
Mutual labels:  distro
Autodesk-Fusion-360-for-Linux
This is a project, where I give you a way to use Autodesk Fusion 360 on Linux!
Stars: ✭ 810 (+2089.19%)
Mutual labels:  fedora
dotfiles
The best and strongest dotfiles. Editor: Neovim; Shell: zsh(zinit, powerlevel10k); Terminal: tmux, wezterm; Desktop: i3-gaps/sway, rofi, dunst; OS: ArchLinux, (Ubuntu/Fedora/CentOS)
Stars: ✭ 245 (+562.16%)
Mutual labels:  fedora
go-spice
SPICE proxy library, written in go
Stars: ✭ 23 (-37.84%)
Mutual labels:  qemu
Linux-Active-Directory-join-script
Active directory Join script for Ubuntu, Debian, CentOS, Linux Mint, Fedora, Kali, Elementary OS and Raspbian with built in failchcheck and debugmode for Ubuntu. "The most advanced and updated AD join script on GITHUB for Linux"
Stars: ✭ 97 (+162.16%)
Mutual labels:  fedora
shredos.x86 64
Shredos Disk Eraser 64 bit for all Intel 64 bit processors as well as processors from AMD and other vendors which make compatible 64 bit chips. ShredOS - Secure disk erasure/wipe
Stars: ✭ 383 (+935.14%)
Mutual labels:  buildroot
LinuxMirrors
Linux 一键更换国内软件源
Stars: ✭ 623 (+1583.78%)
Mutual labels:  fedora
Yosemite-gtk-theme
Mac OSX Yosemite like theme for GTK 3, GTK 2 and Gnome-Shell etc.
Stars: ✭ 74 (+100%)
Mutual labels:  fedora

FireMarshal

This tool builds base images for several linux-based distros that work with qemu, spike, and firesim.

This is just a quick primer. To see full documentation, please see the official documentation: https://firemarshal.readthedocs.io/en/latest/index.html

Requirements

The easiest way to use Marshal is to run it via Chipyard (https://chipyard.readthedocs.io/en/latest/) or FireSim (https://docs.fires.im/en/latest/). However, this is not required. To run FireMarshal independently, you will need the following dependencies:

Standard Packages

centos-requirements.txt is a list of packages for centos7 that are needed by marshal. You can install these with:

cat centos-requirements.txt | sudo xargs yum install -y

ubuntu-requirements.txt is a list of packages for Ubuntu 18.04 that are needed by marshal. You can install these with:

cat ubuntu-requirements.txt | sudo xargs apt-get install -y

Package names may be different on other distributions.

Note for Ubuntu

The libguestfs-tools package (needed for the guestmount command) does not work out of the box on Ubuntu. See #30 for a workaround.

Python

This project was written for python 3.6. You can install all dependencies using:

pip3 install -r python-requirements.txt

RISC-V Tools

In addition to standard libraries, you will need a RISC-V compatible toolchain, the RISC-V isa simulator (spike).

See the Chipyard documentation for help setting up a known-good toolchain and environment.

Qemu

Qemu is the default simulator used by firemarshal. We require version v5.0.0 or greater. If you aren't using chipyard, you can get it from:

https://github.com/qemu/qemu/tree/v5.0.0

Basic Usage

If you only want to build bare-metal workloads, you can skip updating submodules. Otherwise, you should update the required submodules by running:

./init-submodules.sh

Building workloads:

./marshal build br-base.json

To run in qemu:

./marshal launch br-base.json

To install into FireSim (assuming you cloned this as a submodule of firesim or chipyard):

./marshal install br-base.json

Security Note

Be advised that FireMarshal will run initialization scripts provided by workloads. These scripts will have all the permissions your user has, be sure to read all workloads carefully before building them.

Releases

The master branch of this project contains the latest unstable version of FireMarshal. It should generally work correctly, but it may contain bugs or other inconsistencies from time to time. For stable releases, see the release git tags or github releases page.

Getting Help / Discussion:

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].