All Projects → DavidBurela → riscv-emulator-docker-image

DavidBurela / riscv-emulator-docker-image

Licence: Unlicense License
hub.docker.com/repository/docker/davidburela/riscv-emulator

Programming Languages

Dockerfile
14818 projects

Projects that are alternatives of or similar to riscv-emulator-docker-image

fos
Interesting project,the Fast Real Time Operating Systems( FOS-RTOS)
Stars: ✭ 22 (-29.03%)
Mutual labels:  risc-v
K210
Kendryte K210 BSP for RT-Thread
Stars: ✭ 15 (-51.61%)
Mutual labels:  risc-v
arv
ARV: Asynchronous RISC-V Go High-level Functional Model
Stars: ✭ 18 (-41.94%)
Mutual labels:  risc-v
ravel
A RISC-V simulator
Stars: ✭ 24 (-22.58%)
Mutual labels:  risc-v
KyogenRV
The Simple 5-staged pipeline RISC-V written in chisel3 for intel FPGA.
Stars: ✭ 37 (+19.35%)
Mutual labels:  risc-v
bl iot sdk
BL602 SDK (Pine64 fork)
Stars: ✭ 115 (+270.97%)
Mutual labels:  risc-v
yatcpu
Yet another toy CPU.
Stars: ✭ 42 (+35.48%)
Mutual labels:  risc-v
rustsbi-qemu
QEMU platform SBI support implementation, using RustSBI
Stars: ✭ 39 (+25.81%)
Mutual labels:  risc-v
riscv em
Simple risc-v emulator, able to run linux, written in C.
Stars: ✭ 51 (+64.52%)
Mutual labels:  risc-v
mdepx
MDEPX — A BSD-style RTOS
Stars: ✭ 17 (-45.16%)
Mutual labels:  risc-v
WebRISC-V
WebRISC-V: A Web-Based Education-Oriented RISC-V Pipeline Simulation Environment [PHP]
Stars: ✭ 74 (+138.71%)
Mutual labels:  risc-v
Xassette-Asterisk
Evaluation board for AllWinner's RISC-V 64 SoC F133/D1s
Stars: ✭ 168 (+441.94%)
Mutual labels:  risc-v
bx-github-ci
This tutorial provides one example on how a CI (Continuous Integration) workflow with the IAR Build Tools for Linux can be set up on GitHub. The IAR Build Tools on Linux are available for Arm, RISC-V and Renesas (RH850, RL78 and RX).
Stars: ✭ 20 (-35.48%)
Mutual labels:  risc-v
yarvi
Yet Another RISC-V Implementation
Stars: ✭ 59 (+90.32%)
Mutual labels:  risc-v
FT800-FT813
Multi-Platform C code Library for EVE graphics controllers from FTDI / Bridgetek (FT810, FT811, FT812, FT813, BT815, BT816, BT817, BT818)
Stars: ✭ 80 (+158.06%)
Mutual labels:  risc-v
vega-lite
Software, tools, and documentation for RV32-VEGA-Lite platform
Stars: ✭ 61 (+96.77%)
Mutual labels:  risc-v
aes
Fast constant-time AES implementations on 32-bit architectures
Stars: ✭ 44 (+41.94%)
Mutual labels:  risc-v
RISCV CPU
A FPGA supported RISC-V CPU with 5-stage pipeline implemented in Verilog HDL
Stars: ✭ 48 (+54.84%)
Mutual labels:  risc-v
ria-jit
Lightweight and performant dynamic binary translation for RISC–V code on x86–64
Stars: ✭ 38 (+22.58%)
Mutual labels:  risc-v
rv32emu
RISC-V RV32I[MAC] emulator with ELF support
Stars: ✭ 61 (+96.77%)
Mutual labels:  risc-v

RISC-V emulator docker image

A pre-configured QEMU & Debian RISC-V image. Allows you to get started working on an emulated RISC-V environment. Is a quick way to see what libraries and frameworks work on RISC-V without sourcing hardware.

Structure:

  • Debian host (debian:sid)
    • QEMU. Running as emulated RISC-V with soft-mmu support
      • Debian guest. RISC-V image
      • RISC-V u-boot kernel

How to use

Quicker start, with Docker Hub:

Pull and run the image from Docker Hub. Saves you needing to build locally

Quick start:

Get the the image

# 1 Get the image [2 options]
# 1A. Pull the image from Docker Hub
docker pull davidburela/riscv-emulator

# 1B. -OR- build the image locally
docker build -t davidburela/riscv-emulator .

# 2. 
# Run with QEMU default of 2CPU & 2G ram. 
# Expose port 2222 which is routed through into the QEMU RISC-V guest
docker run -d --publish 127.0.0.1:2222:2222/tcp davidburela/riscv-emulator

# 3. SSH directly into the QEMU RISC-V guest, the default password is "root". (Might take a few minutes for guest to start)
ssh root@localhost -p 2222

SSH in and seeing CPU details

Options (RAM, CPU, etc)

# 2. Alternative: Allocate more CPU / RAM to QEMU guest
# Start the container, and manually start QEMU with the required specs.
# replace AAAA with desired cpus (e.g. 2 or 4)
# replace BBBB with desired RAM (e.g. 2G or 4G)
docker run -d --publish 127.0.0.1:2222:2222/tcp davidburela/riscv-emulator qemu-system-riscv64 -smp AAAA -m BBBB -cpu rv64 -nographic -machine virt -kernel /usr/lib/u-boot/qemu-riscv64_smode/uboot.elf -device virtio-blk-device,drive=hd -drive file=artifacts/image.qcow2,if=none,id=hd -device virtio-net-device,netdev=net -netdev user,id=net,hostfwd=tcp::2222-:22 -object rng-random,filename=/dev/urandom,id=rng -device virtio-rng-device,rng=rng -append "root=LABEL=rootfs console=ttyS0"

Podman

Declare docker.io registry declared in /etc/containers/registries.conf, i.e.

[registries.search]
registries = [ 'docker.io', 'quay.io' ]

Build with

podman build -t riscv-emulator

For other docker sub-commands, just replace docker with podman

Example uses

I have used the emulated environment to verify if Open Source projects run on RISC-V, and shared the findings:

How it was built

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].