Run with make file.
# Get resources
git clone https://github.com/Byte-OS/tools.git
# riscv64
make PLATFORM=riscv64-qemu run
# aarch64
make PLATFORM=aarch64-qemu run
# x86_64
make PLATFORM=x86_64-qemu run
# loongarch64
make PLATFORM=loongarch64-qemu runbyteos.yaml is a configuration file for the ByteOS.
You can change the config in this file. For example, you want to use the ext4 fielsystem.
Set the root_fs to 'ext4' or 'ext4_rs' will change the root_fs from 'fat32' to 'ext4'.
The 'ext4' and 'ext4_rs' are the different implementation of the ext4.
TIPS: Make ensure that the mkefs version of your system lower than 1.70. If not, you have to use another argument to build the ext4 image.
ByteOS is a posix-compatible kernel.
If you are interested in this project, please contact me.
email: [email protected] qq: 321353225
crates --> arch --> modules --> kernel
- higher half kernel
 - Modular skeleton
 - global allocator
 - RTC device support
 - Timestamp --> actual Date/Time timestamp crate
 - frame allocator, use bit_field to store page usage
 - Interrupt support
 - backtrace support
 - timer interrupt support
 - page mapping support
 - get devices info and memory info from device_tree
 - VIRTIO blk device support
 - Add a banner for os. use tool banner generation tool
 - vfs support
 - fatfs support
 - fs mount support (a temporary solution)
 - ramfs support
 - devfs support
 - async/await support (simple version)
 - process support
 - VIRTIO net device support
 - smp support
 - desktop support. eg: dwm, hyprland.
 
tools/final2023:
- libctest
 - libcbench
 - busybox
 - lua
 - lmbench
 - iozone
 - iperf3
 - nerperf
 - cyclic
 - unixbench
 
tools/gcc
- gcc
 - redis-server
 - ssh-simple
 - http-server
 
You can change the TESTCASE in the makefile to change the target. You can run other program in the sh or change the default program in the kernel/src/tasks/initproc.rs file.
make run BOARD=qemu LOG=info NET=offChanging 'LOG=info' to 'LOG=error' if you don't need any info output.