The live disk

The boot media is the Machine. The first partition carries the kernel, the packages and the saved state that is this Machine's identity; the second, ext4, is /data. Everything else is RAM, rebuilt at every boot.

Download and verify

The image is pipeos-usb.img.xz; its digest file is pipeos-usb.img.xz.sha256. Both are on downloads.

$ sha256sum -c pipeos-usb.img.xz.sha256
pipeos-usb.img.xz: OK

The same image boots from USB, SATA or NVMe; the media is found by its PIPEOS label. It is written to a whole disk, never a partition, and erases everything on it. First boot carves the rest of the disk into /data.

One line, macOS or Linux

The flasher lists your removable disks, asks which one, fetches the latest release, verifies its digest and writes it; your operating system asks for your password once.

$ curl -sSf https://pipe.online/flash.sh | sh

Windows

Use Rufus (rufus.ie); it reads the compressed image as it is. Pick your stick under Device, SELECT pipeos-usb.img.xz, START. Everything on the stick is erased.

By hand

Read the device path twice: dd to the wrong disk is irreversible.

$ xz -dc pipeos-usb.img.xz | sudo dd of=/dev/sdX bs=4M conv=fsync

Then boot the box UEFI with Secure Boot off and open http://pipeos.local/: first boot. A stick made any of these ways is nobody's until the first visitor claims it.

From a Machine you already run

pipeos flash checkcompare the running image with the latest release; the Live disk row under System reads the same
pipeos flash fetchdownload into /data and verify against the release's digest (about 2 GB down, 6 GB free needed)
pipeos flash applyrewrite this Machine's boot partition in place, keeping identity and /data. Flash a new live disk runs this; automatic updates run it hourly (persistence and updates)
pipeos flash apply --to /dev/sdXwrite the released image and this Machine's identity onto a spare whole disk: this Machine's next stick

--to makes a replacement stick for this Machine: the new disk boots as this box, with its claim, users, sign-ins and sealed vault. It is not a way to make a stick for another box; that is the generic image, written from any computer as above. The typed confirmation is the device path.

/data is not copied. pipeos restore-work /data --onto /dev/sdX2 copies it onto the new stick before the swap, or pipeos restore-work /dev/<old>2 brings it from the old stick afterwards. Then:

$ pipeos save                # state as of now, onto the current stick
$ poweroff
# remove the old stick, boot from the new one

Remove the old stick before booting the new one. Both carry the same labels and the box mounts by label; two attached at boot is a coin toss. Keep the old stick until the new one has booted and saved once. What can go wrong is under recovery.

Next

First boot: the lobby, the claim, the recovery phrase.