busybear-linux - busybear-linux is a tiny RISC-V Linux root filesystem image that targets the VirtIO board in riscv-qemu

  •        101

busybear-linux is a tiny RISC-V Linux root filesystem image that targets the virt board in riscv-qemu. As the name suggests, busybear-linux is a riscv-linux root image comprised of busybox and dropbear. The root image is intended to demonstrate virtio-net and virtio-block in riscv-qemu and features a dropbear ssh server which allows out-of-the-box ssh access to a RISC-V virtual machine.




Related Projects

linux-kernel-module-cheat - Run one command, get a QEMU or gem5 Buildroot BusyBox virtual machine built from source with several minimal Linux kernel 4

  •    C

Run one command, get a QEMU or gem5 Buildroot BusyBox virtual machine built from source with several minimal Linux kernel 4.16 module development example tutorials with GDB and KGDB step debugging and minimal educational hardware models. "Tested" in x86, ARM and MIPS guests, Ubuntu 18.04 host. This is the most native setup, and therefore the best one if you are on one of the supported Ubuntu: 16.04 or 18.04.

riscv-qemu - QEMU with RISC-V (RV64G, RV32G) Emulation Support

  •    C

QEMU with RISC-V (RV64G, RV32G) Emulation Support

riscv-boom - Berkeley Out-of-Order Machine

  •    Scala

This is the source repository for the RV64G RISC-V superscalar Berkeley Out-of-Order Machine (BOOM), written in the Chisel hardware construction language. BOOM is a synthesizable core that targets ASIC processes. It can run on an FPGA (50 MHz on a zc706), but optimizing it to be an FPGA soft-core is a non-goal. For documentation on BOOM visit (https://ccelio.github.io/riscv-boom-doc).

QEMU - Machine Emulator and Virtualizer

  •    C

QEMU is a generic and open source machine emulator and virtualizer. When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). By using dynamic translation, it achieves very good performance.

rocket-chip - Rocket Chip Generator

  •    Scala

This repository contains the Rocket chip generator necessary to instantiate the RISC-V Rocket Core. For more information on Rocket Chip, please consult our technical report. To build the rocket-chip repository, you must point the RISCV environment variable to your riscv-tools installation directory.

riscv-linux - RISC-V Linux Port

  •    C

RISC-V Linux Port

runq - run regular Docker images in KVM/Qemu

  •    Go

runq is a hypervisor-based Docker runtime based on runc to run regular Docker images in a lightweight KVM/Qemu virtual machine. The focus is on solving real problems, not on number of features. runq requires a host kernel >= 4.8 with KVM and VHOST_VSOCK support enabled. The easiest way to build runq and to put all dependencies together is using Docker. For fast development cycles a regular build environment might be more efficient. For this refer to section Developing runq below.

riscv-isa-manual - RISC-V Instruction Set Manual

  •    TeX

This repository contains the LaTeX source for the draft RISC-V Instruction Set Manual. At the time of this writing, none of these specifications have been formally adopted by the RISC-V Foundation. This work is licensed under a Creative Commons Attribution 4.0 International License. See the LICENSE file for details.

riscv-isa-sim - Spike, a RISC-V ISA Simulator

  •    C

Spike, the RISC-V ISA Simulator, implements a functional model of one or more RISC-V processors. Spike is named after the golden spike used to celebrate the completion of the US transcontinental railway.

Packer - Build Automated Machine Images

  •    Go

Packer is a tool for building identical machine images for multiple platforms from a single source configuration. It is lightweight, runs on every major operating system, and is highly performant, creating machine images for multiple platforms in parallel.

ariane - Ariane is a 6-stage RISC-V CPU

  •    SystemVerilog

Ariane is a 6-stage, single issue, in-order CPU which implements the 64-bit RISC-V instruction set. It fully implements I, M and C extensions as specified in Volume I: User-Level ISA V 2.1 as well as the draft privilege extension 1.10. It implements three privilege levels M, S, U to fully support a Unix-like operating system. Furthermore it is compliant to the draft external debug spec 0.13. It has configurable size, separate TLBs, a hardware PTW and branch-prediction (branch target buffer and branch history table). The primary design goal was on reducing critical path length.

linux-0.11-lab - Docker/Qemu/Bochs Based Linux 0.11 Kernel Development Environment

  •    C

The old Linux kernel source version 0.11 and the integrated experiment environment. CS630 Qemu Lab is a related project, it is a friendly learning environment for the X86 assembly course: CS630.

pyrebox - Python scriptable Reverse Engineering Sandbox, a Virtual Machine instrumentation and inspection framework based on QEMU

  •    C

PyREBox is a Python scriptable Reverse Engineering sandbox. It is based on QEMU, and its goal is to aid reverse engineering by providing dynamic analysis and debugging capabilities from a different perspective. PyREBox allows to inspect a running QEMU VM, modify its memory or registers, and to instrument its execution, by creating simple scripts in python to automate any kind of analysis. QEMU (when working as a whole-system-emulator) emulates a complete system (CPU, memory, devices...). By using VMI techniques, it does not require to perform any modification into the guest operating system, as it transparently retrieves information from its memory at run-time. Several academic projects such as DECAF, PANDA, S2E, or AVATAR, have previously leveraged QEMU based instrumentation to overcome reverse engineering tasks. These projects allow to write plugins in C/C++, and implement several advanced features such as dynamic taint analysis, symbolic execution, or even record and replay of execution traces. With PyREBox, we aim to apply this technology focusing on keeping the design simple, and on the usability of the system for threat analysts.

Open QEMU Manager

  •    PHP

Open QEMU Manager is a web manager running on Linux. With Open QEMU Manager you can configure, admin and run one or more qemu instance on the target host. Different user and admin menues permit easily to sell Virtual Private Servers (VPS) based on QEMU.

go-qemu - Go packages to interact with QEMU using the QEMU Machine Protocol (QMP)

  •    Go

go-qemu is a collection of Go packages for interacting with running QEMU instances. Apache 2.0 Licensed. Feel free to join us in #go-qemu on freenode if you'd like to discuss the project.

kernel virtual machine

  •    C

KVM (for Kernel-based Virtual Machine) is a full virtualization solution for Linux on x86 hardware containing virtualization extensions (Intel VT or AMD-V). It consists of a loadable kernel module, kvm.ko, that provides the core virtualization infrastructure and a processor specific module, kvm-intel.ko or kvm-amd.ko. Using KVM, one can run multiple virtual machines running unmodified Linux or Windows images. Each virtual machine has private virtualized hardware: a network card, disk, graphics adapter, etc.

Sheepdog - Distributed Storage System for QEMU

  •    C

Sheepdog is a distributed object storage system for volume and container services and manages the disks and nodes intelligently. Sheepdog features ease of use, simplicity of code and can scale out to thousands of nodes. The block level volume abstraction can be attached to QEMU virtual machines and Linux SCSI Target and supports advanced volume management features such as snapshot, cloning, and thin provisioning.

QEMU Workstation

  •    C

QWorkstation is a virtual machine, based on QEMU. It is similar to VMWare Workstation. Also QWorkstation has the friendly interface, greater opportunities.

runv - Hypervisor-based Runtime for OCI

  •    Go

runV is a hypervisor-based runtime for OCI. runv by default uses qemu to start virtual machines and makes use of KVM if it is supported. Please make sure qemu is installed on the machine.

VexRiscv - A FPGA friendly 32 bit RISC-V CPU implementation

  •    Assembly

For commercial support, please contact spinalhdl@gmail.com. The following numbers were obtained by synthesizing the CPU as toplevel without any specific synthesis options to save area or to get better maximal frequency (neutral). The clock constraint is set to an unattainable value, which tends to increase the design area. The dhrystone benchmark was compiled with the -O3 -fno-inline option. All the cached configurations have some cache trashing during the dhrystone benchmark except the VexRiscv full max perf one. This of course reduces the performance. It is possible to produce dhrystone binaries which fit inside a 4KB I$ and 4KB D$ (I already had this case once) but currently it isn't the case. The CPU configurations used below can be found in the src/scala/vexriscv/demo directory.