Try deboot

From the Devcon 8 talk The Next Centralised Dependency Is Your Bootloader. A USB stick that starts a computer from Swarm instead of its own disk, checks every byte, and runs entirely in memory.

What you need

1. Download

try-deboot-x86-64.img.xz
220,088 bytes. It unpacks to a 34 MiB disk image.

SHA-256:

a9e8fa1ea21c2dc4624f987613754693275c4896bd6fada979bf350f794644d8

2. Check it and write it to the stick

Pick the computer you're writing the stick on. It can be the same one you'll boot from it.

Mac

Check the download in Terminal. The output must match the SHA-256 above:

shasum -a 256 ~/Downloads/try-deboot-x86-64.img.xz

Then write it with Raspberry Pi Imager or balenaEtcher. Both read the .xz file directly:

macOS may then say the disk is unreadable. Choose Eject, not Initialize.

Windows

Check the download in PowerShell. The hash must match the SHA-256 above:

Get-FileHash $HOME\Downloads\try-deboot-x86-64.img.xz -Algorithm SHA256

Then write it with Raspberry Pi Imager or balenaEtcher. Both read the .xz file directly:

Windows may then offer to format the stick. Choose Cancel.

Linux

Check the download. The output must match the SHA-256 above:

sha256sum try-deboot-x86-64.img.xz

Find the stick (compare lsblk before and after plugging it in), then write it. Replace /dev/sdX with the whole stick, not a partition. Everything on it is erased:

lsblk -d -o NAME,SIZE,MODEL,TRAN
xz -dc try-deboot-x86-64.img.xz | sudo dd of=/dev/sdX bs=4M conv=fsync status=progress

Or use Raspberry Pi Imager or Etcher, as on the other tabs.

3. Boot from it

  1. Turn Secure Boot off in the computer's firmware settings. The stick isn't signed yet. Turn it back on when you're done.
  2. Plug in the stick, and the phone with USB tethering switched on (Android: Settings → Network → Hotspot & tethering → USB tethering), or an Ethernet cable.
  3. Restart or power on, and open the one-time boot menu, then pick the USB stick:
    Lenovo, Dell, Acer, FrameworkF12
    HPEsc, then F9
    ASUSEsc or F8
    MSIF11
    Intel Mac or Mac minihold Option (Macs with a T2 chip: first allow external boot in Startup Security Utility)

4. What happens

What it doesn't do

For developers

Using an agent

Give your coding agent this, and it will walk you through fetching from Swarm by hash, reading a release record on Ethereum, and pulling a container with no registry account:

Read https://try.deboot-efi.eth.link/SKILL.md and walk me through it.

By hand

The same steps, to copy and paste yourself.

The projects

deboot-efi.eththe firmware: boots from an ENS name and Swarm
code.deboot-efi.ethits source, on Radicle
debootd.eththe daemon: runs what a machine's name says
code.debootd.ethits source, on Radicle