Skip to content

Commit cd15964

Browse files
committed
combining biglinux-livecd and calamares-biglinux
1 parent 6b11c87 commit cd15964

95 files changed

Lines changed: 29284 additions & 713 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

README.md

Lines changed: 171 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,174 @@
1-
# biglinux-livecd
1+
<div align="center">
22

3-
EN - Interface made in BigBashview that facilitates the first interaction of the user, where he can choose the language, themes and usability styles of the system.
3+
# 🚀 BigLinux LiveCD
44

5-
PT - Interface feita em BigBashview que facilita a primeira interação do usuário, aonde pode escolher o idioma, temas e estilos de usabilidade do sistema.
5+
**The Ultimate Live Environment & Installer for BigLinux**
66

7-
![01](https://user-images.githubusercontent.com/6098501/178166328-cf8f271e-05d7-4f52-a9c5-123c174d54ec.jpeg)
8-
![02](https://user-images.githubusercontent.com/6098501/178166329-3ff931bf-6ba0-4a03-9678-3184306349b3.jpeg)
9-
![03](https://user-images.githubusercontent.com/6098501/178166330-cd471b3f-a57b-4b0a-a57f-a8c81718e370.jpeg)
7+
[![License: GPL-3.0](https://img.shields.io/badge/License-GPL--3.0-blue.svg?style=for-the-badge)](LICENSE)
8+
[![Arch Linux](https://img.shields.io/badge/Arch_Linux-1793D1?style=for-the-badge&logo=arch-linux&logoColor=white)](https://archlinux.org/)
9+
[![GTK4](https://img.shields.io/badge/GTK4-Libadwaita-4A86CF?style=for-the-badge&logo=gtk&logoColor=white)](https://gtk.org/)
10+
[![Python](https://img.shields.io/badge/Python-3.12+-3776AB?style=for-the-badge&logo=python&logoColor=white)](https://python.org/)
11+
12+
</div>
13+
14+
---
15+
16+
## 📖 Table of Contents
17+
18+
- [Overview](#-overview)
19+
- [Key Features](#-key-features)
20+
- [Architecture](#-architecture)
21+
- [Project Structure](#-project-structure)
22+
- [Supported Variants](#-supported-variants)
23+
- [Boot Commands](#-custom-boot-commands-grub)
24+
- [Development](#-development)
25+
- [License](#-license)
26+
27+
---
28+
29+
## 📋 Overview
30+
31+
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.
32+
33+
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.
34+
35+
---
36+
37+
## 🚀 Key Features
38+
39+
- **Intuitive Setup Wizard**: Configure language, keyboard, and theme before you even reach the desktop.
40+
- **Seamless Migration**: All settings chosen in the live environment are automatically carried over to the installed system.
41+
- **Smart Hardware Detection**: Automatically enables enhancements like **JamesDSP** for audio and ICC profiles for displays.
42+
- **Unified Installer**: Includes `calamares-biglinux`, a customized version of the Calamares installer tailored for BigLinux.
43+
44+
---
45+
46+
## 🏗️ Architecture
47+
48+
The configuration flow ensures a smooth transition from live media to permanent installation:
49+
50+
```mermaid
51+
graph TD
52+
A[Live Boot] --> B[biglinux-livecd wizard]
53+
B --> C{User Config}
54+
C -->|Saves| D["/tmp/big_* files"]
55+
D --> E[Calamares Installer]
56+
E -->|Copies| F["/etc/big-default-config/"]
57+
F --> G[First System Boot]
58+
G --> H[User Session Applied]
59+
```
60+
61+
### Configuration Storage
62+
63+
| File | Description |
64+
|------|-------------|
65+
| `/tmp/big_language` | System locale (e.g., `pt_BR.UTF-8`) |
66+
| `/tmp/big_keyboard` | X11 Keyboard Model and Layout |
67+
| `/tmp/big_desktop_theme` | Selected visual theme |
68+
| `/tmp/big_enable_jamesdsp` | Audio enhancement flag |
69+
70+
---
71+
72+
## 📁 Project Structure
73+
74+
This repository is organized to separate the live session logic from the installer components:
75+
76+
```tree
77+
biglinux-livecd/
78+
├── pkgbuild/ # Arch Linux packaging files
79+
├── locale/ # Translations (.po files)
80+
└── biglinux-livecd/usr/
81+
├── bin/
82+
│ ├── startbiglive # Main entry point for live session
83+
│ └── calamares-biglinux # Installer wrapper script
84+
├── share/biglinux/
85+
│ ├── livecd/ # Setup Wizard Source (Python/GTK4)
86+
│ └── calamares/ # Installer UI Source
87+
└── lib/calamares/ # Custom Calamares modules
88+
```
89+
90+
---
91+
92+
## 🎯 Supported Variants
93+
94+
BigLinux supports multiple desktop environments, automatically detected by the live system:
95+
96+
| Variant | Detection Trigger |
97+
|---------|-------------------|
98+
| **BigLinux (KDE)** | Default fallback |
99+
| **Community GNOME** | `/usr/bin/startgnome-community` |
100+
| **Community Cinnamon** | `/usr/bin/startcinnamon-community` |
101+
| **Community XFCE** | `/usr/bin/startxfce-community` |
102+
103+
---
104+
105+
## 🔧 Custom Boot Commands (GRUB)
106+
107+
For advanced users and debugging, you can bypass the standard flow using the `biglinux.bootcmd` kernel parameter.
108+
109+
**Example:**
110+
```bash
111+
linux /vmlinuz-linux ... biglinux.bootcmd=only-calamares
112+
```
113+
114+
| Command | Action |
115+
|---------|--------|
116+
| `boot-in-plasma` | Skip wizard, go straight to desktop |
117+
| `only-calamares` | Launch installer directly (minimal mode) |
118+
| `only-konsole` | Launch terminal only (rescue mode) |
119+
120+
---
121+
122+
## 🛠️ Development
123+
124+
### Prerequisites
125+
126+
- Arch Linux or Manjaro based system
127+
- `makepkg` toolchain
128+
- Python 3.12+ and GTK4 development libraries
129+
130+
### Build & Install
131+
132+
```bash
133+
cd pkgbuild
134+
makepkg -si
135+
```
136+
137+
### Testing the UI
138+
139+
Run the setup wizard in a windowed mode for rapid iteration:
140+
141+
```bash
142+
# Preview via Broadway (Web)
143+
gtk4-broadwayd :5 &
144+
GDK_BACKEND=broadway BROADWAY_DISPLAY=:5 python3 /usr/share/biglinux/livecd/main.py
145+
# Open http://localhost:8085
146+
```
147+
148+
---
149+
150+
## 🤝 Contributing
151+
152+
Contributions are welcome! Please follow these steps:
153+
154+
1. Fork the repository.
155+
2. Create a feature branch (`git checkout -b feature/amazing-feature`).
156+
3. Commit your changes (`git commit -m 'Add amazing feature'`).
157+
4. Push to the branch (`git push origin feature/amazing-feature`).
158+
5. Open a Pull Request.
159+
160+
---
161+
162+
## 📄 License
163+
164+
Distributed under the **GPL-3.0 License**. See [LICENSE](LICENSE) for more information.
165+
166+
---
167+
168+
<div align="center">
169+
170+
**Made with 💚 by the BigLinux Team**
171+
172+
[Website](https://biglinux.com.br)
173+
174+
</div>

0 commit comments

Comments
 (0)