Назад к обновлениям
New releaseSep 4, 2026

tamago v1.27.1

Фреймворк для компиляции и выполнения Go-приложений на голых металлических процессорах, обеспечивающий безопасную разработку прошивок с уменьшенной поверхностью атаки за счет удаления зависимостей от ОС и C.

Поделиться

TamaGo - Go на голом железе

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

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

TamaGo gopher

Введение

TamaGo — это фреймворк, позволяющий компилировать и запускать необременённые Go-приложения на процессорах без операционной системы.

Проект возник из желания уменьшить поверхность атаки прошивок встраиваемых систем путём устранения любых зависимостей времени выполнения от кода на C и операционных систем.

Фреймворк TamaGo состоит из следующих компонентов:

  • Модифицированный дистрибутив Go, который расширяет поддержку GOOS до цели tamago, позволяя исполнение на голом железе через оверлей runtime/goos, устанавливаемый GOOSPKG.

  • Go-пакеты для поддержки процессоров/SoC.

  • Go-пакеты для поддержки плат.

Модификации минимальны по отношению к оригинальному компилятору Go, среде выполнения и целевому приложению (требуется один импорт), с чётким отделением от других архитектур.

Большое внимание уделяется повторному использованию кода из существующих архитектур, уже включённых в стандартную среду выполнения Go, см. Internals.

Модификации сохраняют полную поддержку стандартной библиотеки.

Такие аспекты мотивированы желанием предоставить фреймворк, позволяющий разрабатывать безопасные прошивки на Go для встраиваемых систем.

Текущие релизы

Следующие ссылки ведут на последние релизы модифицированного дистрибутива Go TamaGo, который добавляет поддержку GOOS=tamago к соответствующей версии Go, и библиотеки TamaGo:

GitHub release Build Status
GitHub release

Документация

Go Reference

Основная документация находится на вики проекта.

Документация по API пакетов доступна на pkg.go.dev.

Поддерживаемые цели AMD64

В следующей таблице перечислены текущие поддерживаемые цели x86-64 (GOOS=tamago GOARCH=amd64).

CPUПлатформаПакет CPUПакет платформы
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

В следующей таблице перечислены текущие поддерживаемые SoC и платы ARM (GOOS=tamago GOARCH=arm).

Категории