Skip to content

Commit

Permalink
Merge pull request #344 from ktock/updatereadme
Browse files Browse the repository at this point in the history
Update README about AArch64
  • Loading branch information
ktock authored Nov 7, 2024
2 parents 034663b + 24a4665 commit 70c1fcb
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 6 deletions.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@

container2wasm is a container-to-wasm image converter that enables to run the container on WASM.

- Converts a container to WASM with emulation by Bochs (for x86_64 containers) and TinyEMU (for riscv64 containers).
- Converts a container to WASM with emulation by Bochs (for x86_64 containers), TinyEMU (for riscv64 containers) and QEMU.
- Runs on WASI runtimes (e.g. wasmtime, wamr, wasmer, wasmedge, wazero)
- Runs on browser
- x86_64 or riscv64 containers are recommended. Other platforms (e.g. arm64) also work (but slow).
- x86_64, riscv64 or AArch64 containers are recommended.

This is an experimental software.

Expand Down Expand Up @@ -248,7 +248,7 @@ contaienr2wasm creates a WASM image that runs the container and the Linux kernel
The following shows the techniqual details:

- Builder: [BuildKit](https://github.com/moby/buildkit) runs the conversion steps written in Dockerfile.
- Emulator: [Bochs](https://bochs.sourceforge.io/) emulates x86_64 CPU on WASM. [TinyEMU](https://bellard.org/tinyemu/) emulates RISC-V CPU on WASM. They're compiled to WASM using [wasi-sdk](https://github.com/WebAssembly/wasi-sdk) (for WASI and on-browser) and [emscripten](https://github.com/emscripten-core/emscripten) (for on-browser).
- Emulator: [Bochs](https://bochs.sourceforge.io/) emulates x86_64 CPU on WASM. [TinyEMU](https://bellard.org/tinyemu/) emulates RISC-V CPU on WASM. For on-browser use-cases, QEMU is also supported (see [`./examples/`](./examples)) They're compiled to WASM using [wasi-sdk](https://github.com/WebAssembly/wasi-sdk) (for WASI and on-browser) and [emscripten](https://github.com/emscripten-core/emscripten) (for on-browser).
- Guest OS: Linux runs on the emulated CPU. [runc](https://github.com/opencontainers/runc) starts the container. Non-x86 and non-RISC-V containers runs with additional emulation by QEMU installed via [`tonistiigi/binfmt`](https://github.com/tonistiigi/binfmt).
- Directory Mapping: WASI filesystem API makes host directories visible to the emulator. Emulators mount them to the guest linux via virtio-9p.
- Packaging: [wasi-vfs](https://github.com/kateinoigakukun/wasi-vfs) (for WASI and on-browser) and emscripten (for on-browser) are used for packaging the dependencies. The kernel is pre-booted during the build using [wizer](https://github.com/bytecodealliance/wizer/) to minimize the startup latency (for WASI only as of now).
Expand Down
2 changes: 1 addition & 1 deletion examples/emscripten-aarch64/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Running AArch64 container on browser with emscripten and experimental QEMU TCG mode

c2w experimentally integrates QEMU TCG on Wasm(emscripten).
c2w experimentally integrates QEMU TCG on Wasm(emscripten), using [QEMU Wasm](https://github.com/ktock/qemu-wasm).
AArch64 containers can run on the browser leveraging this.
Multicore CPUs can also be enabled leveraging MTTCG(Multi-Threded TCG).

Expand Down
2 changes: 1 addition & 1 deletion examples/emscripten-qemu-tcg/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Experimental support for QEMU TCG (x86_64)

c2w experimentally integrates QEMU TCG on Wasm(emscripten).
c2w experimentally integrates QEMU TCG on Wasm(emscripten), using [QEMU Wasm](https://github.com/ktock/qemu-wasm).
Multicore CPUs can also be enabled leveraging MTTCG(Multi-Threded TCG).

> NOTE: Example of AArch64 container with QEMU TCG is available at [./../emscripten-aarch64](./../emscripten-aarch64)
Expand Down
2 changes: 1 addition & 1 deletion examples/raspi3ap-qemu/README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Raspberry Pi board emulation on browser

c2w experimentally integrates QEMU TCG on Wasm(emscripten).
c2w experimentally integrates QEMU TCG on Wasm(emscripten), using [QEMU Wasm](https://github.com/ktock/qemu-wasm).
QEMU supports emulating a variety of borads including Rasberry Pi boards.
This document shows an example of Raspberry Pi (`raspi3ap`) emulated on browser

Expand Down

0 comments on commit 70c1fcb

Please sign in to comment.