FurcateOS
Downloads  ·  0.1  ·  amd64

Download Furcate OS.

The Server edition, built from the open tree and published with its digest. Nothing here phones home, and every artifact can be checked against the checksum beside it before it is ever booted.

Version
0.1
Edition
Server · headless
Architecture
amd64
Base
Ubuntu 26.04.1 LTS
Licence
Apache-2.0
Published
2026-09-06
01 Server The installer image.

An installer that needs nothing but the medium.

The image installs Ubuntu, then installs Furcate from packages carried on the same medium and enables the node. There is no answer server and no network fetch during the install, because an installer that reaches for the internet to become itself is an installer that fails in the places this is meant to work.

Two questions are asked and not assumed: which disk to use, and who the first account belongs to. A disk is destroyed and an identity is created — answering those silently is how an installer loses trust.

Size
2.8 GB
SHA-256
40c6956bce87e4dab021bf7e2d9513438586f055a9715627502c787d3dbd1d83
Contains
furcate-node, furcate-cli
What is not in it

This is the open distribution, so it carries the open system and nothing else. The network is installed but not joined: joining is an action, and an image that performed it on first boot would perform it without being asked. furcate setup turns it on.

02 Extension For a machine already running.

A system extension, for a machine you are not reinstalling.

A sysext is a filesystem image that merges into /usr at runtime. The base system is not modified, the extension is added and removed atomically, and on a host with a read-only root it is the only way to add software at all.

Size
2.6 MB
SHA-256
96fa45ac134a59545180b6c236c1dd54c6814612191266b54b6a6e0a853ea472
Matches
ubuntu, sysext level 1
Size
6.7 MB
SHA-256
f30cb93c34da76ac2c07794d4974ce005a2a51a8f8d9a6647ab6f828978ca153
Root hash
49a2eef9ce18cd3e0e41279937162c86fde0b398f21f99c0e6989971802d9344
Merging the extension
$ sudo cp furcate.raw /var/lib/extensions/ $ sudo systemd-sysext refresh Merged extensions into '/usr'. # and to remove it: delete the file and refresh again. the base system # was never modified, so there is nothing else to undo.
03 Verify Before you boot it.

Check the bytes you got are the bytes that were published.

Every artifact is published with its digest. Download the checksum file and let sha256sum do the comparison, rather than reading two hex strings and deciding they look alike.

Verifying the image
$ curl -fLO https://downloads.furcate.org/furcate-server-0.1-amd64.iso $ curl -fLO https://downloads.furcate.org/SHA256SUMS $ sha256sum -c SHA256SUMS furcate-server-0.1-amd64.iso: OK furcate.raw: OK

SHA256SUMS covers every artifact on this page.

04 Signature Who signed it, and how to trust that.

A key that cannot be copied off the machine that holds it.

The signed extension is a dm-verity image: the filesystem has a hash tree, and the root of that tree is signed. Changing one byte of the image changes the root hash, and the signature stops matching. The signing key is held in a TPM and is not exportable, so it cannot be taken from the machine that holds it — including by anyone who reaches that machine.

A machine merges a signed extension only if it already trusts the certificate. Install the certificate below, and systemd-sysext will verify the image before merging it rather than taking it on trust.

Certificate
Subject
CN=Furcate sysext signing, O=Furcate
Key
RSA 2048, held in a TPM
Valid
2026-08-21 → 2036-08-18
Fingerprint
c01d83cd1ad42aa9eaff8ebf8551fef036f5b41ad0b26d3fb7644f6323f77aa2
Trusting the certificate, then merging a signed image
$ curl -fLO https://downloads.furcate.org/furcate-sign.crt $ openssl x509 -in furcate-sign.crt -noout -fingerprint -sha256 sha256 Fingerprint=C0:1D:83:CD:1A:D4:2A:A9:...:23:F7:7A:A2 # compare that against the fingerprint printed above before trusting it. $ sudo install -D -m644 furcate-sign.crt /etc/verity.d/furcate-sign.crt $ sudo cp furcate-1.0.43-d0ca3b8-signed.raw /var/lib/extensions/furcate.raw $ sudo systemd-sysext refresh Merged extensions into '/usr'.
Read this before you trust it

Installing a certificate into /etc/verity.d means that machine will merge any extension this key signs. That is the point of it, and it is also the risk: it is a standing decision, not a one-off. A machine that already trusts a different signing certificate will refuse this image, which is the system working correctly rather than a fault.

05 Install Write it, boot it, set it up.

From image to a node that says what it is.

  1. Write the image

    Write the ISO to a USB drive, or attach it as virtual media through the machine's management controller.

  2. Boot and answer two questions

    The installer answers itself from the medium, and stops only for the disk and the first account.

  3. Run setup

    sudo furcate setup configures identity, site and keys, and asks whether to join a network. Everything derivable is looked up rather than typed.

What is signed, and what is not

The system extension is published in a signed form: a dm-verity image whose root hash is signed by a key held in a TPM, so the key cannot be copied off the machine that holds it. The installer ISO is not signed — verify it by its digest, over the same TLS connection that served this page.