Skip to content

Arceos-monolithic/Starry

 
 

Repository files navigation

Starry

Structure

avatar

Build and run

# Run in unikernel architecture

# $ make A=apps/<app_name> ARCH=<arch> run

# The <app_name> is the application stored in the ./apps folder.

# The <arch> can be x86_64, risc64 and aarch64.

$ make A=apps/helloworld ARCH=x86_64 run

# Run in monolithic architecture

# Make the testcases image first

# $ ./build_img.sh <arch>

$ ./build_img.sh -m x86_64

$ make A=apps/monolithic_userboot ARCH=x86_64 run

Build and run testcases with ext4fs

# Run in the lwext4fs with Rust interface, whose url is https://github.com/elliott10/lwext4_rust.
make A=apps/monolithic_userboot APP_FEATURES=batch FEATURES="lwext4" LOG=off ACCEL=n run

# Run in a new ext4fs written in Rust, whose url is https://github.com/yuoo655/ext4_rs.
make A=apps/monolithic_userboot APP_FEATURES=batch FEATURES="ext4_rs" LOG=off ACCEL=n run

Pull crates to local workspace

# To download the tool
$ cargo install kbuild

$ mkdir crates

# Load crates
$ kbuild patch add linux_syscall_api

$ kbuild patch add axstarry

# Then crates will be downloaded to the crates/ folder

# To remove the crates
$ kbuild patch remove linux_syscall_api

$ kbuild patch remove axstarry

# Please verify that crates don't have any uncommitted changes before removing them.

Notes

  • Please remove unnecessary dependencies in Cargo.toml before your commit.
  • After pulling a new crate to the local workspace, maybe you need to execute make clean to update the cache.

Releases

No releases published

Packages

No packages published

Languages

  • Rust 68.1%
  • C 27.6%
  • Makefile 1.3%
  • Python 1.2%
  • Assembly 0.8%
  • Shell 0.7%
  • Ruby 0.3%