fwilhe2 / linux-knowledge-base

Collection of knowledge on all things linux 🐧
0 stars 0 forks source link

linux-knowledge-base

Collection of knowledge on all things linux 🐧

This repository is a collection of notes, links and code related to knowledge related to linux.

Shell Basics

eBPF

OSTree

Security

Capabilities

SELinux

Video: Security-Enhanced Linux for mere mortals

PDF: Security-Enhanced Linux for mere mortals

Cheat Sheet

Virtualization

Qemu / kvm

libvirt

Firecracker

Building Linux Systems

Linux from Scratch (lfs)

linuxfromscratch.org/lfs

Handbook for building a linux system from scratch by building all components from source.

Includes a 'sys-v init' and a 'systemd' version.

Buildroot

Linux image builder based on Buildroot: fwilhe2/buildroot-image-builder

Buildroot automatically creates root filesystems based on configuration. It is geared towards embedded systems and has multiple output formats. It can generate OCI images, qemu images and images for actual hardware platforms such as the raspi.

Slides by Jérémy Rosen: Buildroot - Using embedded tools to build container images

Makefiles

Builds toolchains from scratch, compiles kernel and userland from scratch

mkosi

github.com/systemd/mkosi

A fancy wrapper around dnf --installroot, apt, pacman and zypper that generates customized disk images with a number of bells and whistles.

Written in Python

Uses binary packages

Puts out new releases often, needs a very new systemd version that might not be available in mainstream linux distributions

Repo with vm definition to build mkosi images

debvm

salsa.debian.org/helmutg/debvm

Specific to debian

Based on mmdebstrap.

Creates disk image without bootloader, relies on qemu for that.

LinuxKit

github.com/linuxkit/linuxkit

A toolkit for building secure, portable and lean operating systems for containers

Written in Go

Uses yaml manifests

Based on Containers

Used for Docker Desktop

Wolfi

Introducing Wolfi: The first Linux (un)distro designed for securing the software supply chain

Wolfi OS github home

Built for container base images, does not seem to include a kernel a all.

Based on Alpine Linux tooling (apk package manager), but uses glibc instead of musl for larger compatibility.

Uses melange for building distro packages. Example file for building a package, including applying patches.

Containers

See containers-knowledge-base

References

How to quickly build a trimmed Linux kernel