Vinix เป็นความพยายามในการเขียนระบบปฏิบัติการที่ทันสมัยรวดเร็วและมีประโยชน์ในภาษาการเขียนโปรแกรม V
เข้าร่วมการแชท Discord
หมายเหตุ: Vinix ยังคงเป็นซอฟต์แวร์ Pre-Alpha ที่ไม่ได้มีไว้สำหรับการใช้งานรายวันหรือการผลิต!


คุณสามารถคว้าภาพ Vinix ทุกคืนได้ที่ https://github.com/vlang/vinix/releases
ตรวจสอบให้แน่ใจว่าได้บูต ISO ด้วยหน่วยความจำที่เพียงพอ (8+GIB) เช่นเดียวกับตอนนี้ Vinix โหลดระบบไฟล์รูททั้งหมดใน RamDisk เพื่อให้สามารถบูตบนฮาร์ดแวร์จริงได้ง่ายขึ้น
ต่อไปนี้เป็นรายการ distro-agnostic ของแพ็คเกจที่จำเป็นในการสร้าง vinix
ข้ามไปยังย่อหน้าสำหรับโฮสต์ distro ของคุณหากมี
GNU make , findutils , curl , git , xz , rsync , xorriso , qemu เพื่อทดสอบและต้องมีการทำงานของ Com Compiler ( cc )
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 qemuในการสร้าง distro ซึ่งรวมถึง cross toolchain ที่จำเป็นในการสร้างเคอร์เนลและพอร์ตรวมถึงเคอร์เนลเองวิ่ง:
make all # Build the base distro and make filesystem and ISO.หมายเหตุ: ใน distros บางอย่างเช่น Ubuntu 24.04 หนึ่งอาจได้รับข้อผิดพลาดเช่น:
.../.jinx-cache/rbrt: failed to open or write to /proc/self/setgroups at line 186: Permission denied
ในกรณีนี้อาจหมายถึง Apparmor กำลังป้องกันการใช้เนมสเปซของผู้ใช้ทำให้ jinx ไม่สามารถทำงานได้ หนึ่งสามารถเปิดใช้งานเนมสเปซของผู้ใช้โดยการรัน:
sudo sysctl kernel.apparmor_restrict_unprivileged_userns=0นี่ไม่ใช่ถาวรในการรีบูต เพื่อให้สามารถทำได้:
sudo sh -c ' echo "kernel.apparmor_restrict_unprivileged_userns = 0" >/etc/sysctl.d/99-userns.conf ' สิ่งนี้จะสร้างภาพ distro น้อยที่สุด การตั้งค่าตัวแปร PKGS_TO_INSTALL ENV จะอนุญาตให้หนึ่งชุดระบุชุดแพ็คเกจที่กำหนดเองเพื่อสร้าง/ติดตั้ง ตัวอย่างเช่น:
PKGS_TO_INSTALL= ' * ' make allสิ่งนี้จะสร้างแพ็คเกจทั้งหมด (อาจใช้เวลาสักครู่) หรือ:
PKGS_TO_INSTALL= ' python sqlite ' make all สิ่งนี้จะสร้างระบบพื้นฐาน (เช่น make all ) รวมถึงแพ็คเกจ python และ sqlite
ใน Linux หากมี KVM ให้ทำงานด้วย
make run-kvm
ใน MacOS หากมี HVF ให้ทำงานด้วย
make run-hvf
ในการทำงานโดยไม่มีการเร่งความเร็วให้ทำงานด้วย
make run