- Overview
- Key Features
- Architecture
- Project Structure
- Supported Variants
- Boot Commands
- Development
- License
The biglinux-livecd package serves as the backbone of the BigLinux live experience. It orchestrates everything from the initial boot sequence to the final installation on the user's machine.
Upon booting, users are welcomed by a polished setup wizard (built with GTK4/Libadwaita) that allows for immediate personalization of the live session—settings that are seamlessly preserved after installation.
- Intuitive Setup Wizard: Configure language, keyboard, and theme before you even reach the desktop.
- Seamless Migration: All settings chosen in the live environment are automatically carried over to the installed system.
- Smart Hardware Detection: Automatically enables enhancements like JamesDSP for audio and ICC profiles for displays.
- Unified Installer: Includes
calamares-biglinux, a customized version of the Calamares installer tailored for BigLinux.
The configuration flow ensures a smooth transition from live media to permanent installation:
graph TD
A[Live Boot] --> B[biglinux-livecd wizard]
B --> C{User Config}
C -->|Saves| D["/tmp/big_* files"]
D --> E[Calamares Installer]
E -->|Copies| F["/etc/big-default-config/"]
F --> G[First System Boot]
G --> H[User Session Applied]
| File | Description |
|---|---|
/tmp/big_language |
System locale (e.g., pt_BR.UTF-8) |
/tmp/big_keyboard |
X11 Keyboard Model and Layout |
/tmp/big_desktop_theme |
Selected visual theme |
/tmp/big_enable_jamesdsp |
Audio enhancement flag |
This repository is organized to separate the live session logic from the installer components:
biglinux-livecd/
├── pkgbuild/ # Arch Linux packaging files
├── locale/ # Translations (.po files)
└── biglinux-livecd/usr/
├── bin/
│ ├── startbiglive # Main entry point for live session
│ └── calamares-biglinux # Installer wrapper script
├── share/biglinux/
│ ├── livecd/ # Setup Wizard Source (Python/GTK4)
│ └── calamares/ # Installer UI Source
└── lib/calamares/ # Custom Calamares modules
BigLinux supports multiple desktop environments, automatically detected by the live system:
| Variant | Detection Trigger |
|---|---|
| BigLinux (KDE) | Default fallback |
| XivaStudio (KDE) | Default fallback |
| Community GNOME | /usr/bin/startgnome-community |
| Community Cinnamon | /usr/bin/startcinnamon-community |
| Community XFCE | /usr/bin/startxfce-community |
For advanced users and debugging, you can bypass the standard flow using the biglinux.bootcmd kernel parameter.
Example:
linux /vmlinuz-linux ... biglinux.bootcmd=only-calamares| Command | Action |
|---|---|
boot-in-plasma |
Skip wizard, go straight to desktop |
only-calamares |
Launch installer directly (minimal mode) |
only-konsole |
Launch terminal only (rescue mode) |
- Arch Linux or Manjaro based system
makepkgtoolchain- Python 3.12+ and GTK4 development libraries
cd pkgbuild
makepkg -siRun the setup wizard in a windowed mode for rapid iteration:
# Preview via Broadway (Web)
gtk4-broadwayd :5 &
GDK_BACKEND=broadway BROADWAY_DISPLAY=:5 python3 /usr/share/biglinux/livecd/main.py
# Open http://localhost:8085Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a feature branch (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
Distributed under the GPL-3.0 License. See LICENSE for more information.
Made with 💚 by the BigLinux Team