
बेयर मेटल प्रोसेसरों पर Go अनुप्रयोगों को संकलित और निष्पादित करने के लिए फ्रेमवर्क, जो OS और C निर्भरता को हटाकर हमले की सतह को कम करके सुरक्षित फर्मवेयर विकास को सक्षम बनाता है।
tamago | https://github.com/usbarmory/tamago
कॉपीराइट (c) TamaGo लेखक। सर्वाधिकार सुरक्षित।
TamaGo एक फ्रेमवर्क है जो बिना किसी बाधा के Go अनुप्रयोगों को बेयर मेटल प्रोसेसर (AMD64, ARM, ARM64, RISCV64) पर संकलन और निष्पादन सक्षम बनाता है।
यह परियोजना एम्बेडेड सिस्टम फर्मवेयर के हमले की सतह को कम करने की इच्छा से उत्पन्न हुई है, जिसमें C कोड और ऑपरेटिंग सिस्टम पर किसी भी रनटाइम निर्भरता को हटा दिया जाता है।
TamaGo फ्रेमवर्क में निम्नलिखित घटक शामिल हैं:
एक संशोधित Go वितरण जो tamago लक्ष्य के लिए GOOS समर्थन का विस्तार करता है, जिसमें GOOSPKG द्वारा सेट किए गए runtime/goos ओवरले के माध्यम से बेयर मेटल निष्पादन की अनुमति मिलती है।
प्रोसेसर/SoC समर्थन के लिए Go पैकेज।
बोर्ड समर्थन के लिए Go पैकेज।
मूल Go कंपाइलर, रनटाइम और लक्ष्य अनुप्रयोग (एक आयात आवश्यक) के विरुद्ध संशोधन न्यूनतम हैं, जिसमें अन्य आर्किटेक्चर से स्वच्छ पृथक्करण है।
मजबूत जोर मानक Go रनटाइम में पहले से शामिल मौजूदा आर्किटेक्चर से कोड पुन: उपयोग पर रखा गया है, देखें इंटर्नल्स।
संशोधन पूर्ण मानक पुस्तकालय समर्थन बनाए रखते हैं।
ऐसे पहलू एम्बेडेड सिस्टम पर सुरक्षित Go फर्मवेयर विकास की अनुमति देने वाले फ्रेमवर्क प्रदान करने की इच्छा से प्रेरित हैं।
निम्नलिखित लिंक TamaGo संशोधित Go वितरण के नवीनतम रिलीज़ हैं, जो संबंधित Go संस्करण में GOOS=tamago समर्थन जोड़ता है, और TamaGo पुस्तकालय:
मुख्य प्रलेखन परियोजना विकी पर पाया जा सकता है।
पैकेज API प्रलेखन pkg.go.dev पर पाया जा सकता है।
निम्न तालिका वर्तमान में समर्थित x86-64 लक्ष्यों (GOOS=tamago GOARCH=amd64) का सारांश प्रस्तुत करती है।
| CPU | प्लेटफ़ॉर्म | CPU पैकेज | प्लेटफ़ॉर्म पैकेज |
|---|---|---|---|
| AMD/Intel 64-bit | क्लाउड हाइपरवाइज़र | amd64 | cloud_hypervisor/vm |
| AMD/Intel 64-bit | फ़ायरक्रैकर माइक्रोवीएम | amd64 | firecracker/microvm |
| AMD/Intel 64-bit | QEMU माइक्रोवीएम | amd64 | qemu/microvm |
| AMD/Intel 64-bit | UEFI | amd64 | uefi/x64 |
| AMD/Intel 64-bit | गूगल कंप्यूट इंजन | amd64 | google/gcp, uefi/x64 |
निम्न तालिका वर्तमान में समर्थित ARM SoCs और बोर्डों (GOOS=tamago GOARCH=arm) का सारांश प्रस्तुत करती है।