Skip to content

micgor32/linuxbootsmm-builder

Repository files navigation

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/micgor32/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

About

A simple script to build coreboot image with LinuxbootSMM

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published