Skip to content

Arctic Linux - Alpha 2.4

Choose a tag to compare

@apiwo apiwo released this 17 Aug 15:28
· 55 commits to main since this release

Arctic Linux Alpha 2.4Arctic-linux-a2.4.iso, x86_64, 695 MiB.

Wireless on a fresh install was a closed loop: no iw, no way to scan, no way
to install iw because that needs the network iw is what's missing. This
closes it, and fixes what an actual install run on real hardware turned up
along the way.

A fresh install could not get onto wireless, ever

iw was on the live image (so the live session could scan and connect) but
was never part of what lands on the installed system. PKGS_NET carried
networkmanager, wpa_supplicant, curl and dbus — no iw, no
wireless-regdb. First boot of a finished install had wpa_supplicant to
associate with a network, and nothing that could find one to associate with:

Wireless? Run wifi-connect ...
!! iw is not installed - cannot scan (alpm add iw)
> doas alpm add iw
E: wget: bad address 'raw.githubusercontent.com'

iw and wireless-regdb are in PKGS_NET now, so a fresh install can scan
and connect the moment it boots, exactly like the live session it was
installed from.

Installing network tools is not optional any more

PKGS_NET failing used to print a warning and continue. A machine that boots
with no network path, can't reach a repository, and can't scan for one either
is a worse failure than stopping the install while the medium is still in the
drive — so this step is bail now, the same as the base system and the
kernel.

The installer fetches repositories itself, first

alpm fetch all used to be something you ran by hand before arctic-install,
or the install proceeded against whatever the live session's package index
happened to already be — current if someone remembered to sync it, stale
otherwise. It is the first thing arctic-install does now, before it even
looks at the target disk.

A failed install left the disk mounted for the next attempt to trip over

mke2fs refuses outright to format a mounted device - "is mounted; will not
make a filesystem here!" - which is correct and unhelpful when the reason it's
mounted is that the previous attempt failed without cleaning up. Two fixes:

  • make_root_fs unmounts the target device from wherever it's currently
    mounted before it tries to format it.
  • bail unmounts everything under the target, deepest path first, on any
    failure - so a retry starts clean instead of needing umount -R by hand.

The console

  • The prompt is one line. It printed user@host path on one line and a
    colour-coded > on a line of its own below it. The arrow is the end of the
    same line now; the colour still marks root and the last exit status.
  • Tab completion works without a hidden prompt. compinit checks that
    every directory in $fpath has sane permissions, and asks what to do about
    it when one doesn't - a prompt with no terminal history to answer it, on a
    fresh boot, that silently disabled every completion after it. -u skips
    the check; Arctic controls those permissions itself.
  • The first-login message has no mascot, matching the live session's
    welcome screen from a2.2 - a first login is not the place for one either,
    and neither is a message someone will see once and then never again.

Known

  • gmp-alt has no binary package, so nftables cannot install and the
    firewall does not come up.
  • No web browser; firefox, librewolf, chromium and qutebrowser all need Rust.
  • No audio — wireplumber will not build against the packaged lua.
  • No terminfo database, so tput does not work.
  • initialization freezes at boot; not diagnosed yet.

Install

dd if=Arctic-linux-a2.4.iso of=/dev/sdX bs=4M status=progress conv=fsync

Run wifi-connect if you need wireless, edit /etc/arctic/install.conf, run
arctic-install.