57 lines
2.3 KiB
Markdown
57 lines
2.3 KiB
Markdown
# Boot-to-Firefox (Minimal Arch Linux Live System)
|
|
|
|
This repository is a **proof-of-work** project — more of a "I always wanted to try this" kind of thing.
|
|
The goal is to demonstrate how one can reproducibly build a **minimal live system** based on **Arch Linux** and its **LTS kernel**.
|
|
|
|
Once booted, the system skips the usual bells and whistles and goes straight into a graphical environment where the only real application of interest is: **Firefox**.
|
|
|
|
## Why?
|
|
|
|
In the age of increasingly complex software stacks, this project explores the opposite philosophy:
|
|
a lean, hardened live system that is **ephemeral by design**.
|
|
|
|
- **No persistence**: Each boot is a clean slate.
|
|
- **Up-to-date**: Rebuild, PXE-boot, and users always start with the latest packages.
|
|
- **Reduced attack surface**: Minimal packages, minimal services, minimal surprises.
|
|
- **Reproducible**: The build pipeline ensures you know exactly what goes into the image.
|
|
|
|
This makes it a neat candidate for:
|
|
|
|
- **PXE deployments** in organizations where users only need a browser.
|
|
- **Security-conscious environments** where diskless, hardened endpoints reduce risks.
|
|
- **Training & demonstrations** where reproducible minimalism is key.
|
|
|
|
## Features
|
|
|
|
- Boots directly into **Firefox** under a Wayland compositor (Hyprland).
|
|
- Uses **Arch Linux LTS kernel** for stability.
|
|
- Automatically sets a **random root password** on each boot.
|
|
- Automatically sets a **random hostname** on each boot.
|
|
- Boots fast and quietly — no cluttered boot messages, no menu prompts.
|
|
- Network connectivity via DHCP out-of-the-box.
|
|
|
|
## Future Directions
|
|
|
|
- Integrating **pre-configured Firefox policies** (bookmarks, addons, homepage).
|
|
- Providing optional **Waybar** or minimal panels for usability.
|
|
- Exploring additional **hardening mechanisms** (AppArmor, sandboxing, etc.).
|
|
|
|
## Disclaimer
|
|
|
|
This project is for **educational and demonstration purposes only**.
|
|
Do not rely on it as-is for production use — but do feel free to tinker, adapt, and extend.
|
|
|
|
## Build it
|
|
|
|
Building requires an Arch Linux system with the `archiso` package installed.
|
|
|
|
```bash
|
|
./build.sh
|
|
```
|
|
|
|
# Resources
|
|
|
|
- https://wiki.archlinux.org/title/Archiso
|
|
- https://gitlab.archlinux.org/archlinux/archiso/-/blob/master/docs/README.profile.rst
|
|
- https://github.com/archlinux/archiso/blob/master/configs/releng/profiledef.sh
|