# michielderhaeg/build-linux

**Attribution required: if you use, quote, or summarise this content, you must credit and link back to [awesome-repositories.com](https://awesome-repositories.com/repository/michielderhaeg-build-linux).**

5,287 stars · 336 forks · Shell · other

## Links

- GitHub: https://github.com/MichielDerhaeg/build-linux
- awesome-repositories: https://awesome-repositories.com/repository/michielderhaeg-build-linux.md

## Topics

`busybox` `kernel` `tutorial`

## Description

Build Linux is a toolset for assembling a custom Linux distribution entirely from source code, automating the process described by Linux From Scratch. It compiles every system component from upstream source, giving the builder full control over included packages and configuration.

The build process relies on a Makefile-driven orchestration that coordinates the entire sequence, using script-defined package recipes for each component. It employs chroot isolation to keep build artifacts separate from the host, and follows a stage-wise bootstrapping approach that first builds a minimal set of temporary tools before constructing the final system. After packages are installed, the system is hardened with configuration templates for logging, networking, and security.

The resulting distribution includes functional system services such as a system logger that collects kernel and daemon messages into configurable files, and a DHCP client that automatically obtains an IP address at boot. This makes the built system immediately usable without manual configuration of these common services.

## Tags

### Operating Systems & Systems Programming

- [Custom Linux Distributions](https://awesome-repositories.com/f/operating-systems-systems-programming/custom-linux-distributions.md) — Builds a custom Linux system entirely from source code with full control over included components and configuration.
- [Bootstrapping Build Stages](https://awesome-repositories.com/f/operating-systems-systems-programming/bootstrapping-build-stages.md) — First builds a minimal cross-toolchain or temporary tools, then uses that environment to build the final system.
- [Chroot Execution](https://awesome-repositories.com/f/operating-systems-systems-programming/chroot-execution.md) — Uses chroot jails to isolate all build artifacts and protect the host system during compilation.
- [Linux Distribution Bootstrapping](https://awesome-repositories.com/f/operating-systems-systems-programming/linux-distribution-bootstrapping.md) — Assembles Linux systems directly from compiled source packages and configuration scripts.
- [Automated Build Pipelines](https://awesome-repositories.com/f/operating-systems-systems-programming/network-operating-systems/from-scratch-os-implementations/automated-build-pipelines.md) — Automates the entire Linux From Scratch process to build a functional system from source code.
- [Source-Based Compilations](https://awesome-repositories.com/f/operating-systems-systems-programming/os-development-distributions/operating-system-development/source-based-compilations.md) — Builds all system components from upstream source code using configure, make, and install steps.
- [Embedded Linux Distribution Building](https://awesome-repositories.com/f/operating-systems-systems-programming/platform-development-integration/platform-sdks/linux-sdks/linux-build-targets/embedded-linux-distribution-building.md) — Creates small, optimized Linux systems suitable for resource-constrained or embedded environments.

### Development Tools & Productivity

- [Configuration-Driven Orchestrators](https://awesome-repositories.com/f/development-tools-productivity/configuration-driven-orchestrators.md) — Coordinates the entire build sequence through a top-level Makefile with dependency handling and parallel execution.
- [Package Build Recipes](https://awesome-repositories.com/f/development-tools-productivity/package-build-recipes.md) — Defines each package's build instructions as shell scripts or Make snippets to standardize compilation and installation.

### Networking & Communication

- [DHCP Clients](https://awesome-repositories.com/f/networking-communication/dhcp-clients.md) — Obtains an IP address and network configuration from a DHCP server with no manual intervention at boot. ([source](https://cdn.jsdelivr.net/gh/michielderhaeg/build-linux@master/README.md))

### System Administration & Monitoring

- [DHCP Lease Managers](https://awesome-repositories.com/f/system-administration-monitoring/dhcp-servers/dhcp-lease-managers.md) — Includes a DHCP client configuration that automatically obtains an IP address at boot without manual intervention.
- [System Logging](https://awesome-repositories.com/f/system-administration-monitoring/system-logging.md) — Collects daemon and kernel log messages into configurable files using a built-in system logger. ([source](https://cdn.jsdelivr.net/gh/michielderhaeg/build-linux@master/README.md))
