Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
143 commits
Select commit Hold shift + click to select a range
06350c6
captain: fix .isEnabledFor(logging.DEBUG) calls
rpardini Apr 2, 2026
af0ed18
captain: force type console in __init__.py
rpardini Apr 2, 2026
a71a35a
captain: catch required arg and loosen type (WiP: other way around.)
rpardini Apr 2, 2026
735200a
captain: util: Rich rule's separating run() output
rpardini Apr 2, 2026
11a95fa
captain: better logging; `in-docker: ` prefix
rpardini Apr 2, 2026
b94ca88
captain: add .editorconfig matching ruff
rpardini Apr 3, 2026
3056c09
docker/mkosi: mount a Docker Volume at /work, so mkosi can cache the …
rpardini Apr 3, 2026
fa95ce5
util: use a Panel to log the full subprocess command line
rpardini Apr 3, 2026
41637e2
captain: introduce Config build_kernel boolean
rpardini Apr 3, 2026
493bfc0
WiP: use linux-image-generic distro kernel
rpardini Apr 3, 2026
e861d9d
gha: skip all kernel stuff
rpardini Apr 3, 2026
6a84607
gha: single matrix except for combined amd64/arm64 image at the end
rpardini Apr 3, 2026
4488b78
mkosi.conf: just use tiny-initramfs instead of blocking the others (d…
rpardini Apr 3, 2026
15307b3
mkosi.finalize: export DTBs for arches that have them
rpardini Apr 3, 2026
5bcb47b
artifacts: collect `dtb` `mkosi.output` folder into `out/`
rpardini Apr 3, 2026
20ade48
publish: publish DTBs in OCI image as a directory
rpardini Apr 3, 2026
5414755
kernel: drop all kernel-build related code
rpardini Apr 3, 2026
52d97d9
mkosi.finalize: drop kernel sound/media/net-wireless modules
rpardini Apr 3, 2026
3117a14
gha: introduce FLAVOR_ID (nee KERNEL_VERSION)
rpardini Apr 3, 2026
1d65365
release: include cfg.kernel_version as suffix to all tags
rpardini Apr 3, 2026
408f435
gha: bump external actions so GHA stops complaining about Node 24
rpardini Apr 3, 2026
63c7321
gha: pass DEFAULT_FLAVOR_ID as KERNEL_VERSION for publish-combined
rpardini Apr 3, 2026
edbd2fa
captain/gha: KERNEL_VERSION (et al) is now FLAVOR_ID
rpardini Apr 3, 2026
2afad9f
captain: cleanups / doc updates WiP (drop kernel build-related)
rpardini Apr 3, 2026
3ffa625
captain: DEFAULT_FLAVOR_ID = "trixie-full"
rpardini Apr 3, 2026
f529db9
flavors: introduce flavors
rpardini Apr 4, 2026
acd4d36
gha: add trixie-rockchip64 flavor
rpardini Apr 5, 2026
dab824f
stages: show what tools_mode is running
rpardini Apr 5, 2026
9a78e6e
gha: pass --arch to build.py build
rpardini Apr 5, 2026
07ad4ab
common_debian: add 01nopty with `Dpkg::Use-Pty "0";` to mkosi sandbox…
rpardini Apr 5, 2026
f7299fd
captain: add support for mkosi skeleton tree
rpardini Apr 6, 2026
73f5579
common_debian: common bash header with logging, sprinkle some dust on…
rpardini Apr 6, 2026
5e30a23
mkosi.conf: output a JSON manifest
rpardini Apr 6, 2026
291d12e
mkosi.conf: force tools tree to be Debian Trixie
rpardini Apr 6, 2026
ecbb013
mkosi.conf: use sandbox tree also for tools tree
rpardini Apr 6, 2026
c673d69
flavor: ensure flavor supports requested architecture
rpardini Apr 6, 2026
4fcdfce
flavors: cleanup a bit
rpardini Apr 6, 2026
71eb40a
flavors/gha: introduce meson64 flavor
rpardini Apr 6, 2026
8ce0d98
docker: never interactive, never a terminal
rpardini Apr 6, 2026
0a9e051
cli/flavor: pass Flavor down to build and initramfs cmds; introduce B…
rpardini Apr 6, 2026
222a379
gha/docker: set and pass down FORCE_COLOR=1
rpardini Apr 6, 2026
9480df9
captain: don't shorten out logging record name
rpardini Apr 6, 2026
d606306
buildah: take env BUILDAH_INSECURE=1 for `--tls-verify=false`
rpardini Apr 6, 2026
eb47667
release: pass flavor down to release, avoid releasing iso for !has_iso
rpardini Apr 6, 2026
ead10d6
cli: new cli under `click_cli`
rpardini Apr 6, 2026
ff8cdc1
click: add tools command
rpardini Apr 6, 2026
324e102
click: some sugar, list available flavors via reflection
rpardini Apr 6, 2026
5a7ecfb
docker: build_builder(): more info
rpardini Apr 6, 2026
935a4f6
click: kill old tools cli (keep stage)
rpardini Apr 6, 2026
b697b4e
click: add iso command back
rpardini Apr 6, 2026
1727783
gha: switch to click cli
rpardini Apr 6, 2026
fcfbefe
gha: release-publish
rpardini Apr 7, 2026
2b42bb8
captain: rework `obtain_builder`
rpardini Apr 7, 2026
57a2a3b
gha: separate build-dockerfile arch-based matrix job
rpardini Apr 7, 2026
7e847b3
captain: adapt to options moved to common
rpardini Apr 7, 2026
799f675
captain: simplify Rich logging and trace handler
rpardini Apr 7, 2026
79b4569
gha: force tools to run native
rpardini Apr 7, 2026
556e8e8
docker/Dockerfile: consolidate single Dockerfile; split and balance l…
rpardini Apr 7, 2026
59b01b4
docker: rework re-launching inside docker & docker envs
rpardini Apr 7, 2026
38b26aa
docker/mkosi: get rid of tools tree; back to Debian's trixie system P…
rpardini Apr 7, 2026
9e0ba97
captain: honor FORCE_COLOR=1 for internal logging
rpardini Apr 7, 2026
e352050
flavors: tighten semantics, refactor
rpardini Apr 8, 2026
26fdd1b
flavors: introduce common-acpi, move acpi/impi stuff there
rpardini Apr 8, 2026
bb203e9
click: introduce CliContext and reuse common options via @click.Group
rpardini Apr 8, 2026
e568d90
captain: make Rich richer
rpardini Apr 8, 2026
515bb24
captain: introduce Trogon(/Textual) to auto-create a TUI from Click
rpardini Apr 8, 2026
9ef0bc1
gha: use envvars, not --options
rpardini Apr 8, 2026
c4fe100
captain: even Richer Rich
rpardini Apr 8, 2026
f7589f6
gha: don't upload .iso as part of initramfs artifact
rpardini Apr 8, 2026
d91f15d
flavor/gha: add `trixie-rockchip64-vendor` and `trixie-armbian-rpi` f…
rpardini Apr 9, 2026
48afa8b
captain: tink-agent-setup Wants/After time-set.target
rpardini Apr 12, 2026
6136807
captain: move systemd enablement/disablement from postinst to systemd…
rpardini Apr 12, 2026
cc52acd
captain: loosen systemd-networkd-wait-online to accept any interface …
rpardini Apr 12, 2026
e98d364
captain: tink-agent-setup Wants/After time-sync.target
rpardini Apr 12, 2026
73ed248
kernel: bring back pre-Click kernel impl
rpardini Apr 13, 2026
67c1353
util: show `run()`'s env vars in a Rich Table
rpardini Apr 13, 2026
c5e2b78
docker: rework `run_in_builder()` with both `command_and_args` and `e…
rpardini Apr 13, 2026
c2f68c5
captain/cli: `--verbose` sets root level as well as current logger to…
rpardini Apr 13, 2026
eab0b22
cli: re-introduce `shell` subcommand
rpardini Apr 13, 2026
e45c5b4
kernel: rework with kernel's own `make bindeb-pkg` into a .deb output
rpardini Apr 13, 2026
6ca4eed
flavor: introduce BaseFlavor::pre_mkosi_stage()
rpardini Apr 13, 2026
c17be81
mkosi: show Rich.Syntax'ed mkosi.conf before running mkosi
rpardini Apr 13, 2026
fc145dd
captain: allow building amd64 kernel on arm64
rpardini Apr 13, 2026
899de31
common_debian: introduce `package_directories()` for mkosi's `Package…
rpardini Apr 13, 2026
9807709
builder: Dockerfile: add cross-arch libssl-dev and native apt-utils
rpardini Apr 13, 2026
9f779bb
cli: expose `stages` (nee `_stages`) module
rpardini Apr 13, 2026
34c0204
flavors: introduce `trixie-slim` flavor, using captainos kernel
rpardini Apr 13, 2026
c9a1ae9
kernel: introduce `--config` for round-trip menuconfig / savedefconfig
rpardini Apr 15, 2026
64704de
kernel: 6.18.y.amd64: defconfig standard
rpardini Apr 15, 2026
99f870e
kernel: 6.18.y.amd64: `CONFIG_MODULE_COMPRESS_ZSTD=y`
rpardini Apr 15, 2026
b3e193e
kernel: 6.18.y.arm64: defconfig standard
rpardini Apr 13, 2026
2487744
kernel: 6.18.y.arm64: defconfig: `CONFIG_MODULE_COMPRESS_ZSTD=y`
rpardini Apr 13, 2026
4ef4c6d
gha: reintroduce kernel build jobs
rpardini Apr 13, 2026
872b068
gha: split matrix to add kernel job dependency for trixie-slim jobs
rpardini Apr 13, 2026
fa0cfd3
gha: make `trixie-slim` the default flavor
rpardini Apr 13, 2026
869e822
gha: don't push OCI images for pull request workflows
rpardini Apr 14, 2026
a74e805
cli: bring back `qemu` cli, with extra support for arm64 & UEFI/OVMF
rpardini Apr 15, 2026
b999587
kernel: hash defconfig + kernel.py code and use as cache key; clean o…
rpardini Apr 15, 2026
3de686b
gha: drop `DEFAULT_FLAVOR_ID`; make publish-combined a matrix (for bo…
rpardini Apr 16, 2026
e901f47
timesyncd: retry connections every 2s
rpardini Apr 16, 2026
bf11ff8
util: debug: quote run() params with spaces or specials in them
rpardini Apr 16, 2026
85c7924
flavors: flavor_packages() hierarchy, include_apt(), include_hwdb()
rpardini Apr 16, 2026
5a61f89
flavors: introduce `trixie-genio` for Armbian's linux-image-edge-genio
rpardini Apr 17, 2026
9dc3658
gha: add trixie-genio build
rpardini Apr 17, 2026
07f6c43
kernel: 6.18.y amd64: CONFIG_BE2NET=y (from #59)
rpardini Apr 20, 2026
4700a2a
docker: pass `--load` to `docker buildx build`
rpardini Apr 20, 2026
e939389
release-publish: fix to use run_captain_in_builder()
rpardini Apr 21, 2026
34d0d12
initramfs/iso: introduce content-hashing for idempotency
rpardini Apr 21, 2026
cab586d
gha: set CAPTAIN_VERBOSE=1 & allow workflow_dispatch
rpardini Apr 21, 2026
d6331e5
gha: add GHA caches for initramfs and iso
rpardini Apr 21, 2026
c998591
tools: default to `native` mode (avoid pulling builder for cache hits)
rpardini Apr 21, 2026
4a38c1b
publish: more determinism
rpardini Apr 21, 2026
a38e857
flavors: common-debian: reduce postinst spurious debug logging
rpardini Apr 22, 2026
f80c8f2
captain: split mkosi.input from mkosi.output
rpardini Apr 22, 2026
ffe55c1
gha: split mkosi.input from mkosi.output
rpardini Apr 22, 2026
0e49ac8
publish: let flavor decide which files/dirs are published in OCI images
rpardini Apr 24, 2026
193b7c2
flavor: introduce BaseFlavor::post_mkosi_stage() and BaseFlavor::post…
rpardini Apr 26, 2026
6b44c12
trixie-armbian-rpi: implement ready-to-go RPi firmware in `firmware-r…
rpardini Apr 26, 2026
de6c658
util: introduce symlink_relative()
rpardini Apr 27, 2026
4268222
trixie-armbian-rpi: include kernel8.img and initramfs8 symlinks
rpardini Apr 27, 2026
49831bc
trixie-slim: bump kernel 6.18.22 -> 6.18.26 (copy.fail etc)
rpardini Apr 30, 2026
dff67c0
common-debian: enable Networking for scripts; fix postinst docs and u…
rpardini May 5, 2026
988d4f7
release: rework into click Group; bring back pull and tag
rpardini May 3, 2026
50d96a2
gha: adapt Release GHA Workflow
rpardini May 5, 2026
5a015ab
captain: implement `REGISTRY_INSECURE=1` env var for talking to insec…
rpardini May 5, 2026
eb80b69
captain: simple end-user customization via `custom` folder
rpardini May 5, 2026
dc68ef9
docker: bind-mount Docker's config.json when launching Docker under GHA
rpardini May 6, 2026
8be8ea6
custom: example customization possibilities (packages, scripts, extra…
rpardini May 5, 2026
e316c11
docs: update Markdown documentation
rpardini May 6, 2026
122ad2d
release: switch release default mode to docker
rpardini May 6, 2026
1c85d2b
release: consolidate OCI metadata/annotations creation and add to man…
rpardini May 6, 2026
73df517
buildah: omit history for further determinism at the manifest level
rpardini May 7, 2026
42b4c8b
buildah: strip digest annotation auto-added by `buildah from` (more d…
rpardini May 7, 2026
f7d0490
gha: ci: fix: avoid cache mis-hit due to unintended prefix match
rpardini May 7, 2026
271bcc0
captain: bump trixie-slim's kernel 6.18.26 -> 6.18.39
rpardini May 18, 2026
b73fb91
trixie-meson64: use Armbian's oldlts instead of edge
rpardini May 19, 2026
ebbd924
common-armbian: enable hwdb & working apt
rpardini Jun 9, 2026
0f04372
flavors: move include_working_apt()'s apt package handling up to comm…
rpardini Jun 15, 2026
ac9e1fe
pyproject.toml: bump deps, loosen bounds, update uv.lock
rpardini Jun 17, 2026
2e19470
oci: recap release pull from image contents, not disk
rpardini Jul 23, 2026
ad0a906
ci: --drop-old-caches to keep only the freshly-built flavor hash
rpardini Jul 23, 2026
229fdf4
ci: resolve latest kernel & armbian versions in a prepare job
rpardini May 18, 2026
7039405
kernel: enable CONFIG_HP_ILO=m
rpardini Jul 28, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
# Exclude build artifacts from Docker build context
mkosi.output/
mkosi.input/
mkosi.cache/
mkosi.tools/
mkosi.tools.manifest
Expand Down
20 changes: 20 additions & 0 deletions .editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Match Ruff style in .editorconfig format
root = true

[*]
charset = utf-8
end_of_line = lf
insert_final_newline = true
trim_trailing_whitespace = true

[*.py]
indent_style = space
indent_size = 4
tab_width = 4
max_line_length = 100

[{*.sh,*.sh.j2}]
indent_style = space
indent_size = 4
tab_width = 4
max_line_length = 100
Loading