feat: add disk-deploy core, disk image builder, and installer
- deploy-disk.sh: the shared "write a finished system to a disk" step — partition (GPT bios/efi) -> btrfs layout via btrfs/init.sh -> rsync rootfs -> chroot (real fstab, GRUB, hostname). Carries the optional ARCLINE_SIGN hook; the signing tooling itself lands in a later commit. - apply-fstab.sh: renders the edition fstab template with real root/efi UUIDs and drops the swap line. - build-image.sh: rootfs -> bootable qcow2/raw disk image (sparse file + loop device + deploy), the cloud edition's primary output. - install.sh: scripted installer for a real disk, confirmation-gated. - Makefile: image-<edition> targets (+ minimal variants); build-edition.sh learns the "image" stage; cloud metadata now ships a disk image. - check-host-deps.sh / GitLab CI: add gdisk, parted, rsync, dosfstools, qemu-utils, dpkg, sbsigntool to the build image.
This commit is contained in:
@@ -31,9 +31,9 @@ validate:
|
||||
image: debian:bookworm
|
||||
before_script:
|
||||
- apt-get update -qq
|
||||
- apt-get install -y -qq debootstrap squashfs-tools grub2-common xorriso cpio curl git make bash
|
||||
- apt-get install -y -qq debootstrap squashfs-tools grub2-common xorriso cpio curl git make bash gdisk parted rsync dosfstools qemu-utils unzip dpkg openssl sbsigntool
|
||||
script:
|
||||
- make iso-${EDITION}
|
||||
- make ${TARGET:-iso}-${EDITION}
|
||||
artifacts:
|
||||
name: "arcline-${EDITION}-${VERSION}"
|
||||
paths:
|
||||
@@ -58,6 +58,7 @@ build-cloud:
|
||||
extends: .build
|
||||
variables:
|
||||
EDITION: cloud
|
||||
TARGET: image # cloud edition ships as a qcow2 disk image
|
||||
|
||||
# ── test ────────────────────────────────────────────────────────────────────
|
||||
test:
|
||||
|
||||
Reference in New Issue
Block a user