Skip to content

Releases: apiwo/arctic-linux

Arctic Linux 2026.07.31

Choose a tag to compare

@apiwo apiwo released this 31 Jul 16:03

LUKS disk encryption, fonts, and a Slackware-style package browser - plus the dependency bug that would have made encryption silently unusable.

Installer: many more options

arctic-conf grew three new steps:

  • Disk encryption - full-disk LUKS2, asked once per install, sitting under whichever filesystem was chosen (every one except zfs, which has its own native encryption).
  • Fonts - a checklist: JetBrains Mono, Nerd Font symbols, Noto, Noto Emoji, DejaVu, Liberation.
  • Extra packages - a Slackware-style category browser instead of one long list: terminals, editors, browsers, media, developer tools, virtualisation/containers, gaming, CLI utilities, office/comms.

Making encryption actually boot

Three things had to exist that did not:

  1. arctic-mkinitramfs did not exist at all, despite being called from four places. Arctic's kernel builds its storage/filesystem drivers directly in, so a plain install never needed an initramfs - but an encrypted root needs a passphrase prompt before anything else, and dm-crypt is the one thing this kernel keeps as a module. Written now: bundles cryptsetup + the crypto/dm-crypt modules only when /etc/crypttab has a real entry, generates an /init that reads rd.luks.uuid= off the kernel command line and retries the passphrase up to 5 times.
  2. cryptsetup could not run - libpopt.so.0, and nothing in Arctic ever packaged popt. Added it as its own port, rebuilt cryptsetup, and verified for real: a full luksFormatopenclose cycle against a loopback file through Arctic's own dynamic linker, including confirming a wrong passphrase is correctly rejected.
  3. cryptsetup was not reachable during the live install session, only after chrooting into the target. Added a live self-install (ensure_cryptsetup) from the same bundled repo the rest of the installer already uses.

Also renamed arctic-service to service, and recovered a tmux build fix that a manifest edit had silently clobbered (now protected so it can't happen again).

Full details in docs/STATUS.md.

Arctic Linux 2026.07.30

Choose a tag to compare

@apiwo apiwo released this 30 Jul 16:51

Update (2026-07-30, later build): the ISO on this release was replaced. The
first boot of the original image found lsblk/cfdisk/sfdisk/wipefs and
the rest of the disk toolkit either doing nothing or printing "This is a
wrapper script", and iwctl failing with a missing shared library error. Both
were native-build library-linking bugs (host libtool wrapper scripts copied
instead of the real binaries, then those binaries linking the build host's GNU
ncurses/readline instead of Arctic's own netbsd-curses/libedit) - fixed and
verified by booting the rebuilt image and running each tool for real. See
docs/STATUS.md in the repo for the full writeup. The image is now 665 MiB,
up from 282 MiB, since it also carries firmware and the full disk-partitioning
toolkit that the first build was missing.


One image, boots to a TTY running zsh. No desktop, no display manager, and no bash anywhere in the tree — /bin/sh is busybox ash.

Arctic-minimal · hybrid BIOS + UEFI · 665 MiB · boots from a disc or a USB stick written with dd.

glibc 2.44 · toybox 0.8.14 (static, 0BSD) · busybox 1.38.0 · zsh 5.9.2
doas · netbsd-curses · bmake · byacc · one true awk · mandoc
Limine · kernel 7.1.3-arctic-base · alpm

NVIDIA proprietary works

Verified by resolving the real driver against Arctic's libraries — nothing missing:

libnvidia-api.so.1     missing=0    (takes libstdc++.so.6 from Arctic)
libnvidia-rtcore.so    missing=0    (takes libgcc_s.so.1 from Arctic)
libnvidia-glcore.so    missing=0
nvidia-smi             missing=0

That needs three GNU pieces and no more: gcc-libs (libstdc++ and libgcc_s, runtime only — not the compiler), gmake for kbuild, and libglvnd so NVIDIA GL and mesa coexist. /usr/bin/make is still bmake and the userland is unchanged.

Installing the driver asks first: Let alpm auto configure this driver or leave it be? N/y

Profile packages

New profile repo — install one and get a configured desktop, not a bare component. alpm warns before it touches anything.

niri-dms · arctic-kde · arctic-xfce · apiwow-dwm

Packages

arctic-repo-2026.07.30.tar holds 33 packages that passed verification — each one installed into a clean root, every claimed file checked present, checksums confirmed, every ELF resolved, and removed cleanly again. base-devel is deliberately absent: LLVM and cmake are not built yet.

The ISO carries these repositories on the medium, so it installs a complete system with no network:

mount /dev/nvme0n1p1 /mnt
arctic-strap /mnt
mount /dev/nvme0n1p2 /mnt/boot
arctic-strap boot /mnt/boot

Try it: qemu-system-x86_64 -m 4096 -smp 4 -cdrom Arctic-minimal-2026.07.30-x86_64.iso -boot d