# Debian Atomic Desktop - Phase 2: Calamares Installer

This is Phase 2 of the Debian Atomic Desktop project, focusing on creating a bootable ISO with a Calamares installer that can deploy the atomic image.

## Project Overview

Phase 2 builds upon the Phase 1 foundation to create a complete installation experience. The goal is to create a bootable ISO that presents a Calamares installer, which successfully installs the minimal atomic image created in Phase 1.

**Note: This build system is designed to create Debian Trixie ISOs from Ubuntu Noble hosts.**

## Prerequisites

- Ubuntu Noble host system
- `live-build` for creating the live ISO environment
- `calamares` package and dependencies
- `qemu-system-x86_64` for testing the ISO
- Access to the Phase 1 image (either embedded or from a registry)
- Internet connection for downloading Debian Trixie packages

## Quick Start

1. **Build the installer ISO:**
   ```bash
   just build-iso
   ```

2. **Test the ISO in QEMU:**
   ```bash
   just test-iso
   ```

3. **Clean up build artifacts:**
   ```bash
   just clean-iso
   ```

## Available Commands

Use `just --list` to see all available commands.

### Build Commands
- `just build-iso` - Build the bootable ISO with Calamares installer
- `just build-iso-debug` - Build with debug output

### Testing Commands
- `just test-iso` - Test the ISO in QEMU
- `just test-iso-gui` - Test with GUI (if available)

### Maintenance Commands
- `just clean-iso` - Clean up ISO build artifacts
- `just clean-all` - Clean all build artifacts

## ISO Contents

The Phase 2 ISO includes:
- Minimal Debian live environment
- Calamares installer with custom configuration
- Integration with the Phase 1 atomic image
- Automated partitioning and installation

## Configuration

The installer uses custom Calamares configuration files:
- `calamares/settings.conf` - Main settings
- `calamares/modules/` - Module configurations
- `calamares/branding/` - Custom branding

## Installation Process

1. Boot from the ISO
2. Calamares installer launches automatically
3. User configures language, location, and user account
4. Installer partitions the disk and installs the atomic image
5. System reboots into the installed atomic desktop

## Next Steps

This is Phase 2 of the roadmap. Future phases will include:
- Phase 3: Desktop environment and kernel modules
- Phase 4: Polish and distribution

## Development

The project uses:
- `live-build/` - Live ISO build configuration
- `calamares/` - Calamares installer configuration
- `justfile` - Build automation
- `scripts/` - Helper scripts for the build process 