Zurück zu den Updates
New releaseSep 4, 2026

tamago v1.27.1

Framework zur Kompilierung und Ausführung von Go-Anwendungen auf Bare-Metal-Prozessoren, das eine sichere Firmware-Entwicklung mit reduzierter Angriffsfläche durch Entfernung von Betriebssystem- und C-Abhängigkeiten ermöglicht.

Teilen

TamaGo - Bare-Metal-Go

tamago | https://github.com/usbarmory/tamago

Copyright (c) The TamaGo Authors. Alle Rechte vorbehalten.

TamaGo gopher

Einführung

TamaGo ist ein Framework, das die Kompilierung und Ausführung uneingeschränkter Go-Anwendungen auf Bare-Metal-Prozessoren ermöglicht.

Die Projekte entstehen aus dem Wunsch, die Angriffsfläche von Firmware eingebetteter Systeme zu reduzieren, indem jegliche Laufzeitabhängigkeit von C-Code und Betriebssystemen entfernt wird.

Das TamaGo-Framework besteht aus den folgenden Komponenten:

  • Eine modifizierte Go-Distribution, die die GOOS-Unterstützung auf das tamago-Ziel erweitert und so die Bare-Metal-Ausführung durch ein runtime/goos-Overlay ermöglicht, das durch GOOSPKG festgelegt wird.

  • Go-Pakete für Prozessor-/SoC-Unterstützung.

  • Go-Pakete für Board-Unterstützung.

Die Modifikationen sind minimal gegenüber dem ursprünglichen Go-Compiler, der Laufzeitumgebung und der Zielanwendung (ein Import erforderlich), mit einer sauberen Trennung von anderen Architekturen.

Großer Wert wird auf die Wiederverwendung von Code aus bestehenden Architekturen gelegt, die bereits in der Standard-Go-Laufzeitumgebung enthalten sind, siehe Interna.

Die Modifikationen erhalten die vollständige Unterstützung der Standardbibliothek.

Solche Aspekte sind motiviert durch den Wunsch, ein Framework bereitzustellen, das eine sichere Go-Firmware-Entwicklung auf eingebetteten Systemen ermöglicht.

Aktuelle Releases

Die folgenden Links sind die neuesten Releases für die TamaGo-modifizierte Go-Distribution, die GOOS=tamago-Unterstützung für die entsprechende Go-Version hinzufügt, und die TamaGo-Bibliothek:

GitHub release Build Status
GitHub release

Dokumentation

Go Reference

Die Hauptdokumentation befindet sich im Projekt-Wiki.

Die Paket-API-Dokumentation befindet sich auf pkg.go.dev.

Unterstützte AMD64-Ziele

Die folgende Tabelle fasst die derzeit unterstützten x86-64-Ziele zusammen (GOOS=tamago GOARCH=amd64).

CPUPlattformCPU-PaketPlattform-Paket
AMD/Intel 64-bitCloud Hypervisoramd64cloud_hypervisor/vm
AMD/Intel 64-bitFirecracker microvmamd64firecracker/microvm
AMD/Intel 64-bitQEMU microvmamd64qemu/microvm
AMD/Intel 64-bitUEFIamd64uefi/x64
AMD/Intel 64-bitGoogle Compute Engineamd64google/gcp, uefi/x64

Unterstützte ARM-Ziele

Die folgende Tabelle fasst die derzeit unterstützten ARM-SoCs und -Boards zusammen (GOOS=tamago GOARCH=arm).

Kategorien