Vinix
Vinix 是一个使用 V 编程语言 编写现代、快速和实用的操作系统的项目。
加入 Discord 聊天。
Vinix 的目标是什么?
- 保持代码尽可能简单易懂,同时不牺牲性能并优先考虑代码正确性。
- 制作一个可以在真实硬件上运行的可用操作系统,而不仅仅是在模拟器或虚拟机上运行。
- 针对现代 64 位架构、CPU 功能和多核计算。
- 保持与 Linux 良好的源代码级兼容性,以便轻松移植程序。
- 探索 V 语言在裸机编程中的能力,并根据裸机编程的特殊需求改进编译器。
- 享受乐趣。
注意:Vinix 仍处于预览版阶段,不适合日常或生产使用!
下载最新的每日构建镜像
您可以在 https://github.com/vlang/vinix/releases 获取预构建的 Vinix 每日镜像
请确保使用足够的内存(8+GiB)启动 ISO,因为目前 Vinix 将整个根文件系统加载到 ramdisk 中,以便更容易在真实硬件上启动。
路线图
- mlibc
- bash
- gcc/g++
- V
- nano
- 存储驱动程序
- ext2
- X.org
- X 窗口管理器
- 网络
- Wayland
- 虚拟机监控程序
- V-UI
- Intel HD 图形驱动程序(Linux 移植)
构建说明
与发行版无关的构建先决条件
以下是构建 Vinix 所需的与发行版无关的软件包列表。
如果有针对您的主机发行版的段落,请跳到相应段落。
GNU make
、findutils
、curl
、git
、bsdtar
、zstd
、rsync
、xorriso
和 qemu
(用于测试)。
此外,还需要一个可用的 C 编译器(cc
)。
Ubuntu、Debian 及其衍生版的构建先决条件
sudo apt install -y build-essential make findutils curl git libarchive-tools zstd rsync xorriso qemu-system-x86
Arch Linux 及其衍生版的构建先决条件
sudo pacman -S --needed gcc make findutils curl git libarchive zstd rsync xorriso qemu
Red Hat Linux 及其衍生版的构建先决条件
sudo yum install -y gcc make findutils curl git bsdtar zstd rsync xorriso qemu
Void Linux 及其衍生版的构建先决条件
sudo xbps-install -Suv gcc make findutils curl git bsdtar zstd rsync xorriso qemu
构建发行版
要构建发行版(包括构建内核和端口所需的交叉工具链以及内核本身),请运行:
make distro-base # 构建基本发行版
make all # 创建文件系统和 ISO
这将构建一个最小的发行版镜像。还可以使用 make distro-full
目标来构建完整的发行版;这一步需要一段时间。
测试
在 Linux 中,如果可以使用 KVM,请运行:
make run-kvm
在 macOS 中,如果可以使用 hvf,请运行:
make run-hvf
要在没有任何加速的情况下运行,请运行:
make run