Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
134 commits
Select commit Hold shift + click to select a range
fb397eb
captain: fix .isEnabledFor(logging.DEBUG) calls
rpardini Apr 2, 2026
0873e85
captain: force type console in __init__.py
rpardini Apr 2, 2026
35822af
captain: catch required arg and loosen type (WiP: other way around.)
rpardini Apr 2, 2026
2c1d66d
captain: util: Rich rule's separating run() output
rpardini Apr 2, 2026
0e607aa
captain: better logging; `in-docker: ` prefix
rpardini Apr 2, 2026
6c25489
captain: add .editorconfig matching ruff
rpardini Apr 3, 2026
90cce83
docker/mkosi: mount a Docker Volume at /work, so mkosi can cache the …
rpardini Apr 3, 2026
411db30
util: use a Panel to log the full subprocess command line
rpardini Apr 3, 2026
7531070
captain: introduce Config build_kernel boolean
rpardini Apr 3, 2026
222294a
WiP: use linux-image-generic distro kernel
rpardini Apr 3, 2026
5249b9a
gha: skip all kernel stuff
rpardini Apr 3, 2026
ea5f9c4
gha: single matrix except for combined amd64/arm64 image at the end
rpardini Apr 3, 2026
a93a28a
mkosi.conf: just use tiny-initramfs instead of blocking the others (d…
rpardini Apr 3, 2026
3a930a4
mkosi.finalize: export DTBs for arches that have them
rpardini Apr 3, 2026
c83f661
artifacts: collect `dtb` `mkosi.output` folder into `out/`
rpardini Apr 3, 2026
d810a0d
publish: publish DTBs in OCI image as a directory
rpardini Apr 3, 2026
510c644
kernel: drop all kernel-build related code
rpardini Apr 3, 2026
4d6d213
mkosi.finalize: drop kernel sound/media/net-wireless modules
rpardini Apr 3, 2026
a89429c
gha: introduce FLAVOR_ID (nee KERNEL_VERSION)
rpardini Apr 3, 2026
6f389e9
release: include cfg.kernel_version as suffix to all tags
rpardini Apr 3, 2026
abbf3c3
gha: bump external actions so GHA stops complaining about Node 24
rpardini Apr 3, 2026
06acf58
gha: pass DEFAULT_FLAVOR_ID as KERNEL_VERSION for publish-combined
rpardini Apr 3, 2026
11f506a
captain/gha: KERNEL_VERSION (et al) is now FLAVOR_ID
rpardini Apr 3, 2026
067de0e
captain: cleanups / doc updates WiP (drop kernel build-related)
rpardini Apr 3, 2026
9cb8641
captain: DEFAULT_FLAVOR_ID = "trixie-full"
rpardini Apr 3, 2026
f070eae
flavors: introduce flavors
rpardini Apr 4, 2026
ed1048d
gha: add trixie-rockchip64 flavor
rpardini Apr 5, 2026
8fd4b19
stages: show what tools_mode is running
rpardini Apr 5, 2026
3c86f7b
gha: pass --arch to build.py build
rpardini Apr 5, 2026
adc3a55
common_debian: add 01nopty with `Dpkg::Use-Pty "0";` to mkosi sandbox…
rpardini Apr 5, 2026
cc75cd0
captain: add support for mkosi skeleton tree
rpardini Apr 6, 2026
d965670
common_debian: common bash header with logging, sprinkle some dust on…
rpardini Apr 6, 2026
71e6577
mkosi.conf: output a JSON manifest
rpardini Apr 6, 2026
ed5bfb5
mkosi.conf: force tools tree to be Debian Trixie
rpardini Apr 6, 2026
75329e9
mkosi.conf: use sandbox tree also for tools tree
rpardini Apr 6, 2026
d84fe51
flavor: ensure flavor supports requested architecture
rpardini Apr 6, 2026
5fda708
flavors: cleanup a bit
rpardini Apr 6, 2026
c8618c8
flavors/gha: introduce meson64 flavor
rpardini Apr 6, 2026
093317a
docker: never interactive, never a terminal
rpardini Apr 6, 2026
69fedba
cli/flavor: pass Flavor down to build and initramfs cmds; introduce B…
rpardini Apr 6, 2026
7f79574
gha/docker: set and pass down FORCE_COLOR=1
rpardini Apr 6, 2026
1552f0e
captain: don't shorten out logging record name
rpardini Apr 6, 2026
582c1de
buildah: take env BUILDAH_INSECURE=1 for `--tls-verify=false`
rpardini Apr 6, 2026
3aabb7f
release: pass flavor down to release, avoid releasing iso for !has_iso
rpardini Apr 6, 2026
76db6ed
cli: new cli under `click_cli`
rpardini Apr 6, 2026
d1e89e5
click: add tools command
rpardini Apr 6, 2026
f0c8463
click: some sugar, list available flavors via reflection
rpardini Apr 6, 2026
e9eba06
docker: build_builder(): more info
rpardini Apr 6, 2026
d8908f0
click: kill old tools cli (keep stage)
rpardini Apr 6, 2026
abfb920
click: add iso command back
rpardini Apr 6, 2026
7f1a11a
gha: switch to click cli
rpardini Apr 6, 2026
ec14ff9
gha: release-publish
rpardini Apr 7, 2026
8dee9ce
captain: rework `obtain_builder`
rpardini Apr 7, 2026
0661caa
gha: separate build-dockerfile arch-based matrix job
rpardini Apr 7, 2026
23733bb
captain: adapt to options moved to common
rpardini Apr 7, 2026
d09d0b7
captain: simplify Rich logging and trace handler
rpardini Apr 7, 2026
fcb668f
gha: force tools to run native
rpardini Apr 7, 2026
8406262
docker/Dockerfile: consolidate single Dockerfile; split and balance l…
rpardini Apr 7, 2026
80c1faa
docker: rework re-launching inside docker & docker envs
rpardini Apr 7, 2026
60ea805
docker/mkosi: get rid of tools tree; back to Debian's trixie system P…
rpardini Apr 7, 2026
26a291f
captain: honor FORCE_COLOR=1 for internal logging
rpardini Apr 7, 2026
b7e5905
flavors: tighten semantics, refactor
rpardini Apr 8, 2026
61d9a29
flavors: introduce common-acpi, move acpi/impi stuff there
rpardini Apr 8, 2026
2532b98
click: introduce CliContext and reuse common options via @click.Group
rpardini Apr 8, 2026
e4a3cb9
captain: make Rich richer
rpardini Apr 8, 2026
0eddda3
captain: introduce Trogon(/Textual) to auto-create a TUI from Click
rpardini Apr 8, 2026
869e43b
gha: use envvars, not --options
rpardini Apr 8, 2026
0342567
captain: even Richer Rich
rpardini Apr 8, 2026
8223b6a
gha: don't upload .iso as part of initramfs artifact
rpardini Apr 8, 2026
9551fdc
flavor/gha: add `trixie-rockchip64-vendor` and `trixie-armbian-rpi` f…
rpardini Apr 9, 2026
235797b
captain: tink-agent-setup Wants/After time-set.target
rpardini Apr 12, 2026
cd7e112
captain: move systemd enablement/disablement from postinst to systemd…
rpardini Apr 12, 2026
c8d60eb
captain: loosen systemd-networkd-wait-online to accept any interface …
rpardini Apr 12, 2026
2cbcad7
captain: tink-agent-setup Wants/After time-sync.target
rpardini Apr 12, 2026
8a91c2d
kernel: bring back pre-Click kernel impl
rpardini Apr 13, 2026
002725a
util: show `run()`'s env vars in a Rich Table
rpardini Apr 13, 2026
dca7e9b
docker: rework `run_in_builder()` with both `command_and_args` and `e…
rpardini Apr 13, 2026
5e1189c
captain/cli: `--verbose` sets root level as well as current logger to…
rpardini Apr 13, 2026
f8a8384
cli: re-introduce `shell` subcommand
rpardini Apr 13, 2026
de61b3a
kernel: rework with kernel's own `make bindeb-pkg` into a .deb output
rpardini Apr 13, 2026
27b4645
flavor: introduce BaseFlavor::pre_mkosi_stage()
rpardini Apr 13, 2026
46f03fa
mkosi: show Rich.Syntax'ed mkosi.conf before running mkosi
rpardini Apr 13, 2026
6509a34
captain: allow building amd64 kernel on arm64
rpardini Apr 13, 2026
2ee9868
common_debian: introduce `package_directories()` for mkosi's `Package…
rpardini Apr 13, 2026
31159d8
builder: Dockerfile: add cross-arch libssl-dev and native apt-utils
rpardini Apr 13, 2026
47e2097
cli: expose `stages` (nee `_stages`) module
rpardini Apr 13, 2026
8aa6103
flavors: introduce `trixie-slim` flavor, using captainos kernel
rpardini Apr 13, 2026
cb80f46
kernel: introduce `--config` for round-trip menuconfig / savedefconfig
rpardini Apr 15, 2026
9b757ba
kernel: 6.18.y.amd64: defconfig standard
rpardini Apr 15, 2026
780dd1a
kernel: 6.18.y.amd64: `CONFIG_MODULE_COMPRESS_ZSTD=y`
rpardini Apr 15, 2026
a39a9f0
kernel: 6.18.y.arm64: defconfig standard
rpardini Apr 13, 2026
ae66c32
kernel: 6.18.y.arm64: defconfig: `CONFIG_MODULE_COMPRESS_ZSTD=y`
rpardini Apr 13, 2026
2c344b8
gha: reintroduce kernel build jobs
rpardini Apr 13, 2026
a7c559a
gha: split matrix to add kernel job dependency for trixie-slim jobs
rpardini Apr 13, 2026
2e15adc
gha: make `trixie-slim` the default flavor
rpardini Apr 13, 2026
676d612
gha: don't push OCI images for pull request workflows
rpardini Apr 14, 2026
5910853
cli: bring back `qemu` cli, with extra support for arm64 & UEFI/OVMF
rpardini Apr 15, 2026
f6c3fab
kernel: hash defconfig + kernel.py code and use as cache key; clean o…
rpardini Apr 15, 2026
e423a8a
gha: drop `DEFAULT_FLAVOR_ID`; make publish-combined a matrix (for bo…
rpardini Apr 16, 2026
7b8bcd9
timesyncd: retry connections every 2s
rpardini Apr 16, 2026
15cade0
util: debug: quote run() params with spaces or specials in them
rpardini Apr 16, 2026
4e161d3
flavors: flavor_packages() hierarchy, include_apt(), include_hwdb()
rpardini Apr 16, 2026
b86c834
flavors: introduce `trixie-genio` for Armbian's linux-image-edge-genio
rpardini Apr 17, 2026
bd7d921
gha: add trixie-genio build
rpardini Apr 17, 2026
fe446c0
kernel: 6.18.y amd64: CONFIG_BE2NET=y (from #59)
rpardini Apr 20, 2026
2f8ad35
docker: pass `--load` to `docker buildx build`
rpardini Apr 20, 2026
49d5f5e
release-publish: fix to use run_captain_in_builder()
rpardini Apr 21, 2026
954ec44
initramfs/iso: introduce content-hashing for idempotency
rpardini Apr 21, 2026
4090f81
gha: set CAPTAIN_VERBOSE=1 & allow workflow_dispatch
rpardini Apr 21, 2026
9d0c01a
gha: add GHA caches for initramfs and iso
rpardini Apr 21, 2026
d4edfbb
tools: default to `native` mode (avoid pulling builder for cache hits)
rpardini Apr 21, 2026
0c2e1db
publish: more determinism
rpardini Apr 21, 2026
4fd31d4
flavors: common-debian: reduce postinst spurious debug logging
rpardini Apr 22, 2026
b8ae333
captain: split mkosi.input from mkosi.output
rpardini Apr 22, 2026
f1c1898
gha: split mkosi.input from mkosi.output
rpardini Apr 22, 2026
9eff43b
publish: let flavor decide which files/dirs are published in OCI images
rpardini Apr 24, 2026
9bc9e74
flavor: introduce BaseFlavor::post_mkosi_stage() and BaseFlavor::post…
rpardini Apr 26, 2026
6d57436
trixie-armbian-rpi: implement ready-to-go RPi firmware in `firmware-r…
rpardini Apr 26, 2026
1c80de1
util: introduce symlink_relative()
rpardini Apr 27, 2026
7d8f2b1
trixie-armbian-rpi: include kernel8.img and initramfs8 symlinks
rpardini Apr 27, 2026
57fca55
trixie-slim: bump kernel 6.18.22 -> 6.18.26 (copy.fail etc)
rpardini Apr 30, 2026
65ca2b1
common-debian: enable Networking for scripts; fix postinst docs and u…
rpardini May 5, 2026
10c2f0f
release: rework into click Group; bring back pull and tag
rpardini May 3, 2026
73b1792
gha: adapt Release GHA Workflow
rpardini May 5, 2026
f9d3367
captain: implement `REGISTRY_INSECURE=1` env var for talking to insec…
rpardini May 5, 2026
1cd5651
captain: simple end-user customization via `custom` folder
rpardini May 5, 2026
591e011
docker: bind-mount Docker's config.json when launching Docker under GHA
rpardini May 6, 2026
8da6531
custom: example customization possibilities (packages, scripts, extra…
rpardini May 5, 2026
2003e22
docs: update Markdown documentation
rpardini May 6, 2026
83a7d67
release: switch release default mode to docker
rpardini May 6, 2026
62c88cb
release: consolidate OCI metadata/annotations creation and add to man…
rpardini May 6, 2026
ec3de40
buildah: omit history for further determinism at the manifest level
rpardini May 7, 2026
a70b2ac
buildah: strip digest annotation auto-added by `buildah from` (more d…
rpardini May 7, 2026
bb125d6
gha: ci: fix: avoid cache mis-hit due to unintended prefix match
rpardini May 7, 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