polkakernel

Crates.iopolkakernel
lib.rspolkakernel
version0.1.0
created_at2025-10-02 15:39:13.443637+00
updated_at2025-10-02 15:39:13.443637+00
descriptionLinux syscall abstraction layer for PolkaVM/CoreVM
homepage
repositoryhttps://github.com/paritytech/polkaports
max_upload_size
id1864565
size44,894
Ivan Gankevich (igankevich)

documentation

https://docs.rs/polkakernel

README

PolkaKernel

⚠️ This crate is work-in-progress. Expect API changes. ⚠️

This is Linux syscall abstraction layer for PolkaVM/CoreVM that translates Linux system calls to PolkaVM/CoreVM host-calls. The host-calls are abstracted away with traits and can easily be replaced by any meaningful implementation. For example, you can read/write files from/to memory instead of on-disk file system.

The main use case is to support running arbitrary programs written for Linux on PolkaVM/CoreVM without code rewrite. To accomplish that one needs to build the program using PolkaPorts toolchain and then run it via provided "player" tool (work-in-progress). Up-to-date instructions are in the PolkaPorts repository.

╭────────────────╮   Host-calls   ╭─────────────╮   Linux system calls   ╭───────────────╮
│ PolkaVM/CoreVM │ ←────────────→ │ PolkaKernel │ ←────────────────────→ │ Guest program │
╰────────────────╯                ╰─────────────╯                        ╰───────────────╯
Commit count: 0

cargo fmt