Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
138 commits
Select commit Hold shift + click to select a range
b34c3fe
captain: fix .isEnabledFor(logging.DEBUG) calls
rpardini Apr 2, 2026
71e9f6c
captain: force type console in __init__.py
rpardini Apr 2, 2026
a9aad05
captain: catch required arg and loosen type (WiP: other way around.)
rpardini Apr 2, 2026
68e6424
captain: util: Rich rule's separating run() output
rpardini Apr 2, 2026
24d4b33
captain: better logging; `in-docker: ` prefix
rpardini Apr 2, 2026
94beb27
captain: add .editorconfig matching ruff
rpardini Apr 3, 2026
908ea5e
docker/mkosi: mount a Docker Volume at /work, so mkosi can cache the …
rpardini Apr 3, 2026
a98e00c
util: use a Panel to log the full subprocess command line
rpardini Apr 3, 2026
1e50d29
captain: introduce Config build_kernel boolean
rpardini Apr 3, 2026
9c67355
WiP: use linux-image-generic distro kernel
rpardini Apr 3, 2026
09a02b0
gha: skip all kernel stuff
rpardini Apr 3, 2026
f0b2ccf
gha: single matrix except for combined amd64/arm64 image at the end
rpardini Apr 3, 2026
239a6dd
mkosi.conf: just use tiny-initramfs instead of blocking the others (d…
rpardini Apr 3, 2026
1ce551d
mkosi.finalize: export DTBs for arches that have them
rpardini Apr 3, 2026
7659525
artifacts: collect `dtb` `mkosi.output` folder into `out/`
rpardini Apr 3, 2026
cc310c7
publish: publish DTBs in OCI image as a directory
rpardini Apr 3, 2026
289b0e2
kernel: drop all kernel-build related code
rpardini Apr 3, 2026
edbc7e9
mkosi.finalize: drop kernel sound/media/net-wireless modules
rpardini Apr 3, 2026
a82bbe4
gha: introduce FLAVOR_ID (nee KERNEL_VERSION)
rpardini Apr 3, 2026
aaafce4
release: include cfg.kernel_version as suffix to all tags
rpardini Apr 3, 2026
ff68e6a
gha: bump external actions so GHA stops complaining about Node 24
rpardini Apr 3, 2026
2c46310
gha: pass DEFAULT_FLAVOR_ID as KERNEL_VERSION for publish-combined
rpardini Apr 3, 2026
bd8802a
captain/gha: KERNEL_VERSION (et al) is now FLAVOR_ID
rpardini Apr 3, 2026
8cd022c
captain: cleanups / doc updates WiP (drop kernel build-related)
rpardini Apr 3, 2026
a4ad02d
captain: DEFAULT_FLAVOR_ID = "trixie-full"
rpardini Apr 3, 2026
c4356b8
flavors: introduce flavors
rpardini Apr 4, 2026
6048e57
gha: add trixie-rockchip64 flavor
rpardini Apr 5, 2026
f283a48
stages: show what tools_mode is running
rpardini Apr 5, 2026
4f6fd83
gha: pass --arch to build.py build
rpardini Apr 5, 2026
4e9237e
common_debian: add 01nopty with `Dpkg::Use-Pty "0";` to mkosi sandbox…
rpardini Apr 5, 2026
534cfb1
captain: add support for mkosi skeleton tree
rpardini Apr 6, 2026
609ef7a
common_debian: common bash header with logging, sprinkle some dust on…
rpardini Apr 6, 2026
00671d0
mkosi.conf: output a JSON manifest
rpardini Apr 6, 2026
a49858e
mkosi.conf: force tools tree to be Debian Trixie
rpardini Apr 6, 2026
aabc425
mkosi.conf: use sandbox tree also for tools tree
rpardini Apr 6, 2026
ec6948b
flavor: ensure flavor supports requested architecture
rpardini Apr 6, 2026
5dc5e32
flavors: cleanup a bit
rpardini Apr 6, 2026
9ed0a52
flavors/gha: introduce meson64 flavor
rpardini Apr 6, 2026
ba0b357
docker: never interactive, never a terminal
rpardini Apr 6, 2026
4ae2f6e
cli/flavor: pass Flavor down to build and initramfs cmds; introduce B…
rpardini Apr 6, 2026
e0a1866
gha/docker: set and pass down FORCE_COLOR=1
rpardini Apr 6, 2026
9dcf64e
captain: don't shorten out logging record name
rpardini Apr 6, 2026
9efbf9e
buildah: take env BUILDAH_INSECURE=1 for `--tls-verify=false`
rpardini Apr 6, 2026
e4b87f0
release: pass flavor down to release, avoid releasing iso for !has_iso
rpardini Apr 6, 2026
afd5f14
cli: new cli under `click_cli`
rpardini Apr 6, 2026
40fdb74
click: add tools command
rpardini Apr 6, 2026
a667fbe
click: some sugar, list available flavors via reflection
rpardini Apr 6, 2026
6bbfa9d
docker: build_builder(): more info
rpardini Apr 6, 2026
a8f50ff
click: kill old tools cli (keep stage)
rpardini Apr 6, 2026
1927a7b
click: add iso command back
rpardini Apr 6, 2026
378dd46
gha: switch to click cli
rpardini Apr 6, 2026
7fef57a
gha: release-publish
rpardini Apr 7, 2026
9c9fb25
captain: rework `obtain_builder`
rpardini Apr 7, 2026
35fcd2d
gha: separate build-dockerfile arch-based matrix job
rpardini Apr 7, 2026
61c533d
captain: adapt to options moved to common
rpardini Apr 7, 2026
c579135
captain: simplify Rich logging and trace handler
rpardini Apr 7, 2026
e6d8ed0
gha: force tools to run native
rpardini Apr 7, 2026
520441c
docker/Dockerfile: consolidate single Dockerfile; split and balance l…
rpardini Apr 7, 2026
54df971
docker: rework re-launching inside docker & docker envs
rpardini Apr 7, 2026
ef296a6
docker/mkosi: get rid of tools tree; back to Debian's trixie system P…
rpardini Apr 7, 2026
0adeddb
captain: honor FORCE_COLOR=1 for internal logging
rpardini Apr 7, 2026
22c6164
flavors: tighten semantics, refactor
rpardini Apr 8, 2026
d069109
flavors: introduce common-acpi, move acpi/impi stuff there
rpardini Apr 8, 2026
1f4b73d
click: introduce CliContext and reuse common options via @click.Group
rpardini Apr 8, 2026
ed0311b
captain: make Rich richer
rpardini Apr 8, 2026
57cd26c
captain: introduce Trogon(/Textual) to auto-create a TUI from Click
rpardini Apr 8, 2026
67ab9d1
gha: use envvars, not --options
rpardini Apr 8, 2026
b9044e0
captain: even Richer Rich
rpardini Apr 8, 2026
61031bb
gha: don't upload .iso as part of initramfs artifact
rpardini Apr 8, 2026
a69f939
flavor/gha: add `trixie-rockchip64-vendor` and `trixie-armbian-rpi` f…
rpardini Apr 9, 2026
0ea857c
captain: tink-agent-setup Wants/After time-set.target
rpardini Apr 12, 2026
7c187f1
captain: move systemd enablement/disablement from postinst to systemd…
rpardini Apr 12, 2026
9abb863
captain: loosen systemd-networkd-wait-online to accept any interface …
rpardini Apr 12, 2026
ba12225
captain: tink-agent-setup Wants/After time-sync.target
rpardini Apr 12, 2026
b3129ac
kernel: bring back pre-Click kernel impl
rpardini Apr 13, 2026
8e4899e
util: show `run()`'s env vars in a Rich Table
rpardini Apr 13, 2026
42bfeb8
docker: rework `run_in_builder()` with both `command_and_args` and `e…
rpardini Apr 13, 2026
98df814
captain/cli: `--verbose` sets root level as well as current logger to…
rpardini Apr 13, 2026
166d386
cli: re-introduce `shell` subcommand
rpardini Apr 13, 2026
ad949c5
kernel: rework with kernel's own `make bindeb-pkg` into a .deb output
rpardini Apr 13, 2026
d4b4d06
flavor: introduce BaseFlavor::pre_mkosi_stage()
rpardini Apr 13, 2026
f3d2632
mkosi: show Rich.Syntax'ed mkosi.conf before running mkosi
rpardini Apr 13, 2026
8ddcdec
captain: allow building amd64 kernel on arm64
rpardini Apr 13, 2026
b06665a
common_debian: introduce `package_directories()` for mkosi's `Package…
rpardini Apr 13, 2026
e77e6cf
builder: Dockerfile: add cross-arch libssl-dev and native apt-utils
rpardini Apr 13, 2026
efb5940
cli: expose `stages` (nee `_stages`) module
rpardini Apr 13, 2026
37f6522
flavors: introduce `trixie-slim` flavor, using captainos kernel
rpardini Apr 13, 2026
ff1933a
kernel: introduce `--config` for round-trip menuconfig / savedefconfig
rpardini Apr 15, 2026
41feecb
kernel: 6.18.y.amd64: defconfig standard
rpardini Apr 15, 2026
74a4378
kernel: 6.18.y.amd64: `CONFIG_MODULE_COMPRESS_ZSTD=y`
rpardini Apr 15, 2026
568e196
kernel: 6.18.y.arm64: defconfig standard
rpardini Apr 13, 2026
a8405ce
kernel: 6.18.y.arm64: defconfig: `CONFIG_MODULE_COMPRESS_ZSTD=y`
rpardini Apr 13, 2026
1f69d8f
gha: reintroduce kernel build jobs
rpardini Apr 13, 2026
135e8b0
gha: split matrix to add kernel job dependency for trixie-slim jobs
rpardini Apr 13, 2026
748021d
gha: make `trixie-slim` the default flavor
rpardini Apr 13, 2026
1a2bd77
gha: don't push OCI images for pull request workflows
rpardini Apr 14, 2026
369bc59
cli: bring back `qemu` cli, with extra support for arm64 & UEFI/OVMF
rpardini Apr 15, 2026
c0e2205
kernel: hash defconfig + kernel.py code and use as cache key; clean o…
rpardini Apr 15, 2026
6868da5
gha: drop `DEFAULT_FLAVOR_ID`; make publish-combined a matrix (for bo…
rpardini Apr 16, 2026
782afd1
timesyncd: retry connections every 2s
rpardini Apr 16, 2026
f168f74
util: debug: quote run() params with spaces or specials in them
rpardini Apr 16, 2026
f7278ed
flavors: flavor_packages() hierarchy, include_apt(), include_hwdb()
rpardini Apr 16, 2026
45070e4
flavors: introduce `trixie-genio` for Armbian's linux-image-edge-genio
rpardini Apr 17, 2026
ca312e9
gha: add trixie-genio build
rpardini Apr 17, 2026
76bb2be
kernel: 6.18.y amd64: CONFIG_BE2NET=y (from #59)
rpardini Apr 20, 2026
1a9eb42
docker: pass `--load` to `docker buildx build`
rpardini Apr 20, 2026
0c16d61
release-publish: fix to use run_captain_in_builder()
rpardini Apr 21, 2026
07dd0b4
initramfs/iso: introduce content-hashing for idempotency
rpardini Apr 21, 2026
8f56d67
gha: set CAPTAIN_VERBOSE=1 & allow workflow_dispatch
rpardini Apr 21, 2026
f75de24
gha: add GHA caches for initramfs and iso
rpardini Apr 21, 2026
20ad1f7
tools: default to `native` mode (avoid pulling builder for cache hits)
rpardini Apr 21, 2026
f992a89
publish: more determinism
rpardini Apr 21, 2026
89dc558
flavors: common-debian: reduce postinst spurious debug logging
rpardini Apr 22, 2026
7cce276
captain: split mkosi.input from mkosi.output
rpardini Apr 22, 2026
76d0f57
gha: split mkosi.input from mkosi.output
rpardini Apr 22, 2026
417ad14
publish: let flavor decide which files/dirs are published in OCI images
rpardini Apr 24, 2026
e8e9e4f
flavor: introduce BaseFlavor::post_mkosi_stage() and BaseFlavor::post…
rpardini Apr 26, 2026
03df950
trixie-armbian-rpi: implement ready-to-go RPi firmware in `firmware-r…
rpardini Apr 26, 2026
1603755
util: introduce symlink_relative()
rpardini Apr 27, 2026
303e042
trixie-armbian-rpi: include kernel8.img and initramfs8 symlinks
rpardini Apr 27, 2026
e703001
trixie-slim: bump kernel 6.18.22 -> 6.18.26 (copy.fail etc)
rpardini Apr 30, 2026
1614d9b
common-debian: enable Networking for scripts; fix postinst docs and u…
rpardini May 5, 2026
7d79c87
release: rework into click Group; bring back pull and tag
rpardini May 3, 2026
3cb7144
gha: adapt Release GHA Workflow
rpardini May 5, 2026
8a94e38
captain: implement `REGISTRY_INSECURE=1` env var for talking to insec…
rpardini May 5, 2026
b5cd88b
captain: simple end-user customization via `custom` folder
rpardini May 5, 2026
314a6e7
docker: bind-mount Docker's config.json when launching Docker under GHA
rpardini May 6, 2026
44c433a
custom: example customization possibilities (packages, scripts, extra…
rpardini May 5, 2026
d22e135
docs: update Markdown documentation
rpardini May 6, 2026
80f94f0
release: switch release default mode to docker
rpardini May 6, 2026
35e3f26
release: consolidate OCI metadata/annotations creation and add to man…
rpardini May 6, 2026
b168721
buildah: omit history for further determinism at the manifest level
rpardini May 7, 2026
266c0f0
buildah: strip digest annotation auto-added by `buildah from` (more d…
rpardini May 7, 2026
7130910
gha: ci: fix: avoid cache mis-hit due to unintended prefix match
rpardini May 7, 2026
bb34303
captain: bump trixie-slim's kernel 6.18.26 -> 6.18.34
rpardini May 18, 2026
0c5c209
trixie-meson64: use Armbian's oldlts instead of edge
rpardini May 19, 2026
308373f
common-armbian: enable hwdb & working apt
rpardini Jun 9, 2026
3babcdb
flavors: move include_working_apt()'s apt package handling up to comm…
rpardini Jun 15, 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
Loading