
tamago v1.27.1
إطار لتجميع وتنفيذ تطبيقات Go على معالجات عارية (bare metal)، مما يتيح تطوير برامج ثابتة آمنة مع تقليل سطح الهجوم من خلال إزالة اعتماديات نظام التشغيل وC.
TamaGo - Go على العتاد المجرد
tamago | https://github.com/usbarmory/tamago
حقوق النشر (c) The TamaGo Authors. جميع الحقوق محفوظة.
مقدمة
TamaGo هو إطار عمل يتيح تجميع وتنفيذ تطبيقات Go غير المحمّلة على معالجات العتاد المجرد.
تنبع المشاريع من الرغبة في تقليل سطح الهجوم لبرامج الأنظمة المدمجة عبر إزالة أي اعتماد وقت التشغيل على كود C وأنظمة التشغيل.
يتكون إطار عمل TamaGo من المكونات التالية:
-
توزيعة Go معدّلة التي توسّع دعم
GOOSإلى هدفtamago، مما يسمح بتنفيذ العتاد المجرد من خلال runtime/goos طبقة تُضبط بواسطةGOOSPKG. -
حزم Go لدعم المعالج/SoC.
-
حزم Go لدعم اللوحة.
التعديلات طفيفة مقابل مترجم Go الأصلي، ووقت التشغيل، والتطبيق الهدف (استيراد واحد مطلوب)، مع فصل نظيف عن المعماريات الأخرى.
يُركّز بشدة على إعادة استخدام الكود من المعماريات الموجودة بالفعل ضمن وقت تشغيل Go القياسي، انظر Internals.
تحافظ التعديلات على دعم كامل للمكتبة القياسية.
هذه الجوانب مدفوعة بالرغبة في توفير إطار عمل يسمح بتطوير برامج Go آمنة على الأنظمة المدمجة.
الإصدارات الحالية
الروابط التالية هي أحدث الإصدارات لـ
توزيعة Go المعدّلة TamaGo،
التي تضيف دعم GOOS=tamago لإصدار Go المقابل، و
مكتبة TamaGo:
التوثيق
يمكن العثور على التوثيق الرئيسي على ويكي المشروع.
يمكن العثور على توثيق واجهة برمجة التطبيقات للحزم على pkg.go.dev.
أهداف AMD64 المدعومة
يلخص الجدول التالي أهداف x86-64 المدعومة حالياً
(GOOS=tamago GOARCH=amd64).
| CPU | Platform | CPU package | Platform package |
|---|---|---|---|
| AMD/Intel 64-bit | Cloud Hypervisor | amd64 | cloud_hypervisor/vm |
| AMD/Intel 64-bit | Firecracker microvm | amd64 | firecracker/microvm |
| AMD/Intel 64-bit | QEMU microvm | amd64 | qemu/microvm |
| AMD/Intel 64-bit | UEFI | amd64 | uefi/x64 |
| AMD/Intel 64-bit | Google Compute Engine | amd64 | google/gcp, uefi/x64 |
أهداف ARM المدعومة
يلخص الجدول التالي وحدات SoC واللوحات ARM المدعومة حالياً
(GOOS=tamago GOARCH=arm).