You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
chyyuu 9a9b2f6833
Merge branch 'linux64-syscall' of github.com:rcore-os/rcore-user into linux64-syscall
6 years ago
biscuit use musl to build biscuit programs for aarch64 6 years ago
rust Wait and show link up in genpkts 6 years ago
ucore fix struct stat layout on non-x86 archs 6 years ago
.gitignore add Rust programs. add Makefile 6 years ago
.travis.yml try to fix travis 6 years ago
Makefile update busybox for x86_64 & aarch64 6 years ago
README.md update README 6 years ago
build-gcc-musl.md update README 6 years ago

README.md

rCore-user

Build Status

User programs for rCore OS.

Now it has 3 parts:

  • ucore: C-lang, from the original ucore_os_lab
  • biscuit: C/C++, from Biscuit, based on a musl instead of original litc.
  • rust: Simple no_std Rust programs.

Build

To build biscuit programs, install musl toolchain first:

# for ARCH linux
$ sudo pacman -Syu musl # archlinux
# for macOS
$ brew install FileSottile/musl-cross/musl-cross 
# for ubuntu 16.04, we should build gcc-musl for newest musl-1.1.21
# please see build-gcc-musl.md
$ make {ucore,biscuit,rust,all} arch={i386,x86_64,riscv32,riscv64,aarch64}
$ make sfsimg arch={i386,x86_64,riscv32,riscv64,aarch64}

Output to build/$(arch)

Notice

  • The syscall ids have been set compatible with Linux64.
  • So the ucore part can not run on the original ucore.