Skip to content

theverygaming/vix

Repository files navigation

vix

CI

a broken kernel with a ton of bad design choices and copypasted code. It's actually not that bad anymore tho

Build options

Goals

  • Run X server
  • Full Linux binary compatibility
  • Binary compatibility with other kernels

References: PenutOS, nanobyte_os, the OSDev wiki, raspi3-tutorial, Building an Operating System for the Raspberry Pi, raspberry-pi-os and of course Linux

Star History

Star History Chart

Building locally

NOTE: THIS MAY BE OUTDATED

first make sure you have all submodules. Simply clone like this

git clone --recurse-submodules https://github.com/theverygaming/vix.git

you already cloned the repo? then run git submodule update --init --recursive instead

now to build for x86 you need a few extra dependencies(aside from gcc and make), on ubuntu these are installed by running

sudo apt install nasm gcc-multilib g++-multilib xorriso grub-common grub-pc mtools python3 cmake pkg-config flex bison libncurses5-dev xxd

Now refer to the general build instructions

Building inside devcontainer

NOTE: THIS MAY BE OUTDATED

run git submodule update --init --recursive to get all submodules

in the devcontainer there is a window manager and a VNC server running. You can connect to noVNC on port 6080. The default password is vscode

Now refer to the general build instructions

General build instructions

NOTE: THIS MAY BE OUTDATED

first you have to configure the kernel, you could either simply use the default config (make alldefconfig) or configure it yourself (make menuconfig)

then you can simply build with make and then make bootimg-x86-32 (if you have a x86_32 system, otherwise use the CROSS_COMPILE environment variable or on x86_64 you can use CXXFLAGS="-m32 -march=i386" LDFLAGS="-m elf_i386")

a bootable iso named vix.iso will be created

for other architectures look at the GitHub actions workflow