ubuntu-vanilla-build

Ubuntu CLI Installer

A TTY-friendly, Calamares-equivalent installer for the Ubuntu Vanilla Build live ISO. It walks the user through the same stages as scripts/calamares/settings.conf (welcome → locale → keyboard → partition → users → summary → mount → unpackfs → machineid → fstab → locale → keyboard → users → displaymanager → networkcfg → hwclock → initramfs → grubcfg → bootloader → packages → umount → finished) but entirely from a shell.

Why

Usage

The script is a single self-contained bash file (install-system). To use it on the live system, make it executable first, then copy it into the system (e.g. /usr/local/bin/), then run it:

# 1. Make it executable FIRST (a fresh checkout from the repo is not
#    always +x):
chmod +x install-system

# 2. Copy the script into the system — install(1) sets mode 0755 in one step:
sudo install -m 0755 install-system /usr/local/bin/

# 3. Run it as a normal system command:
sudo install-system

If you are iterating on the script and only need it on the live system temporarily, you can skip step 2 and run it in place:

chmod +x install-system
sudo ./install-system

The script is strictly interactive by design — every step asks the user on the TTY.

UI mode

At the welcome screen the user is asked which interface to use:

  1. TUI (whiptail/dialog boxes) — recommended, falls back to plain text if neither whiptail nor dialog is installed.
  2. Plain text prompts — pure read based, works in any TTY, zero extra dependencies.

What it covers

Step Source of truth in Calamares
Locale calamares/i18n/SUPPORTED (curated UTF-8 list)
Timezone calamares/modules/locale.conf (useSystemTimezone, no GeoIP)
Disk calamares/modules/partition.conf (GPT, 512 MiB ESP, 4 GiB swap, root fills rest)
User calamares/modules/users.conf (sudo group, /bin/bash, minLength 8)
Initramfs calamares/modules/shellprocess_bug-LP#1829805.conf
Bootloader calamares/modules/bootloader.conf + grubcfg.conf (GRUB_ENABLE_CRYPTODISK)
Packages calamares/modules/packages.conf (remove calamares/casper/…, try-install language packs)

What it does not cover

Files