Giter Club home page Giter Club logo

vinix's Introduction

Vinix

Vinix is an effort to write a modern, fast, and useful operating system in the V programming language.

Join the Discord chat.

Download the ISO

You can get a continuously updated ISO of Vinix here.

What is Vinix all about?

  • Keeping the code as simple and easy to understand as possible, while not sacrificing performance and prioritising code correctness.
  • Making a usable OS which can run on real hardware, not just on emulators or virtual machines.
  • Targetting modern 64-bit architectures, CPU features, and multi-core computing.
  • Maintaining good source-level compatibility with Linux to allow to easily port programs over.
  • Exploring V capabilities in bare metal programming and improving the compiler in response to the uncommon needs of bare metal programming.
  • Having fun.

Reference screenshot

Roadmap

  • mlibc
  • bash
  • builds.vinix-os.org
  • gcc
  • g++
  • V
  • nano
  • storage drivers
  • ext2
  • Wayland compositor
  • V-UI
  • network
  • Intel HD graphics driver (linux port)

Build instructions

OS-agnostic build prerequisites

The following is an OS-agnostic list of packages needed to build Vinix. Skip to a paragraph for your host OS if there is any.

GNU make, GNU patch, GNU tar, GNU gzip, GNU coreutils, git, subversion, mtools, meson, ninja, m4, texinfo, pkg-config, groff, gettext, autopoint, bison, flex, help2man, openssl, gperf, rsync, xsltproc, gcc, nasm, python3, pip3, python3-mako, wget, xorriso, and qemu to test it.

Build prerequisites for Ubuntu, Debian, and derivatives

sudo apt install build-essential nasm git subversion mtools meson m4 texinfo pkg-config groff gettext autopoint bison flex help2man libssl-dev gperf rsync xsltproc python3 python3-pip python3-mako wget xorriso qemu-system-x86

Build prerequisites for Arch Linux and derivatives

sudo pacman -S base-devel nasm git subversion mtools meson m4 texinfo pkgconf groff gettext bison flex help2man gperf rsync libxslt python python-pip python-mako wget xorriso qemu-arch-extra

Building Vinix on macOS

This build system does not officially support macOS. Run this in an x86_64 Linux VM or real hardware.

Installing xbstrap

It is necessary to fetch xbstrap from pip3:

pip3 install --user xbstrap

Building the distro

To build the distro which includes the cross toolchain necessary to build kernel and ports, run:

make distro

This step will take a while.

Building the kernel and image

Simply run

make

To test

In Linux, if KVM is available, run with

make run-kvm

In macOS, if hvf is available, run with

make run-hvf

To run without any acceleration, run with

make run

vinix's People

Contributors

mintsuki avatar medvednikov avatar spytheman avatar ethan4984 avatar alula avatar ccode-lang avatar arsenarsen avatar 05st avatar alehander92 avatar dennisbonke avatar jalonsolov avatar louisschmieder avatar wertzui123 avatar crthpl avatar ilobilo avatar kaiserschmarrn0 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.