FreeBSD VPS: gigadelic 2017

2017-04-20 00:04

Five years ago — gosh, has it really been that long? — I wrote up some instructions for installing FreeBSD on a Xen PV VPS from prgmr, my favorite VPS host. The server hosting this blog is and has lived at prgmr since 2011 with no major issues. I basically ignored it for the last few years aside from security patches and it just kept on chugging. It was still running FreeBSD 10.1 because I don’t have as much free time as I used to and never got around to building custom Xen PV images for 10.2, 10.3, or 11. FreeBSD 10.1 has been end of life for about four months now, so it’s definitely time I stop using it! I wanted to move over to amd64 FreeBSD 11 running GENERIC. Until now, gigadelic was my only 32-bit x86 system, so on I had to maintain a separate i386 builder jail and a completely separate set of packages just for it. Running the GENERIC kernel means I can get OS updates and new releases directly from the FreeBSD project without having to build and sideload them myself with the weird pv-grub ext2 kernel partition setup I used to run.

Disclaimer: I have a complimentary VPS from Prgmr for my previous contribution to them. This does not affect my opinion of them or their services. If there were a better host I’d be there. I just want people to be able to enjoy FreeBSD and if it means supporting a good local small business then that’s doubly cool :)

Late last year I was asked to test prgmr’s own FreeBSD image. I’ve been putting an HVM instance through its paces since then on as an RTMP/Dash/HLS streaming and relay server with absolutely zero issues so far. On prgmr’s new management console I can boot and run a normal GENERIC kernel in Xen HVM mode instead of having to build my own custom PV kernel, and I can even boot the normal FreeBSD installer and roll my own if I wasn’t satisfied with their preconfigured image. Gigadelic was on the legacy management console, so I just had to email support and get it moved over to a new dom0.

Once moved, I had access to a few new management options and lost access to a few old ones. It’s no longer possible to swap between i386 and amd64 but I’m happy with amd64-only. It’s no longer possible to swap bootloader mode between pv-grub and GRUB2, but personally I’m happy to see Paravirtualization go away in favor of HVM since it makes the administration easier for me.

  1. Main Menu - gigadelic
  2. Current status:
  3. gigadelic is running.
  4. Wiki at
  5. Please contact with any issues accessing your machine.
  6. Options:
  7. 1. out of band console (press ctrl-] to escape, not resizeable)
  8. 2. create/start, opens OOB console (try this if the machine is not running)
  9. 3. shutdown (requests clean shutdown, forces off after 4 min)
  10. 4. force power off (destroy/hard shutdown)
  11. 5. reboot (shutdown + start)
  12. 6. set bootloader or rescue mode
  13. 7. view/add/remove ssh authorized_keys
  14. 8. view/edit reverse dns
  15. 9. install new OS image
  16. a. system details
  17. 0. Exit
  18. R. refresh
  19. enter selection>

“Set bootloader or rescue mode” now contains a “BSD Installers” option that can configure your VPS to boot a FreeBSD, NetBSD, or even OpenBSD installer.

enter selection>6
  1. Set Boot Options - gigadelic
  2. Configured to boot from disk.
  3. Options:
  4. 1. Boot from disk
  5. 2. Linux-based Live Rescue
  6. 3. Linux netboot installers - install mode
  7. 4. Linux netboot installers - rescue mode
  8. 5. BSD installers
  9. 0. Return to main menu
  10. R. refresh
  11. enter selection>5
  12. BSD installers - gigadelic
  13. Options:
  14. 1. FreeBSD 10 - 64 bit
  15. 2. FreeBSD 11 - 64 bit
  16. 3. NetBSD 6.1.5 - 32 bit
  17. 4. NetBSD 6.1.5 - 64 bit
  18. 5. NetBSD 7.0.2 - 32 bit
  19. 6. NetBSD 7.0.2 - 64 bit
  20. 7. OpenBSD 6.1 - 64 bit
  21. 0. Return to set boot options
  22. R. refresh
  23. enter selection>

Or you can hit “Install new OS image” to quickly get a copy of their pre-configured image. If you use this you will get a system with just a root user, with SSH password authentication disabled, and with your management console key automatically installed to root’s authorized_keys.

  1. Install OS - gigadelic
  2. Installation will reset your system to boot from disk.
  3. Options:
  4. 1. Centos 6 - 64 bit
  5. 2. Centos 7 - 64 bit
  6. 3. Centos 7 Docker - 64 bit
  7. 4. Debian Jessie - 64 bit
  8. 5. Debian Jessie with SysVinit - 64 bit
  9. 6. Debian Wheezy - 64 bit
  10. 7. Fedora 24 - 64 bit
  11. 8. Fedora 25 - 64 bit
  12. 9. FreeBSD 10 - 64 bit
  13. a. FreeBSD 11 - 64 bit
  14. b. Ubuntu Trusty 14.04 - 64 bit
  15. c. Ubuntu Trusty 14.04 Docker - 64 bit
  16. d. Ubuntu Xenial 16.04 - 64 bit
  17. e. Ubuntu Xenial 16.04 Docker - 64 bit
  18. f. Ubuntu Yakkety 16.10 - 64 bit
  19. 0. Return to main menu
  20. R. refresh
  21. enter selection>a
  22. Are you sure you want to install FreeBSD 11 - 64 bit(y/n)?y
  23. Add current ssh keys to root user(y/n/q)?y
  24. Shutdown request in progress. Press any key to stop waiting and cancel installation......
  25. Installation in progress. Press any key to stop waiting for completion.......

That’s all there is to it! Once installed through either method you can log in, install your software, and update using freebsd-update as you would on any bare-metal system.