Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/vlang/vinix
Vinix is an effort to write a modern, fast, and useful operating system in the V programming language
https://github.com/vlang/vinix
hacktoberfest operating-system os v vlang
Last synced: about 2 months ago
JSON representation
Vinix is an effort to write a modern, fast, and useful operating system in the V programming language
- Host: GitHub
- URL: https://github.com/vlang/vinix
- Owner: vlang
- License: gpl-2.0
- Created: 2019-11-15T10:56:22.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2023-12-19T14:03:57.000Z (6 months ago)
- Last Synced: 2023-12-19T15:46:47.303Z (6 months ago)
- Topics: hacktoberfest, operating-system, os, v, vlang
- Language: V
- Homepage: https://vlang.io
- Size: 11.9 MB
- Stars: 1,739
- Watchers: 65
- Forks: 114
- Open Issues: 14
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Lists
- awesome-v - Vinix - Small and simple OS in V. Runs bash. (Applications / Operating systems/Kernels)
- awesome-os - Vinix - Vinix is an effort to write a modern, fast, and useful operating system in the V programming language (Open Source Operating Systems)
- awesome-stars - vlang/vinix - Vinix is an effort to write a modern, fast, and useful operating system in the V programming language (V)
- awesome-repositories - vlang/vinix - Vinix is an effort to write a modern, fast, and useful operating system in the V programming language (V)
- awesome-repositories - vlang/vinix - Vinix is an effort to write a modern, fast, and useful operating system in the V programming language (V)
- awesome-stars - vinix
- awesome-stars - vlang/vinix - Vinix is an effort to write a modern, fast, and useful operating system in the V programming language (V)
README
# Vinix
Vinix is an effort to write a modern, fast, and useful operating system in [the V programming language](https://vlang.io).
Join the [Discord chat](https://discord.gg/S5Nm6ZDU38).
## 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.
- Targeting 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.**Note: Vinix is still pre-alpha software not meant for daily or production usage!**
![Screenshot 0](/screenshot0.png?raw=true "Screenshot 0")
![Screenshot 1](/screenshot1.png?raw=true "Screenshot 1")Photo by Hubblesite.org: https://hubblesite.org/files/live/sites/hubble/files/home/science/stars-and-nebulae/_images/STScI-H-stars-nebulae-0411a-2400x1200.jpg
## Download latest nightly image
You can grab a pre-built nightly Vinix image at https://github.com/vlang/vinix/releases
Make sure to boot the ISO with enough memory (8+GiB) as, for now, Vinix loads its
entire root filesystem in a ramdisk in order to be able to more easily boot
on real hardware.## Roadmap
- [x] mlibc
- [x] bash
- [x] gcc/g++
- [x] V
- [x] nano
- [x] storage drivers
- [x] ext2
- [x] X.org
- [ ] Networking
- [ ] Wayland
- [ ] Hypervisor
- [ ] X window manager
- [ ] V-UI
- [ ] Intel HD graphics driver (Linux port)
## Build instructions### Distro-agnostic build prerequisites
The following is a distro-agnostic list of packages needed to build Vinix.
Skip to a paragraph for your host distro if there is any.
`GNU make`, `diffutils`, `curl`, `git`, `bsdtar`, `rsync`, `xorriso`, and `qemu`
to test it.### Build prerequisites for Ubuntu, Debian, and derivatives
```bash
sudo apt install -y make diffutils curl git libarchive-tools rsync xorriso qemu-system-x86
```### Build prerequisites for Arch Linux and derivatives
```bash
sudo pacman -S --needed make diffutils curl git libarchive rsync xorriso qemu
```### Build prerequisites for Red Hat Linux and derivatives
```bash
sudo yum install -y make diffutils curl git bsdtar rsync xorriso qemu
```### Building the distro
To build the distro, which includes the cross toolchain necessary
to build kernel and ports, as well as the kernel itself, run:```bash
make distro-base # Build the base distribution.
make all # Make filesystem and ISO.
```This will build a minimal distro image. The `make distro-full` target
is also avaliable to build the full distro; this step will take a while.### 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
```