Interaktywny instalator TUI (Terminal User Interface) dla PorteuX — lekkiej, modularnej dystrybucji Linuksa opartej na Slackware.
PorteuX to szybka, modularna i przenośna dystrybucja oparta na Slackware current (rolling). System składa się z modułów squashfs (.xzm) nakładanych warstwami przez AUFS:
- Superszybki — LXQt bootuje w ~3 sekundy
- Modularny — system = zestaw modułów .xzm, aktywowanych/deaktywowanych w locie
- Przenośny — uruchom z USB, SSD, a nawet z RAM (Copy to RAM)
- Opcjonalnie niezmienny — tryb "Always Fresh" resetuje system przy każdym restarcie
- 8 wariantów desktopowych — KDE, Xfce, LXQt, Cinnamon, MATE, GNOME, LXDE, COSMIC
- Komputer z procesorem x86-64 (SSE4.2)
- Pamięć RAM: 2+ GB (4+ GB dla Copy to RAM)
- Dysk: 4+ GB wolnego miejsca
- Internet (do pobrania ISO)
- Bootowalny pendrive z dowolnym Linux Live ISO (do uruchomienia instalatora)
- UEFI lub BIOS (oba obsługiwane)
# 1. Uruchom dowolne Live ISO z dostępem do internetu
# 2. Sklonuj repozytorium
git clone https://github.com/<user>/porteux-installer.git
cd porteux-installer
# 3. Uruchom instalator jako root
sudo ./install.sh./install.sh # Pełna instalacja (wizard + instalacja)
./install.sh --configure # Tylko konfiguracja (generuje plik .conf)
./install.sh --install # Tylko instalacja (z istniejącym .conf)
./install.sh --resume # Wznów przerwaną instalację
./install.sh --dry-run # Symulacja (bez destrukcyjnych operacji)| Opcja | Opis |
|---|---|
--config FILE |
Użyj podanego pliku konfiguracji |
--dry-run |
Symulacja bez destrukcyjnych operacji |
--force |
Kontynuuj mimo nieudanych sprawdzeń |
--non-interactive |
Przerwij przy błędzie (bez menu naprawczego) |
- Witaj — sprawdzenie wymagań (root, sieć, EFI/BIOS)
- Preset — załaduj zapisaną konfigurację lub zacznij od nowa
- Sprzęt — automatyczna detekcja CPU, GPU, dysków, peryferiów
- Dysk — wybór dysku docelowego, schemat partycji (auto/dual-boot/manual)
- System plików — ext4, FAT32, btrfs, XFS
- Swap — brak, partycja, plik
- Desktop — 8 wariantów: KDE, Xfce, LXQt, Cinnamon, MATE, GNOME, LXDE, COSMIC
- GPU — konfiguracja sterowników, opcjonalny moduł NVIDIA
- Persystencja — persistent (zmiany zachowane) / immutable (zawsze świeży)
- Tryb boot — normalny, Copy to RAM, Always Fresh, tekst
- Moduły — opcjonalne moduły: devel, multilanguage, multilib
- Sieć — hostname
- Lokalizacja — strefa czasowa, locale, keymap
- Użytkownicy — hasło root, konto użytkownika
- Preset — opcjonalny zapis konfiguracji
- Podsumowanie — przegląd + potwierdzenie YES + odliczanie
| # | Faza | Opis |
|---|---|---|
| 1 | Preflight | Sprawdzenie wymagań systemowych |
| 2 | Dyski | Partycjonowanie (sfdisk), formatowanie, montowanie |
| 3 | ISO download | Pobranie PorteuX ISO dla wybranego desktopu |
| 4 | ISO verify | Weryfikacja SHA256 (jeśli dostępna) |
| 5 | ISO extract | Ekstrakcja zawartości ISO na partycję |
| 6 | Bootloader | GRUB (EFI) lub syslinux (BIOS) |
| 7 | Persystencja | Konfiguracja katalogu zmian AUFS |
| 8 | Moduły | Pobranie opcjonalnych modułów .xzm |
| 9 | System | Hostname, timezone, locale, keymap |
| 10 | Użytkownicy | Skrypt first-boot z konfiguracją kont |
| 11 | Finalizacja | Weryfikacja modułów, sync, cleanup |
Instalator automatycznie wykrywa:
- CPU — producent, model, liczba rdzeni
- GPU — NVIDIA/AMD/Intel, hybrid GPU (iGPU+dGPU), zalecany sterownik
- Dyski — SATA, NVMe, USB, rozmiar, model
- Peryferia — Bluetooth, czytnik linii papilarnych, Thunderbolt, sensory IIO, kamera, WWAN
- Zainstalowane OS — Windows, Linux (wykrywanie ESP + partycji)
- ASUS ROG — laptopy ROG/TUF
- Microsoft Surface — detekcja modelu via DMI
Instalator wspiera dual-boot z Windows i innymi systemami Linux:
- Automatyczna detekcja zainstalowanych systemów
- Współdzielenie istniejącego ESP (nigdy nie formatuje)
- Wizard kurczenia partycji (NTFS, ext4, btrfs)
- GRUB z os-prober dla wielosystemowych menu boot
PorteuX używa AUFS (Another Union File System) do nakładania warstw:
| Tryb | Parametr boot | Opis |
|---|---|---|
| Persistent | changes=EXIT:/porteux/changes |
Zmiany zachowane na dysku |
| Immutable | baseonly norootcopy |
Świeży system po każdym restarcie |
| Copy to RAM | copy2ram |
Cały system w RAM (szybszy po starcie) |
| Moduł | Opis |
|---|---|
05-devel |
Narzędzia developerskie (GCC, make, git, cmake) |
08-multilanguage |
Wsparcie wielu języków (dane locale) |
0050-multilib-lite |
Biblioteki 32-bitowe (kompatybilność) |
nvidia-driver |
Sterowniki NVIDIA (własnościowe) |
Moduły trafiają do /porteux/optional/ i mogą być aktywowane poleceniem activate.
Konfigurację można zapisać i ponownie użyć:
# Zapisz podczas instalacji (ekran 15)
# Lub użyj istniejącej:
./install.sh --config /root/porteux-preset-20260410.confPresety są przenośne między maszynami — wartości sprzętowe (GPU, dyski) są re-wykrywane przy imporcie.
Po przerwie w zasilaniu lub błędzie:
./install.sh --resume # Skanuje dyski w poszukiwaniu checkpointówInstalator zapamiętuje ukończone fazy i wznawia od ostatniej nieukończonej.
Możesz uruchomić instalator zdalnie przez SSH — przydatne gdy maszyna docelowa nie ma monitora lub klawiatury.
# 1. Ustaw hasło root
passwd root
# 2. Uruchom sshd
# PorteuX Live (Slackware — sysvinit):
chmod +x /etc/rc.d/rc.sshd
/etc/rc.d/rc.sshd start
# Jeśli bootujesz z innego Live ISO (np. Void):
# xbps-install -Sy openssh && ssh-keygen -A
# echo "PermitRootLogin yes" >> /etc/ssh/sshd_config
# ln -sf /etc/sv/sshd /var/service/sshd
# 3. Zezwól na logowanie root (jeśli zablokowane)
sed -i 's/^#PermitRootLogin.*/PermitRootLogin yes/' /etc/ssh/sshd_config
/etc/rc.d/rc.sshd restart
# 4. Sprawdź IP
ip -4 addr show | grep inet
# 5. Zweryfikuj
ss -tlnp | grep 22 # powinno: LISTENssh root@<IP-maszyny-docelowej>
git clone https://github.com/szoniu/porteux.git
cd porteux
./install.shWażne: Jeśli połączenie SSH się zerwie, instalacja w zwykłej sesji zostanie przerwana. Zawsze uruchamiaj installer w tmux:
# Na maszynie docelowej (po połączeniu SSH):
# Jeśli tmux nie jest zainstalowany: installpkg tmux (Slackware) lub pobierz statyczną wersję
tmux new -s install
# Sklonuj i uruchom
git clone https://github.com/szoniu/porteux.git
cd porteux
./install.shJeśli połączenie SSH się zerwie:
# Połącz się ponownie
ssh root@<IP>
tmux attach -t installInstalacja nadal działa w tle — nic nie stracisz.
ssh root@<IP>
# Logi w czasie rzeczywistym
tail -f /tmp/porteux-installer.logConnection reset by peer— sshd nie działa. Sprawdź:/etc/rc.d/rc.sshd status(Slackware) lubss -tlnp | grep 22.Permission denied (publickey)— dodajPermitRootLogin yesdo/etc/ssh/sshd_configi restartuj sshd.Permission denied, please try again— hasło nie ustawione. Uruchompasswd rootna maszynie docelowej.- Brak tmux na Live ISO — użyj
screenjako alternatywę, lub pobierz statyczny tmux:curl -LO https://github.com/tmux/tmux/releases/...
Gdy komenda zawiedzie, instalator wyświetla menu:
- Retry — powtórz komendę
- Shell — otwórz shell do diagnostyki
- Continue — pomiń i kontynuuj
- Log — pokaż log
- Abort — przerwij instalację
Instalator obsługuje 3 backendy (priorytet: gum > dialog > whiptail):
- gum — dołączony w repo (
data/gum.tar.gz), zero zależności - dialog — jeśli zainstalowany w systemie Live
- whiptail — fallback
install.sh — Główny orkiestrator
configure.sh — Wrapper: tylko konfiguracja
lib/ — Moduły biblioteczne (nigdy nie uruchamiaj bezpośrednio)
tui/ — Ekrany interaktywne (return 0=dalej, 1=wstecz, 2=przerwij)
data/ — Bazy danych, zasoby statyczne
presets/ — Przykładowe konfiguracje
hooks/ — Przykłady hooków (before_*/after_*)
tests/ — Testy (standalone bash)
CLAUDE.md — Kontekst techniczny dla Claude Code
Jak długo trwa instalacja? ~5-15 minut (zależnie od prędkości internetu do pobrania ISO ~500 MB-1 GB).
Czy mogę zainstalować na VM? Tak, QEMU/KVM i VirtualBox są obsługiwane. W VM nie potrzebujesz Live USB — uruchom instalator bezpośrednio z terminala.
Czym się różni od oficjalnego instalatora PorteuX? Oficjalny "instalator" to prosty skrypt kopiujący pliki na USB. Ten instalator zapewnia pełny wizard TUI z partycjonowaniem, dual-boot, detekcją sprzętu, persystencją i wiele więcej.
Czy obsługuje Secure Boot? Nie w obecnej wersji. PorteuX oficjalnie nie wspiera Secure Boot. Wyłącz Secure Boot w BIOS/UEFI.
Co to jest "Copy to RAM"? Tryb, w którym cały system jest kopiowany do RAM-u przy starcie. Po załadowaniu system działa w pełni z pamięci RAM — nośnik źródłowy można odłączyć. Wymaga 4+ GB RAM.