GUI-Installer for Void
| include | Dateien nach „include" hochladen | |
| src | Dateien nach „src/ui" hochladen | |
| build.sh | Dateien nach „/" hochladen | |
| install.sh | Dateien nach „/" hochladen | |
| logo-convert | Dateien nach „/" hochladen | |
| logo.h | Dateien nach „/" hochladen | |
| logo.png | Dateien nach „/" hochladen | |
| Makefile | Dateien nach „/" hochladen | |
| pinguin-installer | Dateien nach „/" hochladen | |
| README.md | Dateien nach „/" hochladen | |
Pinguin Installer
A modular Linux system installer built with C and GTK+ 3.0.
Project Structure
include/: Containspinguin-installer.hwith core data structures and function prototypes.src/core/: Application logic and installation steps.main.c: Entry point and GTK initialization.installer.c: Coordination of the installation thread and logging.installer_steps.c: Individual steps (partitioning, formatting, copying files, secondary configuration).partition_utils.c: Logic for disk discovery and partition mapping.utils.c: Generic helpers (shell execution, UUID retrieval, EFI detection).
src/ui/: GTK+ 3.0 user interface components.ui.c: Main window development and tab structure.ui_partition.c: Partition selection and manual partitioning dialogs.ui_callbacks.c: Event handlers for navigation and user input.
Features
- Automatic and Manual Partitioning:
- UEFI Mode: GPT partition table, 512MB ESP (FAT32), and Ext4 root.
- Legacy Mode: MBR (MS-DOS) partition table, single Ext4 root with bootable flag.
- Installation Modes: Clean install (erase disk), Install Alongside (dual-boot), or Manual.
- Encryption: LUKS support for partitions.
- Bootloader: GRUB installation for both EFI and BIOS systems.
- System Configuration: Locale, Hostname, Timezone, and User account management.
Compilation and Dependencies
Dependencies
Ensure you have the following installed:
gccmakepkg-configgtk+-3.0development headers
Build Instructions
To compile the installer:
make
To clean the build artifacts:
make clean
Running the Installer
The installer requires root privileges to manipulate disks, format partitions, and mount filesystems.
sudo ./pinguin-installer
Alternatively, use the convenience rule:
make run