builder

command module
v0.0.0-...-3ada38a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 30, 2025 License: BSD-3-Clause Imports: 10 Imported by: 0

README

LinuxbootSMM Builder

Go Report Card GoDoc

A simple script to build coreboot image with LinuxBootSMM as a payload.

Based on corebootnerf.

Prerequisites

Please make sure you have Go >= 1.23, and your GOPATH is set up correctly. When installing dependencies, the script assumes that it is being run on either Arch Linux, Fedora or Debian/Ubuntu.

Usage

Install using go:

go install github.com/9elements/LinuxbootSMM/builder@latest

Check whether you have all dependencies mentioned here installed, or run:

linuxbootsmm-builder --depinstall

For the remaining usage options please see:

Usage of linuxbootsmm-builder:
      --b string         Target architecture for coreboot (default "32")
      --blobs string     Path to the custom site-local directory for coreboot (default "no")
      --build            Only build the image
      --config string    Path to config file for coreboot (default "default")
      --smp              Compile Linux with SMP support
      --depinstall       Install all dependencies
      --fetch            Fetch all the things we need
      --testing int      Compile LinuxBootSMM for integration tests scenarios

If no custom site-local is provided (i.e. no --blobs specified), the builder will create empty one in which the kernel image and initramfs are going to be placed after compilation. Please also note that when using default config, builder script assumes that it is being run under in /tmp! For more details about creating custom configs for different platforms, please refer to the wiki page.

Example usage - QEMU Q35

In order to build an example of coreboot+LinuxBootSMM, one can use QEMU emulator:

# Without SMP
cd /tmp
linuxbootsmm-builder --fetch --config q35
cd coreboot-git/
qemu-system-x86_64 -bios build/coreboot.rom -M q35 -serial stdio

# With SMP
cd /tmp
linuxbootsmm-builder --fetch --config q35-smp
cd coreboot-git/
qemu-system-x86_64 -bios build/coreboot.rom -M q35 -serial stdio -smp NUM_CPUS

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL