Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
127 commits
Select commit Hold shift + click to select a range
d0427df
captain: fix .isEnabledFor(logging.DEBUG) calls
rpardini Apr 2, 2026
065881e
captain: force type console in __init__.py
rpardini Apr 2, 2026
f65b7f8
captain: catch required arg and loosen type (WiP: other way around.)
rpardini Apr 2, 2026
4cd126d
captain: util: Rich rule's separating run() output
rpardini Apr 2, 2026
e49e443
captain: better logging; `in-docker: ` prefix
rpardini Apr 2, 2026
7e84210
captain: add .editorconfig matching ruff
rpardini Apr 3, 2026
7b18790
docker/mkosi: mount a Docker Volume at /work, so mkosi can cache the …
rpardini Apr 3, 2026
91c4710
util: use a Panel to log the full subprocess command line
rpardini Apr 3, 2026
16dcee3
captain: introduce Config build_kernel boolean
rpardini Apr 3, 2026
aa76f83
WiP: use linux-image-generic distro kernel
rpardini Apr 3, 2026
f6d4f6c
gha: skip all kernel stuff
rpardini Apr 3, 2026
36b9a45
gha: single matrix except for combined amd64/arm64 image at the end
rpardini Apr 3, 2026
66340bd
mkosi.conf: just use tiny-initramfs instead of blocking the others (d…
rpardini Apr 3, 2026
4b1b83a
mkosi.finalize: export DTBs for arches that have them
rpardini Apr 3, 2026
40a540a
artifacts: collect `dtb` `mkosi.output` folder into `out/`
rpardini Apr 3, 2026
e4f84a5
publish: publish DTBs in OCI image as a directory
rpardini Apr 3, 2026
49bfe70
kernel: drop all kernel-build related code
rpardini Apr 3, 2026
c58a4bc
mkosi.finalize: drop kernel sound/media/net-wireless modules
rpardini Apr 3, 2026
b7f8097
gha: introduce FLAVOR_ID (nee KERNEL_VERSION)
rpardini Apr 3, 2026
2596382
release: include cfg.kernel_version as suffix to all tags
rpardini Apr 3, 2026
c8011be
gha: bump external actions so GHA stops complaining about Node 24
rpardini Apr 3, 2026
3c1d4a6
gha: pass DEFAULT_FLAVOR_ID as KERNEL_VERSION for publish-combined
rpardini Apr 3, 2026
43588f5
captain/gha: KERNEL_VERSION (et al) is now FLAVOR_ID
rpardini Apr 3, 2026
39116d0
captain: cleanups / doc updates WiP (drop kernel build-related)
rpardini Apr 3, 2026
a3c3290
captain: DEFAULT_FLAVOR_ID = "trixie-full"
rpardini Apr 3, 2026
924552e
flavors: introduce flavors
rpardini Apr 4, 2026
602b313
gha: add trixie-rockchip64 flavor
rpardini Apr 5, 2026
527484c
stages: show what tools_mode is running
rpardini Apr 5, 2026
a24342c
gha: pass --arch to build.py build
rpardini Apr 5, 2026
8e2ae1f
common_debian: add 01nopty with `Dpkg::Use-Pty "0";` to mkosi sandbox…
rpardini Apr 5, 2026
687818b
captain: add support for mkosi skeleton tree
rpardini Apr 6, 2026
2b409b0
common_debian: common bash header with logging, sprinkle some dust on…
rpardini Apr 6, 2026
cbcdffb
mkosi.conf: output a JSON manifest
rpardini Apr 6, 2026
aa97669
mkosi.conf: force tools tree to be Debian Trixie
rpardini Apr 6, 2026
b0b2712
mkosi.conf: use sandbox tree also for tools tree
rpardini Apr 6, 2026
2b70f3e
flavor: ensure flavor supports requested architecture
rpardini Apr 6, 2026
f893f8a
flavors: cleanup a bit
rpardini Apr 6, 2026
f38c03e
flavors/gha: introduce meson64 flavor
rpardini Apr 6, 2026
25609eb
docker: never interactive, never a terminal
rpardini Apr 6, 2026
a408bfa
cli/flavor: pass Flavor down to build and initramfs cmds; introduce B…
rpardini Apr 6, 2026
ef7bb04
gha/docker: set and pass down FORCE_COLOR=1
rpardini Apr 6, 2026
e60f723
captain: don't shorten out logging record name
rpardini Apr 6, 2026
49f2e35
buildah: take env BUILDAH_INSECURE=1 for `--tls-verify=false`
rpardini Apr 6, 2026
9cdb4ee
release: pass flavor down to release, avoid releasing iso for !has_iso
rpardini Apr 6, 2026
a533ae7
cli: new cli under `click_cli`
rpardini Apr 6, 2026
de7d3f3
click: add tools command
rpardini Apr 6, 2026
7228b3d
click: some sugar, list available flavors via reflection
rpardini Apr 6, 2026
6d607d8
docker: build_builder(): more info
rpardini Apr 6, 2026
ccf09f9
click: kill old tools cli (keep stage)
rpardini Apr 6, 2026
2d8bece
click: add iso command back
rpardini Apr 6, 2026
bcfddfa
gha: switch to click cli
rpardini Apr 6, 2026
16a373a
gha: release-publish
rpardini Apr 7, 2026
d1a2949
captain: rework `obtain_builder`
rpardini Apr 7, 2026
839673b
gha: separate build-dockerfile arch-based matrix job
rpardini Apr 7, 2026
dc41178
captain: adapt to options moved to common
rpardini Apr 7, 2026
4820cd8
captain: simplify Rich logging and trace handler
rpardini Apr 7, 2026
49b347a
gha: force tools to run native
rpardini Apr 7, 2026
34dc4b5
docker/Dockerfile: consolidate single Dockerfile; split and balance l…
rpardini Apr 7, 2026
9eddce3
docker: rework re-launching inside docker & docker envs
rpardini Apr 7, 2026
7233ea5
docker/mkosi: get rid of tools tree; back to Debian's trixie system P…
rpardini Apr 7, 2026
efb49ad
captain: honor FORCE_COLOR=1 for internal logging
rpardini Apr 7, 2026
8532e21
flavors: tighten semantics, refactor
rpardini Apr 8, 2026
7cc7cab
flavors: introduce common-acpi, move acpi/impi stuff there
rpardini Apr 8, 2026
cc1e677
click: introduce CliContext and reuse common options via @click.Group
rpardini Apr 8, 2026
d82ab11
captain: make Rich richer
rpardini Apr 8, 2026
c703529
captain: introduce Trogon(/Textual) to auto-create a TUI from Click
rpardini Apr 8, 2026
f44a604
gha: use envvars, not --options
rpardini Apr 8, 2026
5924d0f
captain: even Richer Rich
rpardini Apr 8, 2026
a489433
gha: don't upload .iso as part of initramfs artifact
rpardini Apr 8, 2026
710e53c
flavor/gha: add `trixie-rockchip64-vendor` and `trixie-armbian-rpi` f…
rpardini Apr 9, 2026
2a8d4f6
captain: tink-agent-setup Wants/After time-set.target
rpardini Apr 12, 2026
fcc91d9
captain: move systemd enablement/disablement from postinst to systemd…
rpardini Apr 12, 2026
9eb7e42
captain: loosen systemd-networkd-wait-online to accept any interface …
rpardini Apr 12, 2026
01bbe2f
captain: tink-agent-setup Wants/After time-sync.target
rpardini Apr 12, 2026
50a0caf
kernel: bring back pre-Click kernel impl
rpardini Apr 13, 2026
f218b52
util: show `run()`'s env vars in a Rich Table
rpardini Apr 13, 2026
ab2eaeb
docker: rework `run_in_builder()` with both `command_and_args` and `e…
rpardini Apr 13, 2026
eb59588
captain/cli: `--verbose` sets root level as well as current logger to…
rpardini Apr 13, 2026
91712e4
cli: re-introduce `shell` subcommand
rpardini Apr 13, 2026
f3e82d2
kernel: rework with kernel's own `make bindeb-pkg` into a .deb output
rpardini Apr 13, 2026
4e6afac
flavor: introduce BaseFlavor::pre_mkosi_stage()
rpardini Apr 13, 2026
278e8fa
mkosi: show Rich.Syntax'ed mkosi.conf before running mkosi
rpardini Apr 13, 2026
c0bca2c
captain: allow building amd64 kernel on arm64
rpardini Apr 13, 2026
9293442
common_debian: introduce `package_directories()` for mkosi's `Package…
rpardini Apr 13, 2026
e4afea9
builder: Dockerfile: add cross-arch libssl-dev and native apt-utils
rpardini Apr 13, 2026
c308174
cli: expose `stages` (nee `_stages`) module
rpardini Apr 13, 2026
0e4fbcb
flavors: introduce `trixie-slim` flavor, using captainos kernel
rpardini Apr 13, 2026
962643a
kernel: introduce `--config` for round-trip menuconfig / savedefconfig
rpardini Apr 15, 2026
bdc1718
kernel: 6.18.y.amd64: defconfig standard
rpardini Apr 15, 2026
a1b2156
kernel: 6.18.y.amd64: `CONFIG_MODULE_COMPRESS_ZSTD=y`
rpardini Apr 15, 2026
35d1aa8
kernel: 6.18.y.arm64: defconfig standard
rpardini Apr 13, 2026
688b34c
kernel: 6.18.y.arm64: defconfig: `CONFIG_MODULE_COMPRESS_ZSTD=y`
rpardini Apr 13, 2026
42d475f
gha: reintroduce kernel build jobs
rpardini Apr 13, 2026
444fc9c
gha: split matrix to add kernel job dependency for trixie-slim jobs
rpardini Apr 13, 2026
715b3e1
gha: make `trixie-slim` the default flavor
rpardini Apr 13, 2026
c5ddd0d
gha: don't push OCI images for pull request workflows
rpardini Apr 14, 2026
e67c273
cli: bring back `qemu` cli, with extra support for arm64 & UEFI/OVMF
rpardini Apr 15, 2026
532572b
kernel: hash defconfig + kernel.py code and use as cache key; clean o…
rpardini Apr 15, 2026
93f3e46
gha: drop `DEFAULT_FLAVOR_ID`; make publish-combined a matrix (for bo…
rpardini Apr 16, 2026
352819b
timesyncd: retry connections every 2s
rpardini Apr 16, 2026
2b793db
util: debug: quote run() params with spaces or specials in them
rpardini Apr 16, 2026
a128b3b
flavors: flavor_packages() hierarchy, include_apt(), include_hwdb()
rpardini Apr 16, 2026
03e5952
flavors: introduce `trixie-genio` for Armbian's linux-image-edge-genio
rpardini Apr 17, 2026
1675d86
gha: add trixie-genio build
rpardini Apr 17, 2026
c19b9e2
kernel: 6.18.y amd64: CONFIG_BE2NET=y (from #59)
rpardini Apr 20, 2026
acca2a6
docker: pass `--load` to `docker buildx build`
rpardini Apr 20, 2026
a74817d
release-publish: fix to use run_captain_in_builder()
rpardini Apr 21, 2026
98ccb9b
initramfs/iso: introduce content-hashing for idempotency
rpardini Apr 21, 2026
2f1b4f0
gha: set CAPTAIN_VERBOSE=1 & allow workflow_dispatch
rpardini Apr 21, 2026
af78077
gha: add GHA caches for initramfs and iso
rpardini Apr 21, 2026
80b6d36
tools: default to `native` mode (avoid pulling builder for cache hits)
rpardini Apr 21, 2026
b29c9dc
publish: more determinism
rpardini Apr 21, 2026
6819bd3
flavors: common-debian: reduce postinst spurious debug logging
rpardini Apr 22, 2026
2a9ad4b
captain: split mkosi.input from mkosi.output
rpardini Apr 22, 2026
3f081a1
gha: split mkosi.input from mkosi.output
rpardini Apr 22, 2026
ccddfe7
publish: let flavor decide which files/dirs are published in OCI images
rpardini Apr 24, 2026
fddbb1b
flavor: introduce BaseFlavor::post_mkosi_stage() and BaseFlavor::post…
rpardini Apr 26, 2026
c37418c
trixie-armbian-rpi: implement ready-to-go RPi firmware in `firmware-r…
rpardini Apr 26, 2026
264b1cc
util: introduce symlink_relative()
rpardini Apr 27, 2026
b5ec9e1
trixie-armbian-rpi: include kernel8.img and initramfs8 symlinks
rpardini Apr 27, 2026
fa2eaaa
trixie-slim: bump kernel 6.18.22 -> 6.18.26 (copy.fail etc)
rpardini Apr 30, 2026
72d208c
common-debian: enable Networking for scripts; fix postinst docs and u…
rpardini May 5, 2026
9b4e12d
release: rework into click Group; bring back pull and tag
rpardini May 3, 2026
bca99fa
gha: adapt Release to new group, don't fetch-depth:0 even for CI
rpardini May 5, 2026
96eb21c
captain: implement `REGISTRY_INSECURE=1` env var for talking to insec…
rpardini May 5, 2026
c497717
captain: simple end-user customization via `custom` folder
rpardini May 5, 2026
3cf5e95
custom: example customization possibilities (packages, scripts, extra…
rpardini May 5, 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