كوربوت

يُعدّ coreboot (المعروف سابقًا باسم LinuxBIOS ) [ 5 ] مشروعًا مجانيًا ومفتوح المصدر يوفر برامج ثابتة خفيفة الوزن لتهيئة الأجهزة ثم تحميل نظام التشغيل . وهو مصمم ليحل محل البرامج الثابتة الاحتكارية (تطبيقات BIOS التقليدية أو UEFI ) من خلال أداء الحد الأدنى من المهام المطلوبة لبدء تشغيل نظام تشغيل حديث 32 بت أو 64 بت .

نظرًا لأن coreboot يقوم بتهيئة الأجهزة على مستوى منخفض، فيجب نقله إلى كل مجموعة شرائح ونموذج لوحة أم مدعوم ؛ وبالتالي، فإن التوافر يقتصر على المنصات التي تم تنفيذ الدعم لها.

أحد المتغيرات المعروفة لـ coreboot هو Libreboot ، وهو توزيع برمجي يركز على إزالة الكتل الثنائية الاحتكارية من مكدس البرامج الثابتة.

تاريخ

بدأ مشروع coreboot بهدف إنشاء نظام BIOS يتميز بسرعة الإقلاع ومعالجة الأخطاء بذكاء. [ 6 ] يُوزع المشروع بموجب بنود رخصة جنو العمومية العامة الإصدار 2 (GPLv2). من أبرز المساهمين فيه مختبر لوس ألاموس الوطني (LANL )، وشركة SiS ، وشركة AMD ، وشركة Coresystems، وشركة Linux Networx، بالإضافة إلى مُصنّعي اللوحات الأم MSI و Gigabyte و Tyan ، الذين يُقدمون coreboot مع نظام BIOS القياسي الخاص بهم أو يُوفرون مواصفات واجهات الأجهزة لبعض لوحاتهم الأم. تُساهم جوجل جزئيًا في رعاية مشروع coreboot. [ 7 ] بدأت مجموعة CME ، وهي شركة مالية عامة، بدعم مشروع coreboot في عام 2009. [ 8 ]

باستثناء الطرازات الثلاثة الأولى، تعمل جميع أجهزة Chromebook بنظام coreboot. [ 9 ] تم دمج الكود من Das U-Boot لتمكين دعم المعالجات القائمة على مجموعة تعليمات ARM . [ 10 ]

في يونيو 2019، بدأ موقع coreboot باستخدام برنامج Ghidra التابع لوكالة الأمن القومي في جهوده للهندسة العكسية لحل المشكلات المتعلقة بالبرامج الثابتة بعد إصدار المجموعة كبرنامج مجاني ومفتوح المصدر . [ 11 ]

المنصات المدعومة

يدعم coreboot العديد من معمارية المعالجات المركزية، بما في ذلك IA-32 و x86-64 و ARM و ARM64 و MIPS و RISC-V . كما يشمل الدعم مجموعة متنوعة من منصات النظام على شريحة (SoC)؛ حيث ركز التطوير الأولي على معالجات AMD Geode (وخاصةً تلك المستخدمة في مشروع OLPC ). أضافت مجموعة Artec دعم Geode LX لطراز ThinCan الخاص بها DBE61؛ وقد اعتمدت AMD هذا الكود وحسّنته لاحقًا لمشروع OLPC بعد ترقيته إلى منصة Geode LX، ويواصل مجتمع coreboot تطويره لدعم إصدارات Geode الأخرى. يمكن تثبيت coreboot على منصة Geode باستخدام Flashrom .

انطلاقًا من التطوير الأولي على منصات AMD Geode، تم توسيع دعم coreboot ليشمل العديد من معالجات AMD وشرائحها. تتضمن قائمة المعالجات عائلة 0Fh و10h ( بمعالج K8 )، ومؤخرًا عائلة 14h ( بمعالج Bobcat ووحدة معالجة Fusion APU ). كما يشمل دعم coreboot شرائح AMD التالية: RS690 و RS7xx و SB600 وSB8xx.

في عام 2011، تم طرح بروتوكول AGESA (In AMD Generic Encapsulated Software Architecture ) ، وهو بروتوكولتمهيد يُستخدم لتهيئة أجهزة النظام على اللوحات الأم AMD64، كمصدرمفتوح ، بهدف توفير الوظائف اللازمة لتهيئة نظام coreboot على أجهزة AMD64. [ 12 ] ومع ذلك، لم تُعتمد هذه الإصدارات كأساس للتطوير المستقبلي من قِبل AMD حتى عام 2014، وتوقف تطويرها لاحقًا. [ 13 ]

تشمل الأجهزة التي يمكن تحميلها مسبقًا بنظام التشغيل الأساسي (coreboot) أو أحد مشتقاته ما يلي:

لينوفو / آي بي إم
Libreboot T400 و X200 (تمت إعادة تسميتهما ThinkPad T400 و X200 على التوالي، متوفران من Minifree، المعروفة سابقًا باسم Gluglug). [ 14 ] [ 15 ]
مجموعة أرتيك
طرازات ThinCan DBE61 و DBE62 و DBE63، وأجهزة الخادم/الموجه بدون مروحة المصنعة من قبل PC Engines . [ 16 ]
النقاء
تأتي أجهزة الكمبيوتر المحمولة من نوع Librem مزودة بنظام coreboot. [ 17 ] [ 18 ]
آحرون
تستخدم بعض أجهزة الكمبيوتر من نوع System76 البرامج الثابتة coreboot TianoCore، بما في ذلك البرامج الثابتة لوحدة التحكم المدمجة مفتوحة المصدر .
يُقدّم برنامج Dasharo توزيعة برامج ثابتة بديلة تعتمد على coreboot لأجهزة الكمبيوتر من شركات MSI و NovaCustom و Nitrokey ، وغيرها. [ 19 ] [ 20 ] [ 21 ]
تستخدم أنظمة StarLabs البرامج الثابتة coreboot كبديل. [ 22 ]
اعتمدت بعض سيارات تسلا موديل 3 معالج Ryzen Embedded أو Intel Atom في كمبيوتر السيارة، واعتمدت coreboot كبرنامج تحميل الإقلاع.

تصميم

يقوم Coreboot عادةً بتحميل نواة لينكس ، ولكنه قادر على تحميل أي ملف تنفيذي مستقل آخر بصيغة ELF ، مثل iPXE أو gPXE أو Etherboot التي تُتيح تشغيل نواة لينكس عبر الشبكة ، أو SeaBIOS [ 23 ] الذي يُتيح تحميل نواة لينكس، وويندوز 2000 والإصدارات الأحدث، وأنظمة BSD؛ وقد كان دعم ويندوز 2000/ XP و OpenBSD مُقدماً سابقاً من ADLO. [ 24 ] [ 25 ] كما يُمكن لـ Coreboot تحميل النواة من أي جهاز مدعوم، مثل Myrinet أو Quadrics أو وصلات SCI للمجموعات الحاسوبية . يُمكن أيضاً تشغيل أنوية أخرى مباشرةً، مثل نواة Plan 9. بدلاً من تحميل النواة مباشرةً، يُمكن لـ Coreboot تمرير التحكم إلى مُحمّل إقلاع مُخصص، مثل إصدار GNU GRUB 2 المُتوافق مع Coreboot.

يُنفَّذ Coreboot بشكل أساسي بلغة C ، مع جزء صغير من كود التجميع . يُسهِّل اختيار C كلغة برمجة رئيسية عمليات تدقيق الكود مقارنةً بأنظمة BIOS لأجهزة الكمبيوتر الشخصية المعاصرة التي كانت تُكتب عمومًا بلغة التجميع، [ 26 ] مما يُحسِّن الأمان. يتوفر دعمٌ أثناء البناء والتشغيل لكتابة أجزاء من Coreboot بلغة Ada [ 27 ] لتعزيز مستوى الأمان، ولكنه يُستخدم حاليًا بشكل متقطع. يُنشر الكود المصدري بموجب رخصة GNU GPL الإصدار 2 .

يُجري Coreboot الحد الأدنى من تهيئة الأجهزة، ثم يُسلّم التحكم إلى نظام التشغيل . ونتيجةً لذلك، لا يتم تشغيل أي كود Coreboot بمجرد أن يتولى نظام التشغيل زمام الأمور. ومن خصائص Coreboot أن إصدار x86 يعمل في وضع 32 بت بعد تنفيذ عشر تعليمات فقط [ 28 ] (بينما تعمل جميع أنظمة BIOS الأخرى x86 تقريبًا في وضع 16 بت فقط ). وهذا يُشبه برنامج UEFI الثابت الحديث ، المُستخدم في أجهزة الكمبيوتر الشخصية الحديثة.

تهيئة ذاكرة الوصول العشوائي الديناميكية (DRAM)

أصعب مكونات الجهاز التي يقوم Coreboot بتهيئتها هي وحدات تحكم DRAM وذاكرة DRAM نفسها . في بعض الحالات، تكون الوثائق التقنية المتعلقة بهذا الموضوع خاضعة لاتفاقيات عدم الإفصاح أو غير متاحة. تُعد تهيئة ذاكرة RAM صعبة بشكل خاص لأنه لا يمكن استخدامها قبل تهيئتها. لذلك، لتهيئة وحدات تحكم DRAM وذاكرة DRAM، قد يقتصر رمز التهيئة على استخدام سجلات الأغراض العامة لوحدة المعالجة المركزية أو ذاكرة التخزين المؤقت كذاكرة RAM للتخزين المؤقت.

يُسهّل مُترجم لغة C المسمى romcc، والذي يستخدم المسجلات بدلاً من ذاكرة الوصول العشوائي (RAM)، هذه المهمة. فباستخدام romcc، يُصبح من السهل نسبيًا الوصول إلى ذاكرة القراءة فقط (ROM) من نوع SPD في وحدات DRAM DIMM عبر ناقل SMBus ، مما يسمح باستخدام ذاكرة الوصول العشوائي.

في معالجات x86 الأحدث، يمكن استخدام ذاكرة التخزين المؤقت للمعالج كذاكرة وصول عشوائي (RAM) حتى تتم تهيئة ذاكرة الوصول العشوائي الديناميكية (DRAM). يجب تهيئة ذاكرة التخزين المؤقت للمعالج في وضع "ذاكرة التخزين المؤقت كذاكرة وصول عشوائي" [ 29 ] [ 30 ] أيضًا، ولكن هذا يتطلب تعليمات أقل من تهيئة ذاكرة الوصول العشوائي الديناميكية. كما أن تهيئة وضع "ذاكرة التخزين المؤقت كذاكرة وصول عشوائي" خاصة ببنية وحدة المعالجة المركزية، وبالتالي فهي أكثر عمومية من تهيئة ذاكرة الوصول العشوائي الديناميكية، التي تختلف باختلاف مجموعة الشرائح واللوحة الأم.

في معظم منصات x86 الحديثة، تُستخدم مكونات ثنائية المصدر مغلقة المصدر، مُقدمة من المُصنِّع، لإعداد ذاكرة الوصول العشوائي الديناميكية (DRAM). بالنسبة لأنظمة إنتل، يُشترط استخدام FSP-M، بينما لا تدعمه AMD حاليًا. يُستخدم AGESA الثنائي حاليًا لبرامج UEFI الثابتة الاحتكارية على أنظمة AMD، ومن المتوقع أن يستمر هذا النموذج في أي دعم مستقبلي لـ coreboot خاص بـ AMD. [ 31 ]

تطوير وتصحيح أخطاء نظام التشغيل الأساسي

اختراق coreboot في قمة دنفر 2008.

يستخدم المطورون مجموعة متنوعة من أدوات تصحيح الأخطاء البرمجية والمادية عند العمل على coreboot. تشمل هذه الأدوات محاكيات الدوائر ، ومجسات JTAG (مثل Sage SmartProbe)، ومحاكيات BIOS/البرامج الثابتة. يمكن اختبار الكود على المحاكيات أو تنزيله إلى الجهاز المستهدف بدلاً من تثبيته مباشرةً على جهاز BIOS. [ 32 ] [ 33 ] مثال على ذلك. يمكن بناء الكود على محاكيات BIOS أو تنزيله إليها بدلاً من تثبيته على جهاز BIOS.

الحمولات

حمولة SeaBIOS تعمل على جهاز Lenovo ThinkPad X60

يقوم برنامج coreboot بتحميل البيانات بعد تهيئة الجهاز. يمكن كتابة هذه البيانات باستخدام مكتبة libpayload المساعدة أو أن تكون مشاريع مستقلة. من أبرز البيانات ما يلي:

المؤتمر الأوروبي لإعادة بناء الأنظمة

ومن بين الاجتماعات المادية مؤتمر Coreboot الأوروبي الذي تم تنظيمه في أكتوبر 2017 واستمر لمدة ثلاثة أيام.

تاريخ المؤتمر

الحدث والسنةتاريخالمدينة المضيفةمكانمواردالمواضيع
مؤتمر ECC201726.10 – 29.10بوخوم ، ألمانيامركز مؤتمرات جامعة روبhttps://web.archive.org/web/20250218051639/https://ecc2017.com/

المتغيرات

يحتوي coreboot على عدد من المتغيرات من قاعدة التعليمات البرمجية الأصلية، ولكل منها أهداف مختلفة قليلاً:

  • Libreboot - نسخة معدلة تركز بشكل أساسي على إزالة بعض [ 36 ] من الملفات الثنائية.
  • osboot - نسخة مشابهة لـ Libreboot تخلت عن سياسة دعم بعض الملفات الثنائية فقط لزيادة دعم الأجهزة وتحسين الاستقرار. [ 37 ] تم دمجها مع Libreboot اعتبارًا من نوفمبر 2022. [ 38 ]
  • قام السيد كروم بوكس ​​بتطوير نسخة معدلة من برنامج coreboot للأجهزة التي تعمل بنظام التشغيل ChromeOS. [ 39 ]
  • GNU Boot - نسخة معدلة تركز بشكل أساسي على إزالة جميع الملفات الثنائية الاحتكارية. [ 40 ]
  • كانوبوت - نسخة معدلة من ليبربوت ذات سياسة أكثر صرامة، تهدف مرة أخرى إلى إزالة جميع الملفات الثنائية الاحتكارية. [ 41 ]
  • داشارو - توزيعة مبنية على كوربوت، طورتها شركة 3mdeb، تهدف إلى تبسيط عملية شحن كوربوت على المنتجات من قبل المصنّعين. [ 42 ] تهدف هذه التوزيعة إلى تسهيل عملية شحن المنتجات المزودة بكوربوت للمصنّعين. [ 43 ] [ 44 ]
  • الجماجم - نسخة معدلة تهدف إلى تسهيل عملية التركيب. [ 45 ]
  • الرؤوس - نسخة معدلة تهدف إلى الأمن المادي واستخدام البرمجيات الحرة، ويوصى باستخدامها مع نظام التشغيل QubesOS . [ 46 ] [ 47 ]
  • oreboot - نسخة معدلة مكتوبة بلغة Rust [ 48 ]

انظر أيضاً

مراجع

  1. مارتن روث (25 يونيو 2026). "الإعلان عن إصدار coreboot 26.06" . تم الاطلاع عليه بتاريخ 25 يونيو 2026 .
  2. "الإصدارات" . coreboot . nd
  3. "ARM" . coreboot. 15 أكتوبر 2013. تم الاطلاع عليه في 1 فبراير 2014 .
  4. "رخصة coreboot" . github.com . 1991. تم الاطلاع عليه بتاريخ 13 أكتوبر 2018 .
  5. رون مينيتش (12 يناير 2008). " [ LinuxBIOS ] مرحبًا بكم في coreboot" . LinuxBIOS (قائمة بريدية). مؤرشف من الأصل في 1 يونيو 2013. تم الاطلاع عليه في 12 يناير 2008 .
  6. أنطون بوريسوف (2009). "نظام BIOS مفتوح المصدر يبلغ عشر سنوات. مقابلة مع مطوري coreboot" . The H. مؤرشف من الأصل في 16 سبتمبر 2012.'
  7. "جوجل ترعى مشروع LinuxBIOS" . مؤرشف من الأصل في 6 فبراير 2012. تم الاطلاع عليه في 29 سبتمبر 2023 .{{cite web}}: CS1 maint: bot: حالة عنوان URL الأصلي غير معروفة ( رابط )
  8. "مجموعة سي إم إي تستثمر في كوربوت ومشاريع لينكس مفتوحة المصدر الأخرى" . وول ستريت والتكنولوجيا . مؤرشف من الأصل في 12 أغسطس 2010. تم الاطلاع عليه في 23 سبتمبر 2015 .
  9. "أجهزة Chromebook" . coreboot. 16 يناير 2014. مؤرشف من الأصل في 8 مايو 2016. تم الاسترجاع في 17 فبراير 2014 .
  10. "GSoC2011 (الأسبوع 1): تحليل كود إقلاع U-boot ARM | مدونات مطوري coreboot" . 5 يونيو 2011. تم الاطلاع عليه بتاريخ 12 أبريل 2014 .
  11. ^ "Coreboot nutzt NSA-Tool zum الهندسة العكسية" . Golem.de . تم الاسترجاع في 4 مايو 2023 .
  12. "التفاصيل التقنية حول إصدار شفرة المصدر لبرنامج coreboot من AMD" . AMD . 28 فبراير 2011. مؤرشف من الأصل في 25 مارس 2014. تم الاطلاع عليه في 1 فبراير 2016 .
  13. غريفيث، بروس (5 نوفمبر 2014). "مكتبات AGESA الثنائية فقط من AMD" . تم الاسترجاع في 8 مايو 2017 .
  14. "ميني فري" . وزارة الحرية - المنتجات . مؤرشف من الأصل بتاريخ 25 سبتمبر 2015. تم الاطلاع عليه بتاريخ 24 سبتمبر 2015 .
  15. "ذا غلوغلوغ" . fsf.org . مؤرشف من الأصل بتاريخ 23 سبتمبر 2015. تم الاطلاع عليه بتاريخ 23 سبتمبر 2015 .
  16. "pcengines/coreboot" . GitHub . تم الاطلاع عليه بتاريخ 16 سبتمبر 2019 .
  17. "برنامج coreboot الثابت على أجهزة Purism Librem" . تم الاطلاع عليه بتاريخ 19 يونيو 2020 .
  18. "أجهزة الكمبيوتر المحمولة من Purism ستستخدم برنامج 'Heads' الثابت للحماية من برامج التجسس الخبيثة والتلاعب (مُحدَّث)" . 27 فبراير 2018. تم الاطلاع عليه في 19 يونيو 2020 .
  19. "تحديث برنامج Dasharo v1.1 الجديد للوحة الأم MSI Z690 - Phoronix" . 22 نوفمبر 2022. تم الاطلاع عليه بتاريخ 27 أكتوبر 2023 .
  20. "تحديث البرنامج الثابت لـ NovaCustom-Dasharo أكتوبر-2023 (ADL v1.7.0 وTGL v1.5.0) - NovaCustom" . 19 سبتمبر 2023 . تم الاسترجاع 27 أكتوبر 2023 .
  21. «جهاز NitroPC Pro حاصل على شهادة Qubes! - Nitrokey» . 24 سبتمبر 2023. تم الاطلاع عليه بتاريخ 27 أكتوبر 2023 .
  22. مراجعة جهاز Starbook mk v - fossbytes
  23. SeaBIOS (المعروف سابقًا باسم LegacyBIOS) هو تطبيق BIOS قديم مفتوح المصدر
  24. "طبقة الإضافة الأساسية (ADLO)" . مؤرشفة من الأصل في 25 نوفمبر 2010.
  25. "SEBOS، برنامج إقلاع مُحسَّن أمنيًا لأنظمة التشغيل، المرحلة 2" . مؤرشف من الأصل في 19 يونيو 2007.- إضافة خدمات BIOS للكمبيوتر الشخصي إلى coreboot عبر Bochs BIOS
  26. "مقارنة بين UEFI و BIOS القديم" .معلناً عن نفس الميزة لـ UEFI
  27. "التزام" .وأضاف ذلك الدعم
  28. "كود بدء التشغيل المبكر لـ coreboot v3" . تم الاطلاع عليه بتاريخ 17 أغسطس 2008 .{{cite web}}: CS1 maint: deprecated archiveal service ( link )
  29. يينغهاي لو؛ لي-تا لو؛ غريغوري ر. واتسون؛ رونالد ج. مينيتش (15 يناير 2009). "CAR: استخدام ذاكرة التخزين المؤقت كذاكرة وصول عشوائي في نظام الإدخال والإخراج الأساسي لنظام لينكس" (ملف PDF) . qmqm.pl. مؤرشف من النسخة الأصلية (ملف PDF) في 3 مارس 2016. تم الاطلاع عليه في 25 فبراير 2014 .
  30. "إطار عمل لاستخدام ذاكرة التخزين المؤقت للمعالج كذاكرة وصول عشوائي (CAR)" (PDF) .
  31. غريفيث، بروس (5 نوفمبر 2014). " مكتبات AGESA الثنائية فقط من AMD [ coreboot ] " . تم الاطلاع عليه بتاريخ 8 سبتمبر 2019 .
  32. "Sage Electronic Engineering - SmartProbe JTAG debugger, Sage EDK, coreboot and Embedded Systems and Software Engineering" . www.se-eng.com . مؤرشف من الأصل بتاريخ 15 مارس 2011.
  33. ^ "الأسئلة الشائعة حول Sage SmartProbe" . إس داتسكوفسكي . تم الاسترجاع في 30 أبريل 2021 .
  34. "Depthcharge: The ChromeOS bootloader" . docs.google.com . تم الاطلاع عليه بتاريخ 26 أكتوبر 2015 .
  35. "تعديل كود u-boot للسماح ببناء حمولة coreboot. [ chromiumos/third_party/u-boot-next : chromeos-v2011.03 ] " . 24 يوليو 2011. 
  36. "سياسة تقليل حجم البيانات الثنائية" . 1 نوفمبر 2023. مؤرشف من الأصل في 1 نوفمبر 2023. تم الاطلاع عليه في 1 نوفمبر 2023 .
  37. "مشروع osboot" . 15 مارس 2021. مؤرشف من الأصل في 15 مارس 2021. تم الاطلاع عليه في 26 مايو 2023 .
  38. "Libreboot – Osboot أصبح الآن جزءًا من Libreboot" . ١٩ ديسمبر ٢٠٢٢. مؤرشف من الأصل في ١٩ ديسمبر ٢٠٢٢. تم الاطلاع عليه في ٢٦ مايو ٢٠٢٣ .
  39. "كيفية تثبيت ChromeOS Flex على جهاز Chromebook" . Android Police . 17 أبريل 2022. تم الاطلاع عليه بتاريخ 30 مايو 2023 .
  40. "ملخص إقلاع جنو" . 30 أكتوبر 2023. مؤرشف من الأصل في 30 أكتوبر 2023. تم الاطلاع عليه في 30 أكتوبر 2023 .
  41. "مشروع الزورق" . 16 نوفمبر 2023. مؤرشف من الأصل في 16 نوفمبر 2023. تم الاطلاع عليه في 16 نوفمبر 2023 .
  42. "3mdeb Sp. z oo — استشارات تطوير البرامج الثابتة المدمجة" . 29 يناير 2024. مؤرشف من الأصل في 16 فبراير 2024. تم الاطلاع عليه في 16 فبراير 2024 .
  43. "Dasharo • GitHub" . 22 أكتوبر 2023. مؤرشف من الأصل في 16 فبراير 2024. تم الاطلاع عليه في 16 فبراير 2024 .
  44. "حول داشارو - عالم داشارو" . 9 فبراير 2024. مؤرشف من الأصل في 16 فبراير 2024. تم الاطلاع عليه في 16 فبراير 2024 .
  45. كيبلينجر-نوفاكوفيتش، مارتن (28 مايو 2024)، دمج/جماجم ، تم الاسترجاع في 29 مايو 2024
  46. "حول الرؤوس" . الرؤوس . تم الاسترجاع في 29 مايو 2024 .
  47. linuxboot/heads ، لينكس بوت، 28 مايو 2024 ، تم الاطلاع عليه في 29 مايو 2024
  48. oreboot/oreboot ، oreboot، 27 مارس 2025 ، تم الاطلاع عليه في 31 مارس 2025

للمزيد من القراءة