Volver a actualizaciones
Nuevo releaseSep 4, 2026

tamago v1.27.1

Framework para compilar y ejecutar aplicaciones Go en procesadores bare metal, que permite el desarrollo seguro de firmware con una superficie de ataque reducida al eliminar las dependencias del sistema operativo y de C.

Compartir

TamaGo - Go sobre metal desnudo

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

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

TamaGo gopher

Introducción

TamaGo es un framework que permite la compilación y ejecución de aplicaciones Go sin restricciones sobre procesadores de metal desnudo.

Los proyectos surgen del deseo de reducir la superficie de ataque del firmware de sistemas embebidos eliminando cualquier dependencia en tiempo de ejecución de código C y Sistemas Operativos.

El framework TamaGo consta de los siguientes componentes:

  • Una distribución de Go modificada que extiende el soporte de GOOS al objetivo tamago, permitiendo la ejecución en metal desnudo a través de una superposición de runtime/goos establecida por GOOSPKG.

  • Paquetes Go para soporte de procesador/SoC.

  • Paquetes Go para soporte de placas.

Las modificaciones son mínimas respecto al compilador Go original, el runtime y la aplicación objetivo (se requiere un import), con una separación limpia de otras arquitecturas.

Se pone un fuerte énfasis en la reutilización de código de arquitecturas existentes ya incluidas dentro del runtime estándar de Go, véase Internals.

Las modificaciones mantienen soporte completo de la biblioteca estándar.

Tales aspectos están motivados por el deseo de proporcionar un framework que permita el desarrollo seguro de firmware Go en sistemas embebidos.

Versiones actuales

Los siguientes enlaces son las últimas versiones para la distribución de Go modificada de TamaGo, que añade soporte GOOS=tamago a la versión de Go correspondiente, y la biblioteca TamaGo:

GitHub release Build Status
GitHub release

Documentación

Go Reference

La documentación principal se encuentra en la wiki del proyecto.

La documentación de la API de los paquetes se encuentra en pkg.go.dev.

Objetivos AMD64 soportados

La siguiente tabla resume los objetivos x86-64 soportados actualmente (GOOS=tamago GOARCH=amd64).

CPUPlataformaPaquete de CPUPaquete de 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

Objetivos ARM soportados

La siguiente tabla resume los SoCs y placas ARM soportados actualmente (GOOS=tamago GOARCH=arm).

Categorías