
tamago v1.26.6
إطار لتجميع وتنفيذ تطبيقات Go على معالجات عارية (bare metal)، مما يتيح تطوير برامج ثابتة آمنة مع تقليل سطح الهجوم من خلال إزالة اعتماديات نظام التشغيل وC.
TamaGo - bare metal Go
tamago | https://github.com/usbarmory/tamago
حقوق النشر (ج) مؤلفو TamaGo. جميع الحقوق محفوظة.
مقدمة
TamaGo هو إطار عمل يُمكّن من تجميع وتنفيذ تطبيقات Go غير المقيدة على معالجات العارية (AMD64, ARM, ARM64, RISCV64).
ينبثق المشروع من الرغبة في تقليل مساحة الهجوم للبرامج الثابتة للأنظمة المدمجة عن طريق إزالة أي اعتماد زمني على كود C وأنظمة التشغيل.
يتكون إطار عمل TamaGo من المكونات التالية:
-
توزيعة Go معدلة والتي تمدد دعم
GOOSإلى الهدفtamago، مما يسمح بالتنفيذ العاري من خلال طبقة تراكب runtime/goos يتم تعيينها بواسطةGOOSPKG. -
حزم Go لدعم المعالج/SoC.
-
حزم Go لدعم اللوحة.
التعديلات ضئيلة مقارنة بمترجم Go الأصلي ووقت التشغيل والتطبيق المستهدف (استيراد واحد مطلوب)، مع فصل نظيف عن البنى الأخرى.
يتم التركيز بشدة على إعادة استخدام الكود من البنى الموجودة بالفعل في وقت تشغيل Go القياسي، انظر الداخلية.
تحافظ التعديلات على دعم كامل للمكتبة القياسية.
هذه الجوانب مدفوعة بالرغبة في توفير إطار عمل يسمح بتطوير برامج Go آمنة على الأنظمة المدمجة.
الإصدارات الحالية
الروابط التالية هي أحدث إصدارات
توزيعة Go المعدلة لـ TamaGo،
والتي تضيف دعم GOOS=tamago لإصدار Go المقابل، و
مكتبة TamaGo:
التوثيق
يمكن العثور على التوثيق الرئيسي على مشروع ويكي.
يمكن العثور على توثيق واجهة برمجة التطبيقات (API) على 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).