Vinix ist eine Anstrengung, ein modernes, schnelles und nützliches Betriebssystem in die V -Programmiersprache zu schreiben.
Treten Sie dem Discord -Chat bei.
Hinweis: Vinix ist immer noch vor der Alpha-Software, die nicht für die tägliche oder produzierende Verwendung gedacht ist!


Sie können sich unter https://github.com/vlang/vinix/releases ein vorgefertigtes nächtliches Vinix-Bild holen
Stellen Sie sicher, dass Sie die ISO mit genügend Speicher (8+Gib) starten, da Vinix vorerst das gesamte Root -Dateisystem in einem RAMDISK lädt, um einfacher Hardware zu starten.
Das Folgende ist eine distro-agnostische Liste von Paketen, die zum Erstellen von Vinix erforderlich sind.
Gehen Sie zu einem Absatz für Ihre Host -Distribution, wenn es welche gibt.
GNU make , findutils , curl , git , xz , rsync , xorriso , qemu , um es zu testen, und ein funktionierender C -Compiler ( cc ) muss vorhanden sein.
sudo apt install -y build-essential make findutils curl git xz-utils rsync xorriso qemu-system-x86sudo pacman -S --needed gcc make findutils curl git xz rsync xorriso qemusudo yum install -y gcc make findutils curl git xz rsync xorriso qemusudo xbps-install -Suv gcc make findutils curl git xz rsync xorriso qemuUm die Distribution zu bauen, zu der die Cross Toolchain gehört, die zum Bau von Kernel und Häfen sowie den Kernel selbst erforderlich ist, laufen Sie:
make all # Build the base distro and make filesystem and ISO.Hinweis: Bei bestimmten Distributionen wie Ubuntu 24.04 kann man einen Fehler bekommen, wie:
.../.jinx-cache/rbrt: failed to open or write to /proc/self/setgroups at line 186: Permission denied
In diesem Fall bedeutet es wahrscheinlich, dass Apparmor die Verwendung von Benutzernamenspitzen verhindert, was dazu führt, dass jinx nicht funktioniert. Man kann Benutzernamenspaces durch Ausführen aktivieren:
sudo sysctl kernel.apparmor_restrict_unprivileged_userns=0Dies ist nicht dauerhaft bei Neustarts. Um es so zu machen, kann man es tun:
sudo sh -c ' echo "kernel.apparmor_restrict_unprivileged_userns = 0" >/etc/sysctl.d/99-userns.conf ' Dadurch wird ein minimales Distribotikbild aufgebaut. Durch das Einstellen der Variablen PKGS_TO_INSTALL ENVEVIBLE kann ein benutzerdefinierter Satz von Paketen angeben, um zu erstellen/zu installieren. Zum Beispiel:
PKGS_TO_INSTALL= ' * ' make allDadurch wird alle Pakete erstellt (kann einige Zeit dauern). Oder:
PKGS_TO_INSTALL= ' python sqlite ' make all Dadurch wird das Basissystem (wie make all ) plus die python und sqlite -Pakete aufgebaut.
In Linux laufen Sie mit KVM mit
make run-kvm
In macOS, wenn HVF verfügbar ist, laufen Sie mit
make run-hvf
Ohne Beschleunigung laufen, mit laufen
make run