Vinix est un effort pour rédiger un système d'exploitation moderne, rapide et utile dans le langage de programmation V.
Rejoignez le chat Discord.
Remarque: Vinix est toujours un logiciel pré-alpha non destiné à l'utilisation quotidienne ou de production!


Vous pouvez prendre une image de Vinix nocturne pré-construite sur https://github.com/vlang/vinix/releases
Assurez-vous de démarrer l'ISO avec suffisamment de mémoire (8 + gib) car, pour l'instant, Vinix charge l'intégralité de son système de fichiers racine dans un Ramdisk afin de pouvoir démarrer plus facilement sur le matériel réel.
Ce qui suit est une liste de distribution de packages nécessaires pour construire VINIX.
Passez à un paragraphe pour la distribution de votre hôte s'il y en a.
GNU make , findutils , curl , git , xz , rsync , xorriso , qemu pour le tester, et un compilateur C de travail ( cc ) doit être présent.
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 qemuPour construire la distribution, qui comprend la chaîne à outils croisée nécessaire pour construire le noyau et les ports, ainsi que le noyau lui-même, exécutez:
make all # Build the base distro and make filesystem and ISO.Remarque: Sur certaines distros, comme Ubuntu 24.04, on peut obtenir une erreur comme:
.../.jinx-cache/rbrt: failed to open or write to /proc/self/setgroups at line 186: Permission denied
Dans ce cas, cela signifie probablement qu'Apparmor empêche l'utilisation d'espaces de noms d'utilisateurs, ce qui fait que jinx ne fonctionne pas. On peut activer les espaces de noms d'utilisateur en fonctionnant:
sudo sysctl kernel.apparmor_restrict_unprivileged_userns=0Ce n'est pas permanent à tous les redémarrages. Pour le faire, on peut faire:
sudo sh -c ' echo "kernel.apparmor_restrict_unprivileged_userns = 0" >/etc/sysctl.d/99-userns.conf ' Cela créera une image de distribution minimale. La définition de la variable Env PKGS_TO_INSTALL permettra à l'une de spécifier un ensemble personnalisé de packages pour construire / installer. Par exemple:
PKGS_TO_INSTALL= ' * ' make allCela construira tous les packages (peut prendre un certain temps). Ou:
PKGS_TO_INSTALL= ' python sqlite ' make all Cela construira le système de base (comme make all ) ainsi que les packages python et sqlite .
Dans Linux, si KVM est disponible, exécutez avec
make run-kvm
En macOS, si HVF est disponible, exécutez avec
make run-hvf
Pour courir sans aucune accélération, courez avec
make run