Vai al contenuto
Home » DistroClone Live ISO Builder

DistroClone Live ISO Builder

DistroClone Live ISO Builder

DistroClone Live ISO Builder

DistroClone Live ISO Builder — Create your own Live ISO from a running Debian-based system

DistroClone is an open source tool that creates a bootable ISO image from any running Debian-based system, preserving the current configuration, installed packages, desktop theme, and user settings. The generated ISO includes the Calamares installer, allowing permanent installation on other machines.

The project was born out of the need to quickly replicate an already configured and tested work environment, eliminating the time required to reconfigure a new installation from scratch.

Supported Distributions

DistroClone was designed primarily for SysLinuxOS and can also work with the main Debian-based distributions:

– SysLinuxOS
– Ubuntu (22.04 and later)
– Linux Mint
– LMDE (Linux Mint Debian Edition)
– Elementary OS
– Debian (Bookworm and later)
– Other Debian-based derivatives

Main Features

The tool includes a complete set of features to cover the most common use cases:

Automatic system detection: DistroClone identifies the distribution, version, and desktop environment in use, adapting the ISO configuration and Calamares branding accordingly.

Multilanguage interface: The graphical interface is available in Italian, English, French, Spanish, German, and Portuguese, with automatic detection from the system locale. A specific language can be forced via a command-line parameter or environment variable.

Advanced graphical interface: The main frontend uses YAD, with fallback to Zenity or terminal. A real-time log window shows the progress of all 30 build steps.

UEFI and Legacy BIOS dual boot support: The generated ISO is bootable on both modern UEFI systems and older hardware with a traditional BIOS, thanks to the combination of GRUB and isolinux.

Squashfs compression methods: Choose between standard (xz), fast (lz4), or maximum (xz+bcj) compression, depending on your needs for balancing ISO size and build time.

User configuration cloning: The current user’s desktop settings can be copied to `/etc/skel`, so that the live system and the final installation start with the pre-configured profile.

Manual chroot pause for modifications: Before the squashfs is created, it is possible to pause the process and manually access the chroot to apply additional customizations.

Automatic post-installation cleanup: A dedicated systemd service removes Calamares, live-boot, and build dependencies from the installed system at first boot, keeping the final installation clean.
Requirements

To run DistroClone you need:

– A running Debian-based system
– Root privileges
– At least 4-6 GB of free disk space in `/mnt`
– At least 2 GB of RAM
– Estimated build time: 10 to 30 minutes, depending on system size and the chosen compression method
Installation

Via .deb package (recommended)**

The simplest method is to install the `.deb` package available on the releases page:

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

Or alternatively:

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

Via script (standalone)

Alternatively, you can run the script directly without installation:

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

Required dependencies are installed automatically on first run.

Usage

From the applications menu

Launch DistroClone from the System category. Authentication will be requested via PolicyKit. Install `yad` first to immediately see the splash screen indicating the dependency installation; otherwise it will work in the background until `yad` is automatically installed.

From terminal:

sudo distroClone

Language Selection

The language is detected automatically from the system locale. To force a specific language:

sudo distroClone –lang=en

Or via environment variable:

DISTROCLONE_LANG=en sudo distroClone

Supported language codes: `en`, `it`, `fr`, `es`, `de`, `pt`.

The Build Process

The process consists of six main phases, with a total of 30 steps that can be monitored in real time from the log window:

1. Splash screen — The system initializes and detects information about the distribution in use.
2. Welcome dialog — Detected system information and build options are shown: compression type, root password, hostname.
3. User configuration — Choose whether to clone the current desktop settings to the live system.
4. 30-step build — System cloning, chroot configuration, package installation, Calamares setup, squashfs compression, GRUB/isolinux configuration, ISO creation.
5. Optional pause — Before the squashfs step, it is possible to access the chroot for manual modifications.
6. Final dialog — Reports the path and size of the generated ISO, or details of any errors.
Generated Output

The ISO is created in `/mnt/<distro>_live/` with the following naming convention:

<Distro>-<Version>-<Desktop>.iso

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

MD5 and SHA256 checksums are generated automatically alongside the ISO.

Testing the ISO

With VirtualBox: create a new VM and mount the ISO file as an optical disc.

With a USB drive:

sudo dd if=/mnt/<distro>_live/<name>.iso of=/dev/sdX bs=4M status=progress

Desktop Environment Support

DistroClone handles certain desktop environments in a specific way to ensure compatibility with Calamares:

GNOME, Cinnamon, MATE, KDE, XFCE, Pantheon (Elementary OS)
Dependencies

Required (installed by .deb or script)

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

Recommended (installed automatically during build)

`yad`, `zenity`, `calamares`, `calamares-settings-debian`, `live-boot`, `live-config`, `live-config-systemd`, `grub-efi-amd64`, `efibootmgr`, `os-prober`, `fdisk`
How It Works Internally

1. The running system is cloned via `rsync`, excluding virtual filesystems, temporary files, caches, snap directories, and user-specific data.
2. A chroot environment is set up in which `live-boot`, Calamares, and boot components are installed.
3. Calamares is configured with the branding of the detected distribution, the partition layout (ext4 with EFI partition), the correct display manager, and a systemd service that at first boot removes the build and live packages from the final installation.
4. The squashfs is created with the selected compression method.
5. The GRUB (EFI) and isolinux (BIOS) boot configurations are generated with menu entries translated into the selected language.
6. The final ISO is assembled with `xorriso`, bootable on both UEFI and Legacy BIOS systems.
7. Final cleanup: Calamares, live-boot, and build dependencies are removed from the host system.

File Structure

DistroClone.sh Main build script (multilanguage)
distroClone Launcher script (multilanguage splash)
distroClone-logo.png Calamares branding logo (optional, auto-generated)
distroClone-welcome.png Calamares welcome image (optional)
distroClone-grub.png GRUB background image (optional)
slide*.png Calamares slideshow images (optional)

If the optional image files are not present, the script generates them automatically via ImageMagick.

License

This project is distributed under the **GPL-3.0-or-later** license.

Further Info and Download

Repository on GitHub
Official DistroClone page on GitHub
– Edmond’s Weblog

DistroClone Live ISO Builder

enjoy 😉

Lascia un commento

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