OpenBMC هو توزيع Linux لوحدات تحكم الإدارة المستخدمة في أجهزة مثل الخوادم أو مفاتيح الرف أو أجهزة RAID. يستخدم Yocto و OpenEmbedded و SystemD و D-Bus للسماح بالتخصيص السهل لمنصة الخاصة بك.
راجع وثائق Yocto للحصول على أحدث المتطلبات
sudo apt install git python3-distutils gcc g++ make file wget
gawk diffstat bzip2 cpio chrpath zstd lz4 bzip2
sudo dnf install git python3 gcc g++ gawk which bzip2 chrpath cpio
hostname file diffutils diffstat lz4 wget zstd rpcgen patch
git clone https://github.com/openbmc/openbmc
cd openbmc
يتطلب أي بناء بيئة تم إعدادها وفقًا لهدف الأجهزة. هناك برنامج نصي خاص في جذر هذا المستودع الذي يمكن استخدامه لتكوين البيئة حسب الحاجة. يسمى البرنامج النصي setup
ويأخذ اسم هدف الأجهزة الخاص بك كوسيطة.
يجب الحصول على البرنامج النصي أثناء وجوده في الدليل الأعلى لاستنساخ مستودع OpenBMC ، وإذا تم تشغيله بدون وسيط ، سيعرض قائمة أهداف الأجهزة المدعومة ، انظر المثال التالي:
$ . setup <machine> [build_dir]
Target machine must be specified. Use one of:
...
يمكن العثور على قائمة أكثر اكتمالا من الآلات المدعومة تحت meta-phosphor/docs.
بمجرد معرفة الهدف (على سبيل المثال رومولوس) ، مصدر البرنامج النصي setup
على النحو التالي:
. setup romulus
bitbake obmc-phosphor-image
يمكن العثور على تفاصيل إضافية في مستودع المستندات.
يحتفظ مجتمع OpenBMC بمجموعة من البرامج التعليمية التي يمكن للمستخدمين الجدد الذهاب إليها للوصول إلى السرعة على تطوير OpenBMC هنا
يتم تجميع واختبار الالتزامات المقدمة من قبل أعضاء مجتمع OpenBMC GitHub عبر خادم Jenkins الخاص بنا. يتم تشغيل الالتزامات من خلال مستويين من الاختبار. على مستوى المستودع ، يتم تشغيل توجيه Makefile make check
. على مستوى النظام ، يتم تضمين الالتزام في صورة البرامج الثابتة ويتم تشغيله باستخدام نموذج QEMU-SOFTMUU ARM مقابل وابل من اختبارات CI.
لا تتابع الالتزامات المقدمة من غير الأعضاء تلقائيًا من خلال اختبار CI. بعد التفتيش البصري للالتزام ، يمكن إجراء عملية تشغيل CI يدويًا من قبل المراجع.
يتم إجراء الاختبار الآلي مقابل نموذج QEMU جنبا إلى جنب مع الأنظمة المدعومة. يستخدم مشروع OpenBMC إطار الروبوت لجميع الأتمتة. يمكن العثور على مستودع الاختبار الكامل لدينا هنا.
دائمًا ما يكون دعم حزم الأجهزة والبرامج الإضافية موضع ترحيب. يرجى اتباع الإرشادات المساهمة عند تقديم التقديم. من المتوقع أن تحتوي المساهمات على حالات اختبار.
تتم إدارة القضايا على جيثب. يوصى بالبحث من خلال المشكلات قبل فتح واحدة جديدة.
أولاً ، يرجى إجراء البحث على الإنترنت. هناك فرصة جيدة طرح سؤالك بالفعل.
للأسئلة العامة ، يرجى استخدام علامة OpenBMC على Stack Overflow. يرجى مراجعة المناقشة حول ترخيص Stack Overflow قبل نشر أي رمز.
للمناقشات الفنية ، يرجى الاطلاع على معلومات الاتصال أدناه للحصول على معلومات قائمة Discord و Painting. من فضلك لا تقدم مشكلة لطرح سؤال. ستحصل على نتائج أسرع باستخدام القائمة البريدية أو الخلاف.
هذا سؤال شائع ، لا سيما فيما يتعلق بمجالس بائعين شهيرة (تجاريين تجارية) مثل Supermicro و Asrock. يمكنك رؤية قائمة الألواح المدعومة عن طريق التشغيل . setup
(مع عدم وجود وسيطات أخرى) في جذر شجرة مصدر OpenBMC. معظم المنصات التي تدعمها OpenBMC هي خوادم متخصصة تديرها الشركات التي تدير مراكز بيانات كبيرة ، ولكن يتم دعم بعض خوادم COTs العامة بدرجات متفاوتة.
إذا لم يتم سرد اللوحة الأم الخاصة بك في إخراج . setup
لا يتم دعمه حاليًا. يعد تنفيذ OpenBMC إلى منصة جديدة مهمة غير تافهة ، يتم القيام بها بشكل مثالي بمساعدة المخططات وغيرها ، وربما ينطوي على خطر أكبر من تلف الأجهزة).
ومع ذلك ، حتى لو كانت اللوحة الأم الخاصة بك من بين تلك المدرجة في إخراج . setup
، هناك اثنين من التحذيرات مهمة لتأخذ في الاعتبار. أولاً ، ليست جميع المنافذ ناضجة على قدم المساواة - بعض المنصات مدعومة بشكل أفضل من غيرها ، وقد تكون الوظائف في بعض المجالس "المدعومة" محدودة إلى حد ما. ثانياً ، لا يعتبر دعم اللوحة الأم هو نفس دعم نظام كامل - على وجه الخصوص ، يعتمد التحكم في المروحة بشكل نقدي على اللوحة الأم فحسب ، بل أيضًا المشجعين المتصلين به والهيكل الذي يقع فيه اللوحة والمشجعين ، ، كلاهما يمكن أن يختلف بشكل كبير بين الأنظمة باستخدام نموذج اللوحة نفسه. لذا ، على الرغم من أنك قد تكون قادرًا على تجميع وتثبيت بناء OpenBMC على نظامك والحصول على بعض الوظائف الأساسية ، فمن المحتمل أن يكون الحواف الخشنة (مثل مراوح التبريد التي تعمل بشكل مستمر في خنق كامل).
انظر أيضا "الآلات المدعومة".
الغوص أعمق في OpenBMC عن طريق فتح مستودع مستندات.
توجه اللجنة التوجيهية التقنية (TSC) المشروع. الأعضاء: