AstraOS is Straightforward and Thoroughly Robust As OS's Should be

a012df6 18 ms -> 10 ms. They don't teach you to do that in school. ax + by + c = 0 reigns supreme.

a day ago

5f91f76 spinning square in elf

a day ago

#AstraOS's development is hosted on source hut. Talk to us and report bugs there.

#Warning: this project doesn't actually have a readme yet. I don't believe in creating such things before there is more substance to the project.

a-p-petrosyan insisted however on renaming the rivos_manjaro_guide as a temporary readme.

#Arch-based guide for bulding and running Astra

  • First clone the repository
git clone https://git.sr.ht/~samhsmith/AstraOS
cd AstraOS
git submodule update --init
cd ..
  • Clone the risc-v gnu toolchain
git clone https://github.com/riscv/riscv-gnu-toolchain.git
  • Install build dependencies
sudo pacman -S autoconf automake curl python3 mpc mpfr gmp gawk base-devel bison flex texinfo gperf libtool patchutils bc zlib expat
  • Build the toolchain. Install to /opt/riscv/ this will take a while
cd riscv-gnu-toolchain
sudo mkdir /opt/riscv
./configure --prefix=/opt/riscv && sudo make -j$(nproc)
cd ..
  • Now install the run-time dependencies.
sudo pacman -Sy ninja ceph glusterfs libiscsi python python-sphinx spice-protocol xfsprogs
  • Now build the virtual machine that is used to run rivos
cd AstraOS
mkdir qemu/build
cd qemu/build
CFLAGS=-Wno-error ../configure --target-list=riscv64-softmmu && make -j$(nproc)
cd ../..
  • Run the virtual machine
make run


By default you'll get my super gnarly (ultra custom) keyboard layout that you probably don't want to use.

Changing the keyboard layout can be done as follows:

In src/tempuser.h

  • Sam's custom layout:
#include "samorak.h"
//#include "qwerty.h"
  • US Qwerty:
//#include "samorak.h"
#include "qwerty.h"