DistroClone Live ISO Builder

 

DistroClone Live ISO Builder

 

DistroClone – Crea la tua Live ISO da un sistema Debian in esecuzione

DistroClone Live ISO Builder e’ uno strumento open source che consente di creare un’immagine ISO avviabile a partire da qualsiasi sistema Debian-based in esecuzione, preservando la configurazione attuale, i pacchetti installati, il tema del desktop e le impostazioni utente. L’ISO generata include il programma di installazione Calamares, che permette di installare il sistema su altre macchine in modo permanente.

Il progetto nasce dall’esigenza di replicare rapidamente un ambiente di lavoro gia’ configurato e testato, eliminando il tempo necessario per riconfigurare da zero una nuova installazione.

DistroClone Live ISO Builder

Distribuzioni supportate

DistroClone e’ stato progettato principalmente per SysLinuxOS e quindi può anche funzionare con le principali distribuzioni basate su Debian:

– SysLinuxOS
– Ubuntu (22.04 e versioni successive
– Linux Mint
– LMDE (Linux Mint Debian Edition)
– Elementary OS
– Debian (Bookworm e versioni successive)
– Altre distribuzioni derivate da Debian

Caratteristiche principali

Lo strumento include un set completo di funzionalita’ per coprire i casi d’uso piu’ comuni:

Rilevamento automatico del sistema: DistroClone identifica la distribuzione, la versione e l’ambiente desktop in uso, adattando di conseguenza la configurazione dell’ISO e il branding di Calamares.

Interfaccia multilingue: L’interfaccia grafica e’ disponibile in italiano, inglese, francese, spagnolo, tedesco e portoghese, con rilevamento automatico dal locale di sistema. E’ possibile forzare una lingua specifica tramite parametro da riga di comando o variabile d’ambiente.

Interfaccia grafica avanzata: Il frontend principale utilizza YAD, con fallback su Zenity o terminale. Una finestra di log in tempo reale mostra l’avanzamento di tutti i 30 passaggi del processo di build.

Supporto dual boot UEFI e Legacy BIOS: L’ISO generata e’ avviabile sia su sistemi UEFI moderni che su hardware piu’ datato con BIOS tradizionale, grazie alla combinazione di GRUB e isolinux.

Metodi di compressione squashfs: E’ possibile scegliere tra compressione standard (xz), rapida (lz4) o massima (xz+bcj), in base alle proprie esigenze di bilanciamento tra dimensione dell’ISO e tempo di build.

Clonazione della configurazione utente: Le impostazioni desktop dell’utente corrente possono essere copiate in `/etc/skel`, in modo che il sistema live e l’installazione finale partano gia’ con il profilo configurato.

Pausa manuale per modifiche al chroot: Prima della creazione dello squashfs e’ possibile sospendere il processo e accedere manualmente al chroot per applicare personalizzazioni aggiuntive.

Pulizia automatica post-installazione: Un servizio systemd dedicato rimuove Calamares, live-boot e le dipendenze di build dal sistema installato al primo avvio, mantenendo l’installazione finale pulita.

 

DistroClone Live ISO Builder

Requisiti

Per eseguire DistroClone e’ necessario:

– Un sistema Debian-based in esecuzione
– Privilegi di root
– Almeno 4-6 GB di spazio libero in `/mnt`
– Almeno 2 GB di RAM
– Tempo stimato di build: da 10 a 30 minuti, a seconda della dimensione del sistema e del metodo di compressione scelto

Installazione

Tramite pacchetto .deb (consigliato)

Il metodo piu’ semplice e’ installare il pacchetto `.deb` disponibile nella pagina delle release:

sudo apt install -y yad
sudo dpkg -i distroClone_1.3_all.deb
sudo apt install -f

oppure:

wget https://github.com/fconidi/distroClone/releases/latest/download/distroClone_1.3.3_all.deb
sudo dpkg -i distroClone_1.3.3_all.deb
sudo apt install -f

Tramite script (standalone)

In alternativa, e’ possibile eseguire lo script direttamente senza installazione:

chmod +x DistroClone.sh
sudo ./DistroClone.sh

Le dipendenze necessarie vengono installate automaticamente al primo avvio.

DistroClone Live ISO Builder
Utilizzo

Dal menu delle applicazioni

Avviare DistroClone dalla categoria Sistema. Verra’ richiesta l’autenticazione tramite PolicyKit. Installare prima yad per vedere subito lo splash che indica l’installazione delle dipendenze, altrimenti lavorerà in background fino all’installazione automatica di yad.

Da terminale

sudo distroClone
Selezione della lingua

La lingua viene rilevata automaticamente dal locale di sistema. Per forzare una lingua specifica:

sudo distroClone --lang=en

Oppure tramite variabile d’ambiente:

DISTROCLONE_LANG=it sudo distroClone

Codici lingua supportati: `en`, `it`, `fr`, `es`, `de`, `pt`.

 

DistroClone Live ISO Builder

Il processo di build

Il processo si articola in sei fasi principali, con un totale di 30 passaggi monitorabili in tempo reale dalla finestra di log:

1. Schermata iniziale — Il sistema si inizializza e rileva le informazioni sulla distribuzione in uso.
2. Dialogo di benvenuto — Vengono mostrate le informazioni rilevate e le opzioni di build: tipo di compressione, password root, hostname.
3. Configurazione utente — Si sceglie se clonare le impostazioni desktop correnti nel sistema live.
4. Build in 30 passaggi — Clonazione del sistema, configurazione del chroot, installazione pacchetti, setup Calamares, compressione squashfs, configurazione GRUB/isolinux, creazione ISO.
5. Pausa opzionale — Prima dello squashfs e’ possibile accedere al chroot per modifiche manuali.
6. Dialogo finale — Viene riportato il percorso e la dimensione dell’ISO generata, oppure i dettagli dell’eventuale errore.

Output generato

L’ISO viene creata in `/mnt/<distro>_live/` con la seguente convenzione di nomenclatura:

<Distro>-<Versione>-<Desktop>.iso

Esempi: `SysLinuxOS-13-Mate.iso`, `Ubuntu-24.04-Gnome.iso`

Insieme all’ISO vengono generati automaticamente i checksum MD5 e SHA256.

Verifica e test dell’ISO

Con VirtualBox: creare una nuova VM e montare il file ISO come disco ottico.

Con una chiavetta USB:

sudo dd if=/mnt/<distro>_live/<nome>.iso of=/dev/sdX bs=4M status=progress
DistroClone Live ISO Builder
Supporto ambienti desktop

DistroClone gestisce in modo specifico alcuni ambienti desktop per garantire la compatibilita’ con Calamares:

Gnome, Cinnamon, MATE, KDE, XFCE Pantheon (Elementary OS)

Dipendenze

Richieste (installate dal .deb o dallo script)

`bash`, `rsync`, `xorriso`, `mtools`, `syslinux-utils`, `syslinux-common`, `isolinux`, `imagemagick`, `grub-pc-bin`

Consigliate (installate automaticamente durante la build)

`yad`, `zenity`, `calamares`, `calamares-settings-debian`, `live-boot`, `live-config`, `live-config-systemd`, `grub-efi-amd64`, `efibootmgr`, `os-prober`, `fdisk`
DistroClone Live ISO Builder
Come funziona internamente

1. Il sistema in esecuzione viene clonato tramite `rsync`, escludendo filesystem virtuali, file temporanei, cache, directory snap e dati specifici dell’utente.
2. Viene allestito un ambiente chroot in cui vengono installati `live-boot`, Calamares e i componenti di avvio.
3. Calamares viene configurato con il branding della distribuzione rilevata, il layout delle partizioni (ext4 con partizione EFI), il display manager corretto e un servizio systemd che al primo avvio rimuove dall’installazione finale i pacchetti di build e live.
4. Lo squashfs viene creato con il metodo di compressione selezionato.
5. Le configurazioni di avvio GRUB (EFI) e isolinux (BIOS) vengono generate con le voci di menu tradotte nella lingua selezionata.
6. L’ISO finale viene assemblata con `xorriso`, avviabile sia in modalita’ UEFI che Legacy BIOS.
7. Pulizia finale: Calamares, live-boot e le dipendenze di build vengono rimossi dal sistema host.

Struttura dei file

DistroClone.sh Script principale di build (multilingue)
distroClone Script launcher (splash multilingue)
distroClone-logo.png Logo branding Calamares (opzionale, autogenerato)
distroClone-welcome.png Immagine di benvenuto Calamares (opzionale)
distroClone-grub.png Immagine di sfondo GRUB (opzionale)
slide*.png Immagini slideshow Calamares (opzionali)

Se i file immagine opzionali non sono presenti, lo script li genera automaticamente tramite ImageMagick.

 

DistroClone Live ISO Builder

Licenza

Il progetto e’ distribuito sotto licenza GPL-3.0-or-later

Ulteriori info e Download:

– Repository su GitHub
– Pagina Ufficiale DistroClone su GitHub

 

Autore: Franco Conidi aka edmond

Senior System Integrator, Network Engineer, Network Administrator, Sys Admin Linux, Linux User, Blogger, Consulente Informatico.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *