<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en"><title>Vessel Linux news</title><subtitle>Development notes from Vessel Linux.</subtitle><id>https://vessellinux.org/news/atom.xml</id><link rel="alternate" type="text/html" href="https://vessellinux.org/" /><link rel="self" type="application/atom+xml" href="https://vessellinux.org/news/atom.xml" /><updated>2026-10-25T00:00:00Z</updated><author><name>David Wilson</name></author><entry><title>Vessel boots</title><link rel="alternate" type="text/html" href="https://vessellinux.org/news/vessel-boots/" /><id>https://vessellinux.org/news/vessel-boots/</id><published>2026-10-25T00:00:00Z</published><updated>2026-10-25T00:00:00Z</updated><summary>A reproducible UEFI image, an SSH connection, and the first pieces of a Sigil-based Linux system.</summary><category term="announcement"></category><content type="html">&lt;p&gt;Vessel Linux boots! It&amp;apos;s a small, headless system running in QEMU, but we can connect over SSH, reboot it, and find our state where we left it. That&amp;apos;s a useful place to start.&lt;/p&gt;&lt;p&gt;Vessel is the package collection and reproducible environment system built with &lt;a href=&quot;https://usesigil.org&quot;&gt;Sigil&lt;/a&gt;. Vessel Linux takes that work down to the kernel: a whole system built from Vessel packages.&lt;/p&gt;&lt;h2&gt;What works so far&lt;/h2&gt;&lt;p&gt;The experiment produces a reproducible UEFI disk image with a Linux kernel and a musl-based userland. It boots in QEMU, gets an address with DHCP, and accepts key-authenticated SSH connections. The root filesystem is read-only, with a separate writable filesystem for persistent state.&lt;/p&gt;&lt;p&gt;WireGuard support is built into the kernel, and the image includes its userspace tools. That gives us the pieces for a tunnel; it doesn&amp;apos;t mean we&amp;apos;ve tested every networking setup yet.&lt;/p&gt;&lt;h2&gt;Describing the system in Sigil&lt;/h2&gt;&lt;p&gt;The next piece is system configuration. The design uses Sigil values for packages, services, users, and storage. Service definitions should compose with the rest of the configuration, so you don&amp;apos;t have to maintain a second set of handwritten service files.&lt;/p&gt;&lt;p&gt;I&amp;apos;m taking a lot of inspiration from &lt;a href=&quot;https://guix.gnu.org/&quot;&gt;Guix&lt;/a&gt; and &lt;a href=&quot;https://nixos.org/&quot;&gt;Nix&lt;/a&gt;, especially declarative system configuration, generations, and rollback. That&amp;apos;s the direction for Vessel&amp;apos;s system tools.&lt;/p&gt;&lt;p&gt;We&amp;apos;re starting with dinit as the service engine and generating its files from Sigil service records. That integration is under way. The records are designed to stay independent of dinit, leaving room for a Sigil service manager later without rewriting everyone&amp;apos;s definitions.&lt;/p&gt;&lt;h2&gt;Still early&lt;/h2&gt;&lt;p&gt;There&amp;apos;s no installer or supported release yet. We haven&amp;apos;t proven hardware support, system upgrades, or rollback. The reproducible image is a first step toward those things, not a finished distribution.&lt;/p&gt;&lt;p&gt;For the desktop, the plan is a small Wayland and PipeWire stack with &lt;a href=&quot;https://tesserawm.org&quot;&gt;Tessera&lt;/a&gt;, without pulling in a full desktop environment. Today&amp;apos;s image doesn&amp;apos;t run a graphical session.&lt;/p&gt;&lt;p&gt;I&amp;apos;ll post more here as the pieces start working together. If you&amp;apos;d like to look at the code, it&amp;apos;s in the &lt;a href=&quot;https://git.usesigil.org/vessel/vessel&quot;&gt;Vessel source repository&lt;/a&gt;.&lt;/p&gt;</content></entry></feed>
