# 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