Back to updates
New releaseAug 15, 2026

tamago v1.26.6

Framework for compiling and executing Go applications on bare metal processors, enabling secure firmware development with reduced attack surface through OS and C dependency removal.

Share

TamaGo - bare metal Go

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

Copyright (c) The TamaGo Authors. All Rights Reserved.

TamaGo gopher

Introduction

TamaGo is a framework that enables compilation and execution of unencumbered Go applications on bare metal processors (AMD64, ARM, ARM64, RISCV64).

The projects spawns from the desire of reducing the attack surface of embedded systems firmware by removing any runtime dependency on C code and Operating Systems.

The TamaGo framework consists of the following components:

  • A modified Go distribution which extends GOOS support to the tamago target, allowing bare metal execution through a runtime/goos overlay set by GOOSPKG.

  • Go packages for processor/SoC support.

  • Go packages for board support.

The modifications are minimal against the original Go compiler, runtime and the target application (one import required), with a clean separation from other architectures.

Strong emphasis is placed on code re-use from existing architectures already included within the standard Go runtime, see Internals.

The modifications maintain complete standard library support.

Such aspects are motivated by the desire of providing a framework that allows secure Go firmware development on embedded systems.

Current releases

The following links are the latest releases for the TamaGo modified Go distribution, which adds GOOS=tamago support to the corresponding Go version, and TamaGo library:

GitHub release Build Status
GitHub release

Documentation

Go Reference

The main documentation can be found on the project wiki.

The package API documentation can be found on pkg.go.dev.

Supported AMD64 targets

The following table summarizes currently supported x86-64 targets (GOOS=tamago GOARCH=amd64).

CPUPlatformCPU packagePlatform package
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

Supported ARM targets

The following table summarizes currently supported ARM SoCs and boards (GOOS=tamago GOARCH=arm).

Categories