Vinix هو محاولة لكتابة نظام تشغيل حديث وسريع ومفيد بلغة برمجة V.
انضم إلى دردشة Discord.
ملاحظة: لا يزال برنامج Vinix برنامجًا قبل الألفا غير المقصود لاستخدام يومي أو الإنتاج!


يمكنك الحصول على صورة Vinix ليلية مسبقة على https://github.com/vlang/vinix/releases
تأكد من تشغيل ISO بذاكرة كافية (8+GIB) ، حيث تقوم Vinix في الوقت الحالي بتحميل نظام ملفات الجذر بالكامل في Ramdisk حتى تتمكن من التمهيد بسهولة أكبر على الأجهزة الحقيقية.
فيما يلي قائمة بتوزيعي من الحزم اللازمة لبناء Vinix.
انتقل إلى فقرة لتوزيع المضيف الخاص بك إذا كان هناك أي.
GNU make ، findutils ، curl ، git ، xz ، rsync ، xorriso ، qemu لاختباره ، ويجب أن يكون هناك برنامج التحويل البرمجي C ( 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لبناء التوزيع ، الذي يتضمن أدوات المتقاطع اللازمة لبناء kernel والموانئ ، وكذلك النواة نفسها ، تشغيل:
make all # Build the base distro and make filesystem and ISO.ملاحظة: على بعض التوزيع ، مثل 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 ' هذا سوف يبني الحد الأدنى من صورة توزيعة. سيسمح تعيين متغير 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