アップデート一覧に戻る
New releaseSep 4, 2026

tamago v1.27.1

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. Goアプリケーションをベアメタルプロセッサ上でコンパイルおよび実行するためのフレームワーク。OSとCの依存関係を取り除くことで攻撃対象領域を減らし、セキュアなファームウェア開発を可能にします。

共有

TamaGo - ベアメタル Go

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

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

TamaGo gopher

はじめに

TamaGo は、ベアメタルプロセッサ上で無改造の Go アプリケーションのコンパイルと実行を可能にするフレームワークです。

このプロジェクトは、C コードやオペレーティングシステムへの実行時依存を排除することで、組み込みシステムファームウェアの攻撃対象領域を削減したいという願いから生まれました。

TamaGo フレームワークは以下のコンポーネントで構成されています:

  • GOOS サポートを tamago ターゲットに拡張した修正版 Go ディストリビューション。これにより GOOSPKG によって設定される runtime/goos オーバーレイを通じたベアメタル実行が可能になります。

  • プロセッサ/SoC サポート用の Go パッケージ。

  • ボードサポート用の Go パッケージ。

変更は元の Go コンパイラ、ランタイム、およびターゲットアプリケーション(1 つのインポートが必要)に対して最小限であり、他のアーキテクチャから明確に分離されています。

標準 Go ランタイムに既に含まれている既存アーキテクチャからのコード再利用に重点が置かれています。詳細は内部構造を参照してください。

変更は完全な標準ライブラリサポートを維持しています。

このような側面は、組み込みシステム上で安全な Go ファームウェア開発を可能にするフレームワークを提供したいという願いから来ています。

現在のリリース

以下のリンクは、対応する Go バージョンに GOOS=tamago サポートを追加する TamaGo 修正版 Go ディストリビューションと、TamaGo ライブラリの最新リリースです:

GitHub release Build Status
GitHub release

ドキュメント

Go Reference

主要なドキュメントはプロジェクト wikiにあります。

パッケージ API ドキュメントは pkg.go.dev にあります。

サポートされている AMD64 ターゲット

以下の表は、現在サポートされている x86-64 ターゲット(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

サポートされている ARM ターゲット

以下の表は、現在サポートされている ARM SoC とボード(GOOS=tamago GOARCH=arm)をまとめたものです。

カテゴリ