Skip to content

add Artix containers (Base and Minimal) - #8

Open
diverselightchara wants to merge 12 commits into
Droidspaces:mainfrom
diverselightchara:main
Open

add Artix containers (Base and Minimal)#8
diverselightchara wants to merge 12 commits into
Droidspaces:mainfrom
diverselightchara:main

Conversation

@diverselightchara

Copy link
Copy Markdown

Artix OpenRC containers built from the Armtix tarball. Took a few tries to get working because the tarball has some quirks:

  • kernel packages in the tarball trigger mkinitcpio hooks during upgrade which obviously fails in docker since there's no /boot. had to remove them before upgrading
  • eudev got yeeted from Artix repos, they use plain udev now
  • pacman's landlock sandbox breaks in any container (and even Docker) so we disable it in pacman.conf
  • removed all the linux-firmware packages since they're pointless in a container
  • the locale.gen sed wasn't matching because the tarball uses #en_US.UTF-8 without a space
  • deleted the default Armtix user

If any additional changes need to be done, please do let me know.

diverselightchara and others added 12 commits September 3, 2026 01:04
Add minimal and base Artix Linux Dockerfiles as systemd-free alternatives
to the existing Arch templates.

- Uses artixlinux/artixlinux:base-openrc base image
- Replaces systemd-udev with eudev
- OpenRC service management with rc-update
- Conditional NetworkManager startup for NAT/gateway mode
- Restricted udev coldplug trigger for Android compatibility
- All Android AID groups and iptables-legacy fixes preserved

Base variant includes dev tools (base-devel, clang, llvm, valgrind,
strace, python) and docker-openrc.

Signed-off-by: Chara <bionichuman07@gmail.com>
Add minimal and base Artix Linux Dockerfiles as systemd-free alternatives
to the existing Arch templates.

- Uses Armtix rootfs tarball for ARM64 support
- Replaces systemd-udev with eudev
- OpenRC service management with rc-update
- Conditional NetworkManager startup for NAT/gateway mode
- Restricted udev coldplug trigger for Android compatibility
- All Android AID groups and iptables-legacy fixes preserved

Base variant includes dev tools (base-devel, clang, llvm, valgrind,
strace, python) and docker-openrc.
…ymlinks

Armtix tarball uses merged-usr layout without legacy /bin symlinks.
Use alpine stage to download, extract, and create symlinks before
copying to scratch base.
Pacman 7 uses Landlock sandboxing which requires kernel support not
available in Docker containers. Use --disable-sandbox flag.
Containers do not need kernel, initramfs, or firmware packages.
Ignoring them prevents mkinitcpio from failing when it cannot find
the kernel image in a Docker build environment.
The tarball ships with linux-aarch64, linux-aarch64-lts, and mkinitcpio
pre-installed. Even with --ignore, pacman still runs post-transaction
hooks for existing packages. Remove them first so mkinitcpio never runs.
eudev and eudev-openrc were removed from Artix repos.
The base tarball includes udev-261.2 via system upgrade.
- Remove linux-firmware-* packages (useless in containers)
- Add DisableSandbox to pacman.conf (avoids landlock issues)
- Delete default armtix user from tarball

Applied to both Minimal and Base Dockerfiles.
Previously appended to end of file which put it in wrong section.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant