a broken kernel with a ton of bad design choices and copypasted code. It's actually not that bad anymore tho
- 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
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
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
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