You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Use Linux architecture names in output artifact filenames: (#49)
## Description
Tinkerbell iPXE scripts are built around architecture naming in a specific way. x86_64 and aarch64. This makes CaptainOS backward compatible.
Fixes: #
## How Has This Been Tested?
## How are existing users impacted? What migration steps/scripts do we need?
## Checklist:
I have:
- [ ] updated the documentation and/or roadmap (if required)
- [ ] added unit or e2e tests
- [ ] provided instructions on how to upgrade
Copy file name to clipboardExpand all lines: README.md
+11-9Lines changed: 11 additions & 9 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -16,7 +16,7 @@ It is built with [mkosi](https://github.com/systemd/mkosi), producing a minimal
16
16
17
17
## How it works
18
18
19
-
1. The machine PXE boots the kernel (`vmlinuz`) and initramfs (`initramfs.cpio.zst`) or runs the UEFI-bootable ISO image
19
+
1. The machine PXE boots the kernel (`vmlinuz`) and initramfs (`initramfs`) or runs the UEFI-bootable ISO image
20
20
2. A custom `/init` script transitions the rootfs to tmpfs, then exec's systemd
21
21
3. systemd-networkd configures DHCP on all ethernet interfaces
22
22
4. containerd starts, then `tink-agent-setup` pulls the tink-agent container image (configured via kernel cmdline), extracts the binary, and runs it as a host process
@@ -87,10 +87,12 @@ commands:
87
87
88
88
Output artifacts are placed in`out/`:
89
89
90
-
- `out/initramfs-<arch>.cpio.zst` — the initramfs
91
-
- `out/vmlinuz-<arch>` — the kernel
92
-
- `out/captainos-<arch>.iso` — UEFI-bootable ISO image
93
-
- `out/sha256sums-<arch>.txt` — SHA-256 checksums
90
+
- `out/vmlinuz-<kver>-<arch>` — the kernel
91
+
- `out/initramfs-<kver>-<arch>` — the initramfs
92
+
- `out/captainos-<kver>-<arch>.iso` — UEFI-bootable ISO image
| combined |`vX.Y.Z-<sha7>`| all artifacts from both architectures |
108
110
109
111
Each artifact file is pushed as its own OCI layer. Deterministic tar creation (zeroed metadata) ensures identical layer digests across per-arch and combined images, so registries deduplicate shared blobs — the combined image adds zero additional storage.
@@ -119,8 +121,8 @@ When a `v*` tag is pushed, the release workflow:
119
121
120
122
1. Pulls the combined OCI image (both architectures)
121
123
2. Attaches all artifacts as downloadable files on the GitHub Release page:
linux /boot/vmlinuz {console} 464vn90e7rbj08xbwdjejmdf4it17c5zfzjyfhthbh19eij201hjgit021bmpdb9ctrc87x2ymc8e7icu4ffi15x1hah9iyaiz38ckyap8hwx2vt5rm44ixv4hau8iw718q5yd019um5dt2xpqqa2rjtdypzr5v1gun8un110hhwp8cex7pqrh2ivh0ynpm4zkkwc8wcn367zyethzy7q8hzudyeyzx3cgmxqbkh825gcak7kxzjbgjajwizryv7ec1xm2h0hh7pz29qmvtgfjj1vphpgq1zcbiiehv52wrjy9yq473d9t1rvryy6929nk435hfx55du3ih05kn5tju3vijreru1p6knc988d4gfdz28eragvryq5x8aibe5trxd0t6t7jwxkde34v6pj1khmp50k6qqj3nzgcfzabtgqkmeqhdedbvwf3byfdma4nkv3rcxugaj2d0ru30pa2fqadjqrtjnv8bu52xzxv7irbhyvygygxu1nt5z4fh9w1vwbdcmagep26d298zknykf2e88kumt59ab7nq79d8amnhhvbexgh48e8qc61vq2e9qkihzt1twk1ijfgw70nwizai15iqyted2dt9gfmf2gg7amzufre79hwqkddc1cd935ywacnkrnak6r7xzcz7zbmq3kt04u2hg1iuupid8rt4nyrju51e6uejb2ruu36g9aibmz3hnmvazptu8x5tyxk820g2cdpxjdij766bt2n3djur7v623a2v44juyfgz80ekgfb9hkibpxh3zgknw8a34t4jifhf116x15cei9hwch0fye3xyq0acuym8uhitu5evc4rag3ui0fny3qg4kju7zkfyy8hwh537urd5uixkzwu5bdvafz4jmv7imypj543xg5em8jk8cgk7c4504xdd5e4e71ihaumt6u5u2t1w7um92fepzae8p0vq93wdrd1756npu1pziiur1payc7kmdwyxg3hj5n4phxbc29x0tcddamjrwt260b0w
37
-
initrd /boot/initramfs.cpio.zst
37
+
initrd /boot/initramfs
38
38
}}
39
39
""")
40
40
@@ -70,7 +70,7 @@ def build(cfg: Config) -> None:
70
70
│ ├── grub/
71
71
│ │ └── grub.cfg
72
72
│ ├── vmlinuz
73
-
│ └── initramfs.cpio.zst
73
+
│ └── initramfs
74
74
75
75
``grub-mkrescue`` turns this into a bootable ISO with an embedded
0 commit comments