Skip to content

Releases: Firstp1ck/archinstall-rs

Release v0.2.3

23 Mar 21:57
v0.2.3
fca92ef

Choose a tag to compare

Release date: 2026-03-23

Highlights

  • Bootloader reliability: Major hardening for EFISTUB, Limine, and systemd-boot. UEFI fallback paths (EFI/BOOT/BOOTX64.EFI) and better efibootmgr handling improve first-boot success when NVRAM entries are missing or unreliable.
  • UKI support expanded: UKI flow is now wired through install planning for supported bootloaders, with matching sysconfig/kernel preset behavior and improved artifact handling.
  • Secure Boot awareness: More robust Secure Boot detection (efivars + fallbacks), clearer status in the TUI, and safer policy enforcement for EFISTUB + UKI combinations.

Improvements & fixes

  • Multi-kernel boot entries are now generated for selected kernels in bootloader plans.
  • EFISTUB diagnostics improved (ESP paths, artifact checks, efibootmgr stderr/return codes) to make VM/firmware issues easier to troubleshoot.
  • UEFI path and partition lookup fixes (PARTN, escaped loader paths, cleaner NVRAM entry matching/reordering) reduce boot-entry misconfiguration risks.
  • UX/docs updates: EFISTUB is clearly labeled experimental, and boot/UKI guidance in TUI + docs is more explicit.

Risky / review before relying on it

  • Boot pipeline changes in this release are concentrated in bootloader + UKI + Secure Boot logic. Do at least one real or VM install test (not only dry-run) if you depend on EFISTUB, Limine, or Secure Boot.
  • For safety, re-check partitioning, encryption, and bootloader selections in the TUI before confirming install.

Breaking changes

  • None intended for normal TUI users. EFISTUB behavior and labels changed significantly and are now explicitly marked experimental.

Arch ISO (one command)

curl -fsSL https://github.com/Firstp1ck/archinstall-rs/releases/download/v0.2.3/install.sh | bash

Or download archinstall-rs and SHA256SUMS from this release and run sha256sum -c SHA256SUMS && chmod +x archinstall-rs && ./archinstall-rs.

Release v0.2.2

21 Mar 22:49
v0.2.2
ee1db83

Choose a tag to compare

Release date: 2026-03-21

Highlights

  • Load configuration: Presets are listed in a searchable table (country, language, desktop, notes) driven by configs/examples/manifest.toml, with discovery from env overrides, the directory next to the binary, and cwd ancestors.
  • Examples & releases: More locale and popular example TOMLs under configs/examples/; CI still ships config-examples.tar.gz (and the install script unpacks it). Many refreshed examples use GRUB and document AUR helpers where relevant—always confirm bootloader and packages match your hardware before installing.
  • Install log: Child stdout is parsed with carriage-return handling so spinner-style progress updates in place instead of flooding the log.

Improvements & fixes

  • Config load: Missing root_password_hash no longer triggers a bogus “missing section” warning; set the root password in the TUI when you rely on plaintext flow.
  • Docs: README slimmed toward pointers; configuration, install, usage, and development docs expanded (preset layout, mirrors, desktop packages).

Risky / review before relying on it

  • Install pipeline (flow + stdout pumping) changed; do a real or VM install after upgrading, not only dry-run, if you care about long-running command output.
  • Preset content (bootloader, AUR, disk hints) is opinionated; loading a preset does not replace double-checking partitioning, encryption, and bootloader choices in the TUI.

Breaking changes

  • None intended for normal TUI users. Paths and labels for bundled examples moved under configs/examples/; old “load from cwd only” behavior is replaced by the preset popup plus optional local archinstall-rs.config.toml.

Before tagging v0.2.2: set version = "0.2.2" in Cargo.toml and update Cargo.lock if needed.

Suggested verification

  • cargo build --release
  • cargo test
  • On an Arch ISO or test VM: cargo run -- --dry-run (and a short non-destructive flow) after loading a preset you care about

Arch ISO (one command)

curl -fsSL https://github.com/Firstp1ck/archinstall-rs/releases/download/v0.2.2/install.sh | bash

Or download archinstall-rs and SHA256SUMS from this release and run sha256sum -c SHA256SUMS && chmod +x archinstall-rs && ./archinstall-rs.

Release v0.2.1

21 Mar 18:37
v0.2.1
1b26ed3

Choose a tag to compare

Release date: 2026-03-21

Highlights

  • Storage: One validated storage plan drives partitioning, mounts, and fstab; btrfs subvolume presets (flat / standard / extended); pre-mounted installs when /mnt is already set up.
  • LUKS: Safer, quieter crypto setup (stdin passphrases, redacted logs), initramfs hooks and kernel cmdline that match your mkinitcpio style (systemd/sd-encrypt vs classic encrypt), and fewer false failures when mkinitcpio exits non-zero on warnings only.
  • Firmware & mounts: systemd-boot is blocked on BIOS/legacy with a clear hint to use GRUB; ESP vfat mounting is more reliable (FAT support check, fallbacks, better recovery when the live ISO kernel and modules disagree).

New

  • Pre-mounted mode with cached mount/swap probes and clearer info in the disks flow.
  • Optional btrfs_subvolume_preset in saved config ([disks]); omitted configs behave like before (flat).
  • Release workflow assets: tagged builds publish the binary, SHA256SUMS, and install.sh for the documented curl-to-bash install path.

Improvements & fixes

  • LUKS: correct bootloader/kernel options when the root is on btrfs subvolumes; tighter mkinitcpio HOOKS= detection; non-interactive cryptsetup and stronger dm-crypt module loading.
  • Manual partitioning: clearer parted byte-range rules (length vs end), overlap / past-100% rejection; btrfs preset available in manual mode when root is btrfs.
  • BIOS GRUB in pre-mounted setups resolves the whole-disk target from mounts and disk selection.
  • Preflight can warn when the live environment’s kernel and module versions look mismatched (a common ESP mount footgun).

Breaking changes

  • None for normal TUI/config users. Internal APIs used only by tests or forks may need updates (e.g. bootloader planning now takes the storage plan).

Arch ISO (one command)

curl -fsSL https://github.com/Firstp1ck/archinstall-rs/releases/download/v0.2.1/install.sh | bash

Or download archinstall-rs and SHA256SUMS from this release and run sha256sum -c SHA256SUMS && chmod +x archinstall-rs && ./archinstall-rs.

v0.2.0

15 Oct 00:05

Choose a tag to compare

v0.2.0 Pre-release
Pre-release

archinstall-rs v0.2.0

Release date: 2025-10-14

Highlights

  • Optional LUKS encryption for the root partition
  • Info popup rendering supports multi-line messages (line breaks are preserved), improving readability of longer messages.

New

  • Optional LUKS encryption for the root partition; opens as cryptroot when enabled.
  • Info popup rendering supports multi-line messages (line breaks are preserved), improving readability of longer messages.

Improvements

  • Safer bootloader setup flows:
    • Systemd-boot: installs via bootctl, writes loader.conf, and creates standard arch.conf and fallback entries
    • GRUB: supports both UEFI and BIOS installs
  • More robust handling of device names such as NVMe (/dev/nvme0n1pX) during mounting.
  • Clearer live logging throughout install sections and better debug messages.

Breaking changes

  • None.

Known limitations

  • Advanced storage layouts (LVM/RAID, complex Btrfs subvolumes) are not yet implemented in the automatic partitioner.

Thanks

Thanks to everyone testing early builds and reporting issues—your feedback directly shaped this release.

v0.1.0

19 Sep 17:42

Choose a tag to compare

v0.1.0 Pre-release
Pre-release

Release Notes - archinstall-rs v0.1.0

Release Date: 19.09.2025
Version: 0.1.0
Status: MVP (Minimum Viable Product)

🎉 What's New

This is the first major release of archinstall-rs, a modern TUI installer for Arch Linux written in Rust. This MVP release provides a solid foundation for Arch Linux installation with an intuitive terminal interface.

✨ Key Features

🖥️ Modern TUI Interface

  • Built with ratatui for responsive terminal interface
  • Intuitive navigation with arrow keys and keyboard shortcuts
  • Real-time configuration preview and validation

🔧 Core Installation Features

  • Configuration Management: Save and load installation configurations in TOML format
  • Disk Management: Automatic best-effort partitioning with GPT layout
  • Bootloader Support: systemd-boot (UEFI) and GRUB (UEFI/BIOS)
  • Package Management: Mirror configuration with reflector integration
  • System Configuration: Locale, timezone, hostname, and keyboard layout setup
  • User Management: Root password and user account creation with sudo privileges

🛡️ Safety Features

  • Dry-run Mode: Preview all installation commands before execution
  • Safety Checks: Abort if target disk has mounted partitions
  • Confirmation Dialogs: Wipe confirmation for already partitioned devices
  • Installation Progress: Real-time progress tracking and log viewer

📦 Partitioning Strategy

  • GPT Layout: Modern partitioning with GUID Partition Table
  • EFI System Partition: 512MiB for UEFI systems
  • BIOS Boot Partition: 1MiB for GRUB on BIOS systems
  • Swap Partition: 4GiB automatic sizing (configurable)
  • Root Filesystem: Btrfs for modern filesystem features
  • Optional LUKS: Disk encryption support (planned for future releases)

📋 System Requirements

Build Requirements

  • Rust 1.70 or later (2024 edition)
  • Cargo package manager

Runtime Requirements

  • Arch Linux live environment (USB/ISO)
  • UEFI or BIOS system
  • Internet connection for package downloads
  • Minimum 512MB RAM (1GB+ recommended)
  • Minimum 2GB disk space (20GB+ recommended)

⚠️ Current Limitations

What Works

  • ✅ 64-bit systems
  • ✅ UEFI systems
  • ✅ Best-effort partitioning only
  • ✅ GRUB and systemd-boot bootloaders
  • ✅ NetworkManager for networking
  • ✅ Desktop Environment experience mode

Known Issues

  • ⚠️ View may appear stuck at the end, but installation completes successfully
  • ⚠️ Installation progress view needs improvement
  • ⚠️ Manual partitioning partially implemented. Simple partitioning possible.

Not Yet Implemented

  • ❌ Disk encryption/LUKS (planned for v0.2.0)
  • ❌ Custom server/repository configuration
  • ❌ Unified Kernel Images (Secure Boot support)
  • ❌ RAID and LVM support
  • ❌ Advanced bootloader options (EFISTUB, Limine)

🎮 Usage

Basic Installation Flow

  1. Boot into Arch Linux live environment
  2. Ensure internet connection
  3. Download via curl -LO https://github.com/Firstp1ck/archinstall-rs/releases/download/v0.1.0/archinstall-rs
  4. Check ShaSum:
  • github_sha_full="<Insert copied sha from the binary>"
  • echo "${github_sha_full#sha256:} archinstall-rs" | sha256sum -c - >/dev/null && echo "Checksums match!" || echo "Checksums do not match!"
  1. Make executable with chmod +x archinstall-rs
  2. Run ./archinstall-rs
  3. Navigate through configuration sections
  4. Review your setup
  5. Start installation

Navigation

  • Arrow Keys: Navigate menu and content
  • Enter: Select/Confirm/Run actions
  • Esc/q: Close popups or return to menu
  • Ctrl-C: Quit application

🔧 Configuration

The installer supports saving configurations in TOML format for reproducible installations:

[users]
users = []
additional_packages = []

[locales]
keyboard_layout = "us"
locale_language = "en_US.UTF-8"

[mirrors]
regions = ["United States"]
optional_repos = ["multilib"]

[disks]
mode = "Best-effort partition layout"

[bootloader]
kind = "systemd-boot"

[system]
hostname = "archlinux"
automatic_time_sync = true
timezone = "Europe/London"

🛠️ Technical Details

Architecture

  • Language: Rust (2024 edition)
  • TUI Framework: ratatui
  • Configuration: TOML format
  • Partitioning: parted, mkfs, cryptsetup
  • Package Management: pacstrap, pacman

Project Structure

  • Modular design with separate modules for each installation section
  • Clear separation between UI, logic, and data layers
  • Type-safe configuration management
  • Comprehensive error handling

🐛 Bug Reports

If you encounter any issues, please report them on GitHub Issues with:

  • Clear description of the problem
  • Steps to reproduce
  • System information
  • Relevant configuration files
  • Error messages or logs

📜 License

This project is licensed under the MIT License - see the LICENSE file for details.

🙏 Acknowledgments

  • The Arch Linux community for excellent documentation
  • The ratatui team for the TUI framework
  • The original archinstall Python project for inspiration
  • All contributors who help improve this project

⚠️ Disclaimer

This installer modifies disk partitions and system configurations. Always backup important data before using. The developers are not responsible for any data loss or system damage that may occur.


Made with ❤️ and 🦀 for the Arch Linux community