Stage 6: server image with a console installer (0.4.0)

- server/ profile and build-iso.sh [desktop|server]; make iso-server,
  make qemu-server, run-qemu.sh --serial; login on tty and ttyS0
- das-server: SSH, chrony, NetworkManager/dhcpcd, Docker with Compose,
  nftables (closed except SSH, own table), fail2ban reading socklog,
  sshd without root passwords, Docker log rotation, tools
- das-server-install: dialog installer in Ukrainian and English, or
  unattended with --config; GPT + Btrfs subvolumes, GRUB for UEFI and BIOS,
  serial console, SSH key with optional keys-only logins
- das-install-common: mount-source and postinstall shared with Calamares
- dsv: runit service manager (list, enable, disable, start, stop,
  restart, status, logs) with bash completion, also on the desktop
- das-update split into a subpackage without GTK; the window and tray
  icon move to /usr/libexec/das/das-update-gui
- das-snapper-setup enables dbus, which snapper needs
- TODO: ISO size review with measured numbers and options

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
das
2026-10-19 21:28:26 +03:00
co-authored by Claude Opus 5.5
parent 5349a028c8
commit eba4516998
42 changed files with 1454 additions and 114 deletions
+9 -1
View File
@@ -1,13 +1,15 @@
# Das OS build entry points. Everything except QEMU runs in the Void builder container.
.PHONY: help packages iso qemu qemu-bios qemu-disk test clean
.PHONY: help packages iso iso-server qemu qemu-bios qemu-disk qemu-server test clean
help:
@echo "make packages build srcpkgs/* into the local repository (out/hostdir/binpkgs)"
@echo "make iso build packages, then the live ISO (out/iso)"
@echo "make iso-server build packages, then the server ISO (out/iso)"
@echo "make qemu boot the newest ISO in QEMU with UEFI"
@echo "make qemu-bios boot the newest ISO in QEMU with legacy BIOS"
@echo "make qemu-disk boot with a 20 GB virtual disk attached (for installer tests)"
@echo "make qemu-server boot the newest server ISO on a serial console, with the disk"
@echo "make test run Go tests"
@echo "make clean remove build output (keeps download caches)"
@@ -17,6 +19,9 @@ packages:
iso: packages
scripts/builder.sh /work/scripts/container/build-iso.sh
iso-server: packages
scripts/builder.sh /work/scripts/container/build-iso.sh server
qemu:
scripts/run-qemu.sh
@@ -26,6 +31,9 @@ qemu-bios:
qemu-disk:
scripts/run-qemu.sh --disk
qemu-server:
scripts/run-qemu.sh --serial --disk
test:
cd srcpkgs/das-theme/files/xfwm4gen && go test ./...
cd srcpkgs/das-tools/files/src && go test ./...