The design canvas (v17) gains the Documents artboard -- the Book of Fabric and the Dictionary of v4 first, then the book, the three volumes and the API reference, each with its SHA-256, and the SSRN paper -- and Downloads and Documents in every .com nav; Downloads' reading list becomes a pointer to Documents. site/com/canvas/ copied from it. site/com/build.py --release TAG --sums SHA256SUMS builds Downloads and Documents from the release ([TAG], [RELEASE]/<file>, [SHA:<file>]; a file the release's SHA256SUMS lacks fails the build). Without a release it builds Home, Try it and Inquiries exactly as before -- byte for byte -- with no link to the two pages, so they go live only with alpha.4. install.sh installs them when built. scripts/nightly.sh gitea-release: the release's SHA256SUMS now covers every file it attaches -- the images' sums, then the PDFs and the Root CA's certificate -- so `sha256sum -c SHA256SUMS` checks all of it and Documents finds each sum. The Nexus artifacts keep their own. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01GE3SDvQn5EoxdGufk84zz2
146 lines
12 KiB
HTML
146 lines
12 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>StarshipOS — Downloads</title>
|
|
<script src="./support.js"></script>
|
|
</head>
|
|
<body>
|
|
<x-dc>
|
|
<helmet>
|
|
<link rel="preconnect" href="https://fonts.googleapis.com">
|
|
<link href="https://fonts.googleapis.com/css2?family=JetBrains+Mono:wght@400;500;700&family=Exo+2:wght@600;700&display=swap" rel="stylesheet">
|
|
<style>
|
|
body{margin:0;background:#0A1222}
|
|
a{color:#F5891F}a:hover{color:#FFB061}
|
|
</style>
|
|
</helmet>
|
|
<div style="background: #0A1222; color: #EEF2F7; font-family: 'JetBrains Mono', ui-monospace, monospace; font-size: 16px; line-height: 1.6; min-height: 100vh">
|
|
|
|
<header style="border-bottom: 1px solid #22324D">
|
|
<nav aria-label="Main" style="max-width: 1120px; margin: 0 auto; padding: 20px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px">
|
|
<a href="Main.dc.html" style="font-family: 'Exo 2', sans-serif; font-weight: 700; font-size: 22px; color: #EEF2F7; text-decoration: none; letter-spacing: 0.02em">starship<span style="color: {{accent}}">OS</span></a>
|
|
<div style="display: flex; flex-wrap: wrap; gap: 24px; font-size: 14px">
|
|
<a href="Main.dc.html" style="color: #C8D1DE; text-decoration: none">Home</a>
|
|
<a href="TryIt.dc.html" style="color: #C8D1DE; text-decoration: none">Try it</a>
|
|
<a href="Downloads.dc.html" aria-current="page" style="color: #EEF2F7; text-decoration: none; border-bottom: 2px solid {{accent}}">Downloads</a>
|
|
<a href="Documents.dc.html" style="color: #C8D1DE; text-decoration: none">Documents</a>
|
|
<a href="Inquiries.dc.html" style="color: #C8D1DE; text-decoration: none">Inquiries</a>
|
|
<a href="https://starshipos.org" style="color: {{accent}}; text-decoration: none">Contributors →</a>
|
|
</div>
|
|
</nav>
|
|
</header>
|
|
|
|
<section style="max-width: 1120px; margin: 0 auto; padding: 80px 24px 32px">
|
|
<p style="margin: 0 0 12px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: #4FD1B0">ok> downloads</p>
|
|
<h1 style="margin: 0 0 16px; font-family: 'Exo 2', sans-serif; font-size: clamp(36px, 5vw, 56px); line-height: 1.1">StarshipOS, on a machine of yours.</h1>
|
|
<p style="margin: 0 0 24px; max-width: 700px; font-size: 18px; color: #C8D1DE">One image per board, straight from the release. Write it to a USB stick or an SD card, boot, and the first boot makes you Zuse, the superuser: your identity lives on the stick.</p>
|
|
<div style="display: flex; flex-wrap: wrap; align-items: center; gap: 12px; font-size: 14px">
|
|
<span style="display: inline-block; padding: 4px 12px; border-radius: 4px; background: #111C30; border: 1px solid #34486A; color: #EEF2F7">[TAG]</span>
|
|
<span style="display: inline-block; padding: 4px 12px; border-radius: 4px; border: 1px solid {{accent}}; color: {{accent}}">alpha · pre-release</span>
|
|
<a href="https://gitea.starshipos-f18.org/rajames/LithosAnanke/releases" style="color: #C8D1DE">All releases →</a>
|
|
</div>
|
|
</section>
|
|
|
|
<section aria-label="What an alpha means" style="max-width: 1120px; margin: 0 auto; padding: 16px 24px 48px">
|
|
<div style="background: #111C30; border: 1px solid #34486A; border-left-width: 1px; border-radius: 6px; padding: 24px 28px; display: flex; flex-wrap: wrap; gap: 16px 40px">
|
|
<div style="flex: 1 1 300px; min-width: 0">
|
|
<h2 style="margin: 0 0 8px; font-family: 'Exo 2', sans-serif; font-size: 22px">An alpha, honestly.</h2>
|
|
<p style="margin: 0; color: #C8D1DE; font-size: 15px">Every release is booted in QEMU on amd64, aarch64 and riscv64, passes its 538 power-on checks on each, and its proofs, before it is published. On real hardware it has not been booted yet. If you try it, tell us what happened.</p>
|
|
</div>
|
|
<div style="flex: 0 1 260px; display: flex; flex-direction: column; justify-content: center; gap: 8px; font-size: 14px">
|
|
<div><span style="color: #4FD1B0">✓</span> <span style="color: #C8D1DE">QEMU, three architectures</span></div>
|
|
<div><span style="color: #A3AEC2">○</span> <span style="color: #C8D1DE">Real hardware: not yet</span></div>
|
|
<a href="Inquiries.dc.html" style="font-size: 14px">Report how it went →</a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section aria-labelledby="images-h" style="max-width: 1120px; margin: 0 auto; padding: 32px 24px 48px">
|
|
<p style="margin: 0 0 12px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: {{accent}}">The images</p>
|
|
<h2 id="images-h" style="margin: 0 0 32px; font-family: 'Exo 2', sans-serif; font-size: 36px; line-height: 1.15">Pick your board.</h2>
|
|
<div style="display: grid; grid-template-columns: repeat(auto-fit, minmax(320px, 1fr)); gap: 24px">
|
|
|
|
<article style="background: #111C30; border: 1px solid #22324D; border-radius: 6px; padding: 28px; display: flex; flex-direction: column; gap: 14px">
|
|
<div><h3 style="margin: 0 0 4px; font-family: 'Exo 2', sans-serif; font-size: 24px">PC</h3><p style="margin: 0; font-size: 13px; color: {{accent}}">any x86-64 PC that boots UEFI from USB</p></div>
|
|
<p style="margin: 0; color: #C8D1DE; font-size: 15px">A USB stick image. Its first boot makes your Zuse on the stick: no account, no password — the stick is your key.</p>
|
|
<div style="font-size: 13px; color: #A3AEC2">Write it (it replaces everything on the stick):</div>
|
|
<pre style="margin: 0; padding: 12px 14px; background: #0A1222; border: 1px solid #22324D; border-radius: 4px; font-size: 12px; color: #EEF2F7; white-space: pre-wrap">xz -dc pc-stick.img.xz | sudo dd of=/dev/sdX bs=4M conv=fsync status=progress</pre>
|
|
<p style="margin: 0; font-size: 13px; color: #A3AEC2">or balenaEtcher, which reads the .xz as it is.</p>
|
|
<a href="[RELEASE]/pc-stick.img.xz" style="display: inline-block; align-self: flex-start; padding: 12px 20px; background: {{accent}}; color: #0A1222; font-weight: 700; text-decoration: none; border-radius: 4px">pc-stick.img.xz</a>
|
|
</article>
|
|
|
|
<article style="background: #111C30; border: 1px solid #22324D; border-radius: 6px; padding: 28px; display: flex; flex-direction: column; gap: 14px">
|
|
<div><h3 style="margin: 0 0 4px; font-family: 'Exo 2', sans-serif; font-size: 24px">Raspberry Pi 5</h3><p style="margin: 0; font-size: 13px; color: {{accent}}">an SD card</p></div>
|
|
<p style="margin: 0; color: #C8D1DE; font-size: 15px">Boots straight from the Pi's own firmware. Until first-boot Zuse reaches this board, it needs a Zuse identity drive made on a PC.</p>
|
|
<div style="font-size: 13px; color: #A3AEC2">Write it with Raspberry Pi Imager (Use custom), or:</div>
|
|
<pre style="margin: 0; padding: 12px 14px; background: #0A1222; border: 1px solid #22324D; border-radius: 4px; font-size: 12px; color: #EEF2F7; white-space: pre-wrap">xz -dc raspi5.img.xz | sudo dd of=/dev/sdX bs=4M conv=fsync status=progress</pre>
|
|
<a href="[RELEASE]/raspi5.img.xz" style="display: inline-block; align-self: flex-start; padding: 12px 20px; border: 1px solid #34486A; color: #EEF2F7; text-decoration: none; border-radius: 4px">raspi5.img.xz</a>
|
|
</article>
|
|
|
|
<article style="background: #111C30; border: 1px solid #22324D; border-radius: 6px; padding: 28px; display: flex; flex-direction: column; gap: 14px">
|
|
<div><h3 style="margin: 0 0 4px; font-family: 'Exo 2', sans-serif; font-size: 24px">Milk-V Mars</h3><p style="margin: 0; font-size: 13px; color: {{accent}}">RISC-V, an SD card</p></div>
|
|
<p style="margin: 0; color: #C8D1DE; font-size: 15px">Found by the board's own U-Boot. Until first-boot Zuse reaches this board, it needs a Zuse identity drive made on a PC.</p>
|
|
<div style="font-size: 13px; color: #A3AEC2">Write it:</div>
|
|
<pre style="margin: 0; padding: 12px 14px; background: #0A1222; border: 1px solid #22324D; border-radius: 4px; font-size: 12px; color: #EEF2F7; white-space: pre-wrap">xz -dc MilkV.img.xz | sudo dd of=/dev/sdX bs=4M conv=fsync status=progress</pre>
|
|
<a href="[RELEASE]/MilkV.img.xz" style="display: inline-block; align-self: flex-start; padding: 12px 20px; border: 1px solid #34486A; color: #EEF2F7; text-decoration: none; border-radius: 4px">MilkV.img.xz</a>
|
|
</article>
|
|
|
|
<article style="background: #111C30; border: 1px solid #22324D; border-radius: 6px; padding: 28px; display: flex; flex-direction: column; gap: 14px">
|
|
<div><h3 style="margin: 0 0 4px; font-family: 'Exo 2', sans-serif; font-size: 24px">QEMU</h3><p style="margin: 0; font-size: 13px; color: {{accent}}">for developers</p></div>
|
|
<p style="margin: 0; color: #C8D1DE; font-size: 15px">The ISO every release's amd64 acceptance boots, byte for byte. To boot it the way we do, see the developer guide in the repository.</p>
|
|
<a href="https://gitea.starshipos-f18.org/rajames/LithosAnanke" style="font-size: 14px">The repository →</a>
|
|
<a href="[RELEASE]/StarshipOS.iso" style="display: inline-block; align-self: flex-start; padding: 12px 20px; border: 1px solid #34486A; color: #EEF2F7; text-decoration: none; border-radius: 4px">StarshipOS.iso</a>
|
|
</article>
|
|
|
|
</div>
|
|
<p style="margin: 24px 0 0; font-size: 14px; color: #A3AEC2">Rather not write anything? <a href="TryIt.dc.html">Try it in your browser</a> — a real machine, at its prompt in seconds.</p>
|
|
</section>
|
|
|
|
<section aria-labelledby="verify-h" style="max-width: 1120px; margin: 0 auto; padding: 48px 24px">
|
|
<div style="background: #111C30; border: 1px solid #22324D; border-radius: 6px; padding: 40px; display: flex; flex-wrap: wrap; gap: 40px">
|
|
<div style="flex: 999 1 460px; min-width: 0">
|
|
<p style="margin: 0 0 12px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: {{accent}}">Verify</p>
|
|
<h2 id="verify-h" style="margin: 0 0 16px; font-family: 'Exo 2', sans-serif; font-size: 30px; line-height: 1.2">Know it's ours.</h2>
|
|
<p style="margin: 0 0 16px; color: #C8D1DE">Every file's SHA-256 is in the release's SHA256SUMS. Inside each image, every capsule the system loads is signed by StarshipOS Capsule Signing, issued by the StarshipOS Root CA, and checked at boot.</p>
|
|
<pre style="margin: 0; padding: 12px 14px; background: #0A1222; border: 1px solid #22324D; border-radius: 4px; font-size: 13px; color: #EEF2F7">sha256sum -c SHA256SUMS --ignore-missing</pre>
|
|
</div>
|
|
<div style="flex: 1 1 300px; min-width: 0; display: flex; flex-direction: column; gap: 12px">
|
|
<div style="font-size: 13px; color: #A3AEC2">StarshipOS Root CA, SHA-256</div>
|
|
<code style="display: block; padding: 12px 14px; background: #0A1222; border: 1px solid #22324D; border-radius: 4px; font-size: 12px; color: #EEF2F7; word-break: break-all">DA:A7:40:56:65:41:1A:FE:E6:08:85:3F:6E:AD:83:3A:38:30:83:E6:F0:6D:69:A6:A8:9E:92:BD:85:93:39:81</code>
|
|
<a href="[RELEASE]/SHA256SUMS" style="font-size: 14px">SHA256SUMS →</a>
|
|
<a href="[RELEASE]/starshipos-root-ca.pem" style="font-size: 14px">The Root CA's certificate →</a>
|
|
</div>
|
|
</div>
|
|
</section>
|
|
|
|
<section aria-labelledby="docs-h" style="max-width: 1120px; margin: 0 auto; padding: 48px 24px 96px">
|
|
<div style="background: #111C30; border: 1px solid #22324D; border-radius: 6px; padding: 32px 40px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 24px">
|
|
<div style="flex: 1 1 420px; min-width: 0">
|
|
<p style="margin: 0 0 8px; font-size: 13px; letter-spacing: 0.14em; text-transform: uppercase; color: {{accent}}">Read</p>
|
|
<h2 id="docs-h" style="margin: 0 0 8px; font-family: 'Exo 2', sans-serif; font-size: 26px">The documents of this release.</h2>
|
|
<p style="margin: 0; color: #C8D1DE; font-size: 15px">The Book of Fabric, the Dictionary of v4, the book and the formal set -- built from the same tree as these images.</p>
|
|
</div>
|
|
<a href="Documents.dc.html" style="display: inline-block; padding: 12px 20px; border: 1px solid #34486A; color: #EEF2F7; text-decoration: none; border-radius: 4px">Documents →</a>
|
|
</div>
|
|
</section>
|
|
|
|
<footer style="border-top: 1px solid #22324D">
|
|
<div style="max-width: 1120px; margin: 0 auto; padding: 32px 24px; display: flex; flex-wrap: wrap; gap: 16px 32px; justify-content: space-between; font-size: 13px; color: #A3AEC2">
|
|
<span>© 2026 Robert Allan James · A Starship Foundation project (in formation)</span>
|
|
<span style="display: flex; flex-wrap: wrap; gap: 24px"><a href="Main.dc.html" style="color: #C8D1DE">Home</a><a href="Inquiries.dc.html" style="color: #C8D1DE">Inquiries</a><a href="https://starshipos.org" style="color: #C8D1DE">starshipos.org</a></span>
|
|
</div>
|
|
</footer>
|
|
|
|
</div>
|
|
</x-dc>
|
|
<script type="text/x-dc" data-dc-script data-props='{"accent":{"editor":"color","default":"#F5891F","options":["#F5891F","#5FD3C4","#8FB8FF"]},"$preview":{"width":1280,"height":2700}}'>
|
|
class Component extends DCLogic {
|
|
renderVals() {
|
|
return { accent: this.props.accent ?? '#F5891F' };
|
|
}
|
|
}
|
|
</script>
|
|
</body>
|
|
</html>
|