Voltar às atualizações
New releaseSep 4, 2026

tamago v1.27.1

Framework para compilar e executar aplicações Go em processadores bare metal, permitindo o desenvolvimento seguro de firmware com superfície de ataque reduzida através da remoção de dependências de SO e C.

Compartilhar

TamaGo - Go bare metal

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

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

TamaGo gopher

Introdução

TamaGo é um framework que permite a compilação e execução de aplicações Go sem dependências em processadores bare metal.

Os projetos surgem do desejo de reduzir a superfície de ataque do firmware de sistemas embarcados, removendo qualquer dependência de runtime em código C e Sistemas Operacionais.

O framework TamaGo é composto pelos seguintes componentes:

  • Uma distribuição Go modificada que estende o suporte a GOOS para o alvo tamago, permitindo execução bare metal através de um overlay runtime/goos definido por GOOSPKG.

  • Pacotes Go para suporte a processador/SoC.

  • Pacotes Go para suporte a placas.

As modificações são mínimas em relação ao compilador Go original, runtime e a aplicação alvo (um import necessário), com uma separação limpa de outras arquiteturas.

É dada forte ênfase à reutilização de código de arquiteturas existentes já incluídas no runtime padrão do Go, consulte Internals.

As modificações mantêm suporte completo à biblioteca padrão.

Tais aspetos são motivados pelo desejo de fornecer um framework que permita o desenvolvimento seguro de firmware Go em sistemas embarcados.

Versões atuais

Os links seguintes são as versões mais recentes para a distribuição Go modificada do TamaGo, que adiciona suporte a GOOS=tamago à versão Go correspondente, e biblioteca TamaGo:

GitHub release Build Status
GitHub release

Documentação

Go Reference

A documentação principal pode ser encontrada na wiki do projeto.

A documentação da API dos pacotes pode ser encontrada em pkg.go.dev.

Alvos AMD64 suportados

A tabela seguinte resume os alvos x86-64 atualmente suportados (GOOS=tamago GOARCH=amd64).

CPUPlataformaPacote CPUPacote Plataforma
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

Alvos ARM suportados

A tabela seguinte resume os SoCs e placas ARM atualmente suportados (GOOS=tamago GOARCH=arm).

Categorias