Download Latest Version refracta-calamares-setup-1.0.2.tar.gz (1.2 MB)
Email in envelope

Get an email when there's a new version of refracta calamares setup

Home
Name Modified Size InfoDownloads / Week
refracta-calamares-setup-1.0.2.tar.gz 2026-04-16 1.2 MB
README.md 2026-04-12 9.9 kB
Totals: 2 Items   1.2 MB 0

Devuan Excalibur Live ISO with Calamares Installer

This repository contains the configuration files and scripts to build a Devuan 6 (Excalibur) Live ISO with the Calamares graphical installer.

Features

  • sysvinit-based: No systemd, uses traditional sysvinit
  • Calamares Installer: Modern graphical installer for easy installation
  • Security-focused: Excludes machine IDs, passwords, SSH keys from the ISO
  • Post-install cleanup: Removes Calamares and Refracta from installed system
  • UEFI & BIOS support: Boots on both modern and legacy systems

Quick Start

Prerequisites

You need a Devuan 6 (Excalibur) system with:

  • Root access
  • At least 20GB free disk space
  • Internet connection for package installation

1. Install Required Packages

A. Download Refracta Snapshot

Refracta Snapshot is not available in standard repositories. Download it from:

  • Website: https://refracta.org/
  • Files needed:
  • refractasnapshot-base_*.deb (CLI version)
  • refractasnapshot-gui_*.deb (GUI version - optional)

Install using apt (not dpkg):

sudo apt install ./refractasnapshot-base_*.deb
sudo apt install ./refractasnapshot-gui_*.deb  

B. Install Calamares and Dependencies

sudo apt install calamares partitionmanager pkexec

Note: Calamares automatically pulls its dependencies. Only these three packages need explicit installation:

  • calamares - The graphical installer
  • partitionmanager - Provides KPMCore backend for disk detection
  • pkexec - PolicyKit authentication for privileged operations

C. Install Remaining Packages

sudo ./scripts/install-packages.sh

This installs:

  • Live-boot and live-config packages
  • GRUB for both BIOS and UEFI
  • Additional required tools

2. Install Configuration Files

sudo ./scripts/install-config.sh

This installs:

  • Refracta Snapshot configuration (This refracta snapshot configuration is setup TO USE THE USERNAME & PASSWORD OF THE MACHINE TAKING THE SNAPSHOT. This can be changed in refractasnaphot settings and install-config.sh)
  • Security-enhanced exclude list
  • Calamares module configurations
  • Devuan branding files

3. Add Branding Images (Optional)

Your custom branding images are automatically installed from the template-calamares/ directory:

template-calamares/
├── logo.png      - Sidebar logo (shown in Calamares)
├── slide1.png    - Slideshow image 1 (during installation)
├── slide2.png    - Slideshow image 2 (during installation)
└── slide3.png    - Slideshow image 3 (during installation)

These are automatically copied when you run sudo ./scripts/install-config.sh.

Recommended sizes:

  • logo.png: 128x128 or 64x64 pixels
  • slide*.png: 800x520 or 1024x768 pixels (16:9 or 4:3 aspect ratio)

If you want to manually copy them:

sudo cp template-calamares/logo.png /usr/share/calamares/branding/devuan/logo.png
sudo cp template-calamares/slide1.png /usr/share/calamares/branding/devuan/slide1.png
sudo cp template-calamares/slide2.png /usr/share/calamares/branding/devuan/slide2.png
sudo cp template-calamares/slide3.png /usr/share/calamares/branding/devuan/slide3.png

4. Configure the build

sudo ./scripts/install-config.sh

5. Build the ISO

sudo ./scripts/build-iso.sh

This will:

  1. Run pre-build checks (disk space, packages, config)
  2. Clean sensitive data from the build system
  3. Generate new machine IDs and SSH keys
  4. Run Refracta Snapshot to create the ISO
  5. Save the ISO to /home/snapshot/

The ISO file will be named: devuan-excalibur-YYYYMMDD-HHMMSS.iso

6. Verify the ISO

sudo ./scripts/verify-iso.sh

Configuration Details

Refracta Snapshot Configuration

File: /etc/refractasnapshot.conf

Key settings:

  • snapshot_dir="/home/snapshot" - Where the ISO is saved
  • work_dir="/home/work" - Temporary work directory
  • make_efi="yes" - Enable UEFI boot support
  • snapshot_basename="devuan-excalibur" - ISO file name prefix

Security Exclusions

File: /usr/lib/refractasnapshot/snapshot_exclude.list

Critical exclusions for security:

  • /etc/machine-id and /var/lib/dbus/machine-id
  • /etc/ssh/ssh_host_*_key* - SSH host keys
  • User cache files and browser data
  • Bash histories
  • All machine-identifying information

Calamares Configuration

Main settings: /etc/calamares/settings.conf

Modules configured:

  • welcome - Welcome page with system checks
  • locale - Language and timezone selection
  • keyboard - Keyboard layout configuration
  • partition - Disk partitioning with encryption support
  • users - User account creation
  • bootloader - GRUB installation
  • removeuser - Removes live user from installed system
  • shellprocess-cleanup - Removes Calamares/Refracta from target

Module configs: /etc/calamares/modules/

Branding

Directory: /usr/share/calamares/branding/devuan/

Files:

  • branding.desc - Branding configuration
  • stylesheet.qss - Colour scheme
  • logo.png - Sidebar logo
  • slide*.png - Images for slideshow

Post-Install Behavior

After the user installs Devuan using Calamares:

  1. Live user removed: The user account from the live system is deleted
  2. Packages removed: Calamares, Refracta, and live-boot packages are purged
  3. Config cleaned: /etc/calamares/, /usr/share/calamares/, and related directories are deleted
  4. New machine ID: A fresh machine-id is generated for the installed system
  5. New SSH keys: Fresh SSH host keys are generated
  6. Clean apt cache: Package cache is cleaned

The installed system will have NO trace of the live ISO build tools.

Security Considerations

Before Building

  1. Clear sensitive data: ```bash # Clear your bash history history -c && > ~/.bash_history

# Clear application caches rm -rf ~/.cache/*

# Remove any personal files rm -rf ~/Documents/personal/* ```

  1. Check the exclude list: Review /usr/lib/refractasnapshot/snapshot_exclude.list to ensure your sensitive files are excluded

After Building

  1. Verify the ISO: Use verify-iso.sh to check ISO integrity
  2. Test in VM: Boot the ISO in a virtual machine first
  3. Test installation: Install to a VM and verify no build artifacts remain
  4. Check for leaks: On the installed VM, check: ```bash # Should be different from build system cat /etc/machine-id

# Should have fresh keys ls -la /etc/ssh/ssh_host_*

# Should not exist ls /etc/calamares ls /usr/share/calamares ```

Troubleshooting

ISO Build Fails

  1. Check disk space: bash df -h /home Need at least 20GB free.

  2. Check work directories: bash ls -la /home/work ls -la /home/snapshot Both should exist and be writable.

  3. Check packages: bash dpkg -l | grep refracta dpkg -l | grep calamares

Calamares Doesn't Start or Shows "No Partitions"

Important: Calamares partition detection requires:

  • partitionmanager package (provides KPMCore backend)
  • User must be in disk group
  • pkexec for privilege escalation

  • Verify required packages: bash dpkg -l | grep -E "calamares|partitionmanager|pkexec"

  • Check user is in disk group: bash groups $USER | grep disk If not, add with: sudo usermod -aG disk $USER then log out/in

  • Check configuration: bash pkexec calamares -d # Debug mode

  • Check logs: bash cat /var/log/calamares.log cat /root/.cache/calamares/session.log

  • Note: Calamares excludes the root filesystem device to prevent accidental installation over the running system. This is normal behavior - the partition module is working correctly. Test on actual Live USB to see installable disks.

Live USB Boots Slowly (180 second wait)

The Live USB waits 180 seconds for network devices during boot.

Solution: The network timeout has been reduced to 5 seconds via a live-config script installed by sudo ./scripts/install-config.sh.

Script location: /usr/lib/live/config/001-reduce-network-timeout

This script sets `LIVE_NETWORK_TIMEOUT=5` which tells live-config to wait only 5 seconds for network interfaces instead of 180.

DBUS Environment Issues

If Calamares fails to detect disks with KPMCore errors, the DBUS environment may not be set.

Solution: The Calamares desktop file includes DBUS_SYSTEM_BUS_ADDRESS export:

cat /usr/share/applications/calamares.desktop

The Exec line should show:

Exec=sh -c "export DBUS_SYSTEM_BUS_ADDRESS=unix:path=/var/run/dbus/system_bus_socket; pkexec calamares"

This is installed automatically by sudo ./scripts/install-config.sh.

Installation Fails

  1. Check partition module:
  2. Ensure target disk is available
  3. Check for sufficient disk space
  4. Verify partition table type (GPT for UEFI)

  5. Check bootloader:

  6. For UEFI: Ensure EFI partition exists
  7. For BIOS: Ensure GRUB can write to MBR

Post-Install Cleanup Fails

Check the Calamares log for errors during the shellprocess-cleanup module:

cat /var/log/calamares/session.log | grep cleanup

System Requirements

Build System (where you create the ISO)

  • Devuan 6 (Excalibur) installed
  • Root/sudo access
  • Minimum 20GB free disk space
  • Internet connection for packages

Live ISO (target system to run the installer)

  • 64-bit x86 processor (amd64)
  • Minimum 2GB RAM (4GB recommended)
  • 10GB free disk space for installation
  • UEFI or BIOS firmware

Thanks to these great devs

License

All configuration files are released under CC0-1.0 (public domain).

Source: README.md, updated 2026-04-12