.Dd September 26, 2021 .Dt OPENBSD-LINODE 7 .Os "Causal Agency" . .Sh NAME .Nm Installing OpenBSD on Linode .Nd a guide . .Sh DESCRIPTION I've been thinking for a while about moving my servers to Linode, and also about moving them to .Ox . I actually originally got into .Fx (and from there, .Ox ) only because DigitalOcean started offering it as a .Dq droplet image. I've been running those servers fine for years, but now I prefer to run .Ox , and some recent DigitalOcean outages had me thinking about it more, so I'm giving it a shot. . .Pp As an aside, running .Ox on DigitalOcean is not really a good option. It seems more awkward to install your own OS there, and if you do, I've heard that IPv6 won't work because they don't know how to run SLAAC. Also, now that I've used the Linode control panel and LISH a bit, DigitalOcean kind of feels like a toy in comparison. . .Pp Here's what I did to install .Ox on Linode: .Bl -enum .It Create a Linode with the .Dq Choose a Distribution box blank. . .It Under the Storage tab, create a disk called .Dq miniroot of type raw with size 8 MB. This will hold the install image. . .It Create another disk called .Dq root of type raw using the remaining available storage. . .It Boot the Linode in rescue mode from the option in the three-dots menu next to .Dq Power On . Attach .Dq miniroot to .Pa /dev/sda . . .It Log into the LISH console and obtain the install image: .Bd -literal curl -O https://cdn.openbsd.org/pub/OpenBSD/6.9/amd64/miniroot69.img dd if=miniroot69.img of=/dev/sda .Ed .Pp Power off the Linode. . .It Under the Configurations tab, create a configuration called .Dq install in full virtualization mode. Paravirtualization works fine once installed, but for some reason the installer can't see the root disk without full virtualization. Under boot settings, select direct disk. Attach .Dq root to .Pa /dev/sda , .Dq miniroot to .Pa /dev/sdb and set the root device to .Pa /dev/sdb . . .It Create a similar configuration called .Dq boot but using paravirtualiztion and without .Dq miniroot attached. Set the root device to .Pa /dev/sda . . .It Boot the .Dq install configuration, launch the LISH console and switch to Glish. It's possible to have the installer use serial console, but it requires entering commands at the boot prompt before the timeout, and I never managed it. If you do manage it, run: .Bd -literal stty com0 9600 set tty com0 boot .Ed . .It Proceed through the .Ox installer. When asked to change the default console to com0, answer yes so that regular LISH will work. Power off the Linode. . .It Boot the .Dq boot configuration and log in to LISH. Since the installer configured networking in full virtualization, rename the file to the paravirtualized interface: .Bd -literal mv /etc/hostname.em0 /etc/hostname.vio0 .Ed .Pp In order to get the right public IPv6 address, disable privacy extensions by changing the inet6 line of .Pa hostname.vio0 to: .Bd -literal inet6 autoconf -temporary -soii .Ed . .It Bring networking up and run .Xr syspatch 8 since .Pa rc.firsttime couldn't do it: .Bd -literal sh /etc/netstart syspatch .Ed . .It Reboot. .El . .Pp I guess I'll be slowly moving things over to the new servers for the next little while. With any luck the next post here will not say .Fx in its header! . .Sh SEE ALSO I learned the basic idea of how to do this from .Lk https://www.subgeniuskitty.com/notes/openbsd_on_linode . . .Sh AUTHORS .An june Aq Mt june@causal.agency