مشروع لتشغيل برامج FreeBSD على Linux. تقرير FreeBSD ربع السنوي

نشر مطورو FreeBSD تقرير تطوير للربع الرابع من عام 2024، والذي يذكر مشروع bsd-user-4-linux، والذي يقوم بتطوير أدوات لتشغيل التطبيقات المصممة لـ FreeBSD على Linux. الهدف المعلن للمشروع هو تحقيق القدرة على البناء بشكل أصلي باستخدام أدوات FreeBSD على Linux، بالإضافة إلى القدرة على بناء حزم لـ FreeBSD على Linux باستخدام أدوات البناء الأصلية لـ FreeBSD.

لتشغيل ملفات FreeBSD القابلة للتنفيذ، يتم استخدام شوكة لمحاكي QEMU، الذي يعمل في محاكاة وضع المستخدم، والذي تم تصميمه لتشغيل العمليات المترجمة لوحدات المعالجة المركزية وأنظمة التشغيل الأخرى. في هذا الوضع، يقوم QEMU بترجمة نداء النظام ومعالجة الإشارة. يتطلب تشغيل التطبيقات نشر المكتبات والإعدادات من نظام FreeBSD الأساسي إلى دليل محلي. يمكن اعتبار المشروع بمثابة BSDlator، وهو نظير عكسي لـ Linuxulator.

في المرحلة الحالية من التطوير، يتم إطلاق أدوات النظام الرئيسية (sh، bash، find، grep، git، clang، وما إلى ذلك)، ويتم دعم الارتباط الديناميكي والمكتبات المشتركة، وتتوفر وظائف الشبكة. على سبيل المثال، يمكنك الآن إعادة بناء FreeBSD باستخدام الأمر "make -j80 buildworld" أثناء وجودك في Linux. تتضمن الوظائف المفقودة عدم القدرة على تشغيل مصحح أخطاء GDB، وعدم توفر وظائف IPC وkevent/kqueue وبعض sysctl (على سبيل المثال name2oid).

بالإضافة إلى ذلك، يقوم المشروع بإعداد صور الحاويات باستخدام بيئة عمل FreeBSD لمختلف المعماريات (linux/386، linux/amd64، linux/arm/v5 وlinux/arm64/v8) وتوفير GitHub Actions لإنشاء مثل هذه الصور.

تتضمن النقاط البارزة الأخرى في التقرير ربع السنوي لشركة FreeBSD ما يلي:

  • أداة mdo لتشغيل الأوامر تحت مستخدم آخر، مشابهة لأداة su، ولكن باستخدام وحدة kernel mac_do واستدعاء النظام setcred بدلاً من setuid.
  • تطوير برنامج تشغيل AMD IOMMU لنظام FreeBSD.
  • مشروع لتحسين أداء FreeBSD على أجهزة الكمبيوتر المحمولة.
  • مشروع تحديث البنية التحتية.
  • العمل على دعم أوضاع الطاقة المنخفضة S0ix و s2idle (Suspend-To-Idle).
  • تحسين أداء منصة OpenStack على FreeBSD.
  • تحسين مجموعة الصوت في FreeBSD.
  • تحسين أداء OpenJDK على FreeBSD.
  • تحديث مدير الحزم pkg لمشروع PkgBase (تنسيق مكونات النظام الأساسي بتنسيق مناسب للإدارة والتحديث باستخدام مدير الحزم pkg).
  • استئناف العمل على برنامج تشغيل umb لأجهزة مودم MBIM USB 4G/5G.
  • النقل من برنامج تشغيل OpenBSD iwx إلى شرائح Intel Wi-Fi.
  • استمرار العمل على طبقة LinuxKPI لتشغيل برامج تشغيل Linux للشرائح اللاسلكية.
  • تم تخفيض عدد المنافذ من 36504 إلى 36332. وتشمل المنافذ تحديث Xfce 4.20، وLXQt 2.1.0، وPHP 8.3، وKDE Plasma 6.2.4، وQt 6.8.1، وPython 3.9.21، وPython 3.11.11، وRuby 3.3.6، وRust 1.83.0، وSDL 3.1.6، وSway 1.10، ومتصفح Tor 14.0.3.
  • تم الانتهاء من التدقيق الأمني ​​لنظامي bhyve وCapsicum الفرعيين.
  • بالتعاون مع Framework، نعمل على دعم أجهزة الكمبيوتر المحمولة التي تعمل بنظام Framework في FreeBSD (تم بالفعل الإعلان عن دعم Framework Laptop 13 المستند إلى AMD Ryzen 7040).
  • يتم العمل حاليًا على إضافة أوضاع استرداد النظام والتحديث إلى برنامج التثبيت، بالإضافة إلى القدرة على تثبيت الحزم في البيئات الحية.
  • يستمر نقل FreeBSD إلى الهاتف الذكي Pinephone Pro.
  • يتم تطوير أدوات AppJail وDirector وLittleJet لتنظيم العمل مع الحاويات المتوافقة مع OCI في FreeBSD، باستخدام آلية عزل سجن FreeBSD.
  • Pot عبارة عن مجموعة أدوات لإدارة الحاويات استنادًا إلى بيئات السجن وZFS وpf وrctl، وتدعم التكامل مع منصة تنسيق الحاويات nomad. Potluck هو كتالوج صور الحاويات الذي يعمل بمثابة نظير Dockerhub لـ FreeBSD.
  • يتم تطوير واجهة رسومية لإدارة نظام المحاكاة الافتراضية استنادًا إلى برنامج التشغيل الافتراضي Bhyve. يتم استخدام Freepascal/Lazarus للتطوير.

المصدر: opennet.ru

إضافة تعليق