All Projects → anatol → Booster

anatol / Booster

Licence: mit
Fast and secure initramfs generator

Programming Languages

go
31211 projects - #10 most used programming language

Labels

Projects that are alternatives of or similar to Booster

Pmbootstrap
Repository has been moved! https://postmarketos.org/move.html#/pmbootstrap 🚚 🚚 🚚
Stars: ✭ 1,010 (+793.81%)
Mutual labels:  boot
Boot Http
A simple HTTP serve task for the Boot build tool
Stars: ✭ 60 (-46.9%)
Mutual labels:  boot
Hex Arch Kotlin Spring Boot
Reference JVM multi module project for a reactive micro service and lambda using a hexagonal architecture, DDD, Kotlin, Spring Boot, Quarkus, Lambda, Gradle.
Stars: ✭ 83 (-26.55%)
Mutual labels:  boot
Debootstick
Generate a bootable live image from any Debian/Ubuntu filesystem tree.
Stars: ✭ 48 (-57.52%)
Mutual labels:  boot
Bootstrap
Tools to bootstrap micro computers
Stars: ✭ 55 (-51.33%)
Mutual labels:  boot
Docker Pxe
A virtualized implementation of PXE supported by DNSMasq
Stars: ✭ 72 (-36.28%)
Mutual labels:  boot
Mac Linux Usb Loader
Boot Linux on your Mac, easily
Stars: ✭ 854 (+655.75%)
Mutual labels:  boot
Confetti
🎉 A tool to help creating and deploying static sites with AWS
Stars: ✭ 96 (-15.04%)
Mutual labels:  boot
Spring Cloud Stream Demo
Simple Event Driven Microservices with Spring Cloud Stream
Stars: ✭ 58 (-48.67%)
Mutual labels:  boot
Mortar
Framework to join Linux's physical security bricks.
Stars: ✭ 80 (-29.2%)
Mutual labels:  boot
Multibootusb
Create multiboot live Linux on a USB disk...
Stars: ✭ 1,042 (+822.12%)
Mutual labels:  boot
Boot Cljs Test
Boot task to run ClojureScript tests.
Stars: ✭ 53 (-53.1%)
Mutual labels:  boot
Boot Cljs Repl
Boot task providing a REPL for ClojureScript development.
Stars: ✭ 74 (-34.51%)
Mutual labels:  boot
Secure Boot
UEFI SecureBoot for ArchLinux
Stars: ✭ 48 (-57.52%)
Mutual labels:  boot
Zfs Installer
Shell script program that prepares ZFS on a system, and installs Linux
Stars: ✭ 88 (-22.12%)
Mutual labels:  boot
Spring Boot
spring-boot 项目实践总结
Stars: ✭ 989 (+775.22%)
Mutual labels:  boot
Geolocator
Location tracking & geofencing the easy way. Supports background, killed app, rebooted device different update intervals.
Stars: ✭ 60 (-46.9%)
Mutual labels:  boot
Overlayroot
mounts an overlay file system over root
Stars: ✭ 104 (-7.96%)
Mutual labels:  boot
Kindd
A kindful dd, written in qt-quick.
Stars: ✭ 93 (-17.7%)
Mutual labels:  boot
Supergrub
Super Grub2 Disk
Stars: ✭ 79 (-30.09%)
Mutual labels:  boot

Booster - fast and secure initramfs generator

Booster initramfs generator

Initramfs is a specially crafted small root filesystem that mounted at the early stages of Linux OS boot process. This initramfs among other things is responsible for unlocking encrypted partitions and mounting it as a root filesystem.

Booster is a tool to create such early boot images. Booster is made with speed and full disk encryption use-case in mind.

Booster advantages:

  • Fast image build time and fast boot time.
  • Out-of-box support for full disk encryption setup.
  • Clevis style data binding. The encrypted filesystem can be bound to TPM2 chip or to a network service. This helps to unlock the drive automatically but only if the TPM2/network service presents.
  • Easy to configure.
  • Automatic host configuration discovery. This helps to create minimalistic images specific for the current host.

There are other initramfs generators similar to booster: mkinitcpio and dracut.

Install

Arch Linux

Install booster package from the official repository.

At the installation time this package will create a number of booster images in your /boot/ directory:

$ ls -lh /boot/booster-*.img
-rwxr-xr-x 1 root root 3.9M Dec 10 20:51 /boot/booster-linux.img

Or optionally the image can be generated manually as booster -o mybooster.img. Note that by default booster generates host specific images with minimum binaries needed for the current host. Providing -universal flag to booster tool will add more modules and tools and the result image will be bigger.

Once the image is generated it is time to configure the bootloader.

Usage

For usage instructions please see booster manpage using man booster or the same document available online.

Build

The project consists of 3 components:

  • init binary that runs as a part of your machine boot process. It is going to be the very first user process run at your machine.
  • generator tool that creates ramfs image with all components needed to boot the computer
  • integration_tests tests that involve all components and use QEMU to boot from a generated image

These components use standard Golang tooling. To build any part do go build, to run tests do go test.

Run tests

cd {init,generator,integration_tests}
go test -v

Credits

Work on this project has been started as a part of Twitter's hack week. Huge thanks to my employer for its support of open-source development. Special thanks to Ian Brown.

Booster architecture has been inspired by Michael Stapelberg's project called distri. Initial version of booster borrowed a lot of ideas from the distri's initramfs generator.

Licence

See license

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].