Installing OpenBSD on a KVM VPS via ipxe/VNC console, no template required. (128mb ram, 1GB Disk)

AnthonySmithAnthonySmith ModeratorHosting ProviderOGSenpai
edited 7:05PM in Technical

Ok, I know, I said last time I would not do any more for a while, but a few things that were said in response to the other ones got me thinking more down the OpenBSD route.

So again, armed with a 128mb TierHive VPS with 1GB disk, I got to work.

This should work on any host that provides an HTML5 VNC console in theory, as long as they have enabled the ability for you to drop into boot options, I think that's pretty standard now?

It's really going to help if your host also supports a clipboard for the html5 console, but not the end of the world if not.

First off, just install any OS to get the VPS set up with the package and specs you want, let it finish setup, I just used the Alpine template as its the only one that allows 128mb and 1GB disk, its a good idea to let this fully finish if you are on other hosts, I know from experience not everyone sets the default disk drivers etc until you actually install an os and you dont wantto be using the ide driver (solusvm)

Then get ready to catch the reboot aand start pressing escape in the html5 vnc console:

bsd vps

You will need to catch the ctrl+b option to drop you into the IPXE shell, like the above image shows, if you have DHCP enabled, just type dhcp and press enter; otherwise, you will need to configure your network at this stage, for example:

set net0/ip 192.168.1.123
set net0/netmask 255.255.255.0
set net0/gateway 192.168.1.1
set dns 8.8.8.8
ifopen net0

The ipxe shell should now have internet access, so we can pull the cd78.iso

sanboot http://cdn.openbsd.org/pub/OpenBSD/7.8/amd64/cd78.iso

bsd vps ipxe install

bsd vps ipxe install

Let that run for a bit, if you dont have dhcp you will need to enter the network details again otherise dhcp will sort that out for you, and you will eventually get to the install options:

bsd ipxe install

Now select (I)nstall and run through the obvious options for ssh, user password etc, in most cases the defaults are fine but I will assume you have some clue about them if you are even attempting this, I used an auto disk layout for speed.

bsd ipxe install

Select [http] (also the default) for sets.

And when it prompts for an HTTP Server, use cdn.openbsd.org

openbsd ipxe install vps

Select the sets for a minimal install, deselect everything that is not needed:

-comp78.tgz -man78.tgz -game78.tgz -xbase78.tgz -xserv78.tgz -xshare78.tgz -xfont78.tgz -bsd.rd

openbsd ipxe install vps
openbsd ipxe install vps

You will see a prompt about the prefetch area; the default is no, type yes

openbsd ipxe kvm vps install

Now its going to pull the sets and then ask you if you want any more sets, the default [done] option is fine.

hi wss

The install will finish up, you will see a load of warnings about /mnt file system is full, it's fine, just run syspatch after first boot a few times, you can now reboot, and enjoy :)

Hi Not_Oles

Welcome to OpenBSD: The proactively secure Unix-like operating system.

Please use the sendbug(1) utility to report bugs in the system.
Before reporting a bug, please try to reproduce it with the latest
version of the code.  With bug reports, please try to ensure that
enough information to reproduce the problem is enclosed, and if a
known fix for it exists, include that as well.

testbsd# syspatch
Get/Verify syspatch78-001_syspatc... 100% |***************************************************************************************************|  8538       00:00    
Installing patch 001_syspatch
syspatch: updated itself, run it again to install missing patches
testbsd# syspatch 
Get/Verify syspatch78-003_unbound... 100% |***************************************************************************************************|  2952 KB    00:00    
Installing patch 003_unbound
Get/Verify syspatch78-004_libssl.tgz 100% |***************************************************************************************************|  2553 KB    00:00    
Installing patch 004_libssl
Get/Verify syspatch78-005_smtpd.tgz 100% |****************************************************************************************************|   218 KB    00:00    
Installing patch 005_smtpd
Get/Verify syspatch78-006_libunwi... 100% |***************************************************************************************************|  1669 KB    00:00    
Installing patch 006_libunwind
Get/Verify syspatch78-010_unbound... 100% |***************************************************************************************************|  2953 KB    00:00    
Installing patch 010_unbound
Get/Verify syspatch78-012_rpki.tgz 100% |*****************************************************************************************************|   141 KB    00:00    
Installing patch 012_rpki
Get/Verify syspatch78-013_httpd.tgz 100% |****************************************************************************************************| 79409       00:00    
Installing patch 013_httpd
Get/Verify syspatch78-014_expat.tgz 100% |****************************************************************************************************|   685 KB    00:00    
Installing patch 014_expat
Get/Verify syspatch78-015_tmppath... 100% |***************************************************************************************************|  1135 KB    00:00    
Installing patch 015_tmppath
Get/Verify syspatch78-017_tmppath... 100% |***************************************************************************************************| 79182       00:00    
Installing patch 017_tmppath
Get/Verify syspatch78-021_calenda... 100% |***************************************************************************************************| 14278       00:00    
Installing patch 021_calendar
Get/Verify syspatch78-023_calenda... 100% |***************************************************************************************************| 14646       00:00    
Installing patch 023_calendar
Get/Verify syspatch78-024_expat.tgz 100% |****************************************************************************************************|   683 KB    00:00    
Installing patch 024_expat
Get/Verify syspatch78-026_smtpd.tgz 100% |****************************************************************************************************|   310 KB    00:00    
Installing patch 026_smtpd
Errata can be reviewed under /var/syspatch

Fresh install, nothing changed yet.

Memory: Real: 21M/88M act/tot Free: 3936K Cache: 13M Swap: 3272K/17M
Filesystem     Size    Used   Avail Capacity  Mounted on
/dev/sd0a      975M    634M    292M    69%    /
USER       PID %CPU %MEM   VSZ   RSS TT  STAT   STARTED       TIME COMMAND
root         1  0.0  0.3   944   376 ??  I       2:03PM    0:00.01 /sbin/init
root     25349  0.0  0.0  1108    24 ??  Ip      2:03PM    0:00.01 /sbin/slaacd
_slaacd  29575  0.0  0.1  1116   112 ??  Ip      2:03PM    0:00.01 slaacd: engi
_slaacd  82864  0.0  0.1  1112    96 ??  IpU     2:03PM    0:00.02 slaacd: fron
root     99250  0.0  0.0  1120    24 ??  IU      2:03PM    0:00.00 /sbin/dhcple
_dhcp    56878  0.0  0.5  1132   596 ??  Ip      2:03PM    0:00.01 dhcpleased:
_dhcp    40899  0.0  0.6  1140   688 ??  IpU     2:03PM    0:00.01 dhcpleased:
root     33511  0.0  0.0   832    24 ??  IpU     2:03PM    0:00.01 /sbin/resolvd
root     18053  0.0  1.6  1048  1836 ??  IpU     2:04PM    0:00.01 syslogd: [pr
_syslogd 75114  0.0  1.4  1492  1632 ??  Spc     2:04PM    0:00.04 /usr/sbin/sy
root     13046  0.0  0.7   976   760 ??  IU      2:04PM    0:00.00 pflogd: [pri
_pflogd  85025  0.0  0.8  1016   904 ??  Ipc     2:04PM    0:00.00 pflogd: [run
_ntp     68896  0.0  2.0  1176  2324 ??  S<pc    2:04PM    0:00.16 ntpd: ntp en
_ntp     79900  0.0  1.6  1128  1856 ??  Ip      2:04PM    0:00.01 ntpd: dns en
root     89475  0.0  1.5  1756  1676 ??  I<pU    2:04PM    0:00.01 /usr/sbin/nt
root      4509  0.1  2.5  1100  2848 ??  S       2:04PM    0:00.07 sshd: /usr/s
root      3013  0.0  1.6  1816  1864 ??  Ip      2:04PM    0:00.01 /usr/sbin/sm
_smtpd   85973  0.0  2.0  1552  2240 ??  Ipc     2:04PM    0:00.00 smtpd: crypt
_smtpd   42320  0.0  2.2  1876  2516 ??  Ipc     2:04PM    0:00.01 smtpd: contr
_smtpd   39534  0.0  2.6  1652  2952 ??  Ip      2:04PM    0:00.01 smtpd: looku
_smtpd   39115  0.0  4.1  2384  4680 ??  Ipc     2:04PM    0:00.01 smtpd: dispa
_smtpq   64001  0.0  2.9  1776  3296 ??  Ipc     2:04PM    0:00.01 smtpd: queue
_smtpd   12214  0.0  2.8  1556  3164 ??  Ipc     2:04PM    0:00.01 smtpd: sched
_sndiop  81722  0.0  0.8  9060   932 ??  IpU     2:04PM    0:00.00 sndiod: help
_sndio   52312  0.0  0.7  9060   828 ??  I<pc    2:04PM    0:00.00 /usr/bin/snd
root     45289  0.0  1.2  1136  1400 ??  Ip      2:05PM    0:00.01 /usr/sbin/cr

Services enabled at boot:

check_quotas
cron
dhcpleased
library_aslr
ntpd
pf
pflogd
resolvd
slaacd
smtpd
sndiod
sshd
syslogd

I am sure someone that is more of a regular BSD user will probably know a few things that could improve this. I encourage you to comment.

And.... you can probably guess what is coming next....

AI Declaration: There was no AI involved in this; the work is my own. I did not even bother using it for formatting, as this was a speed run; you can just live with my shitty English spelling and grammar

Enjoy!

TierHive - Hourly VPS - NAT Native - /24 per customer - Lab in the cloud - Free to try. | I am Anthony Smith
FREE tokens when you sign up, try before you buy. | Join us on Reddit

Comments

  • AnthonySmithAnthonySmith ModeratorHosting ProviderOGSenpai

    Spoiler:

    testbsd# top -b -n1
    load averages:  0.00,  0.00,  0.00    testbsd.local 19:06:06
    9 processes: 1 running, 7 idle, 1 on processor  up 0 days 01:05:38
    1   CPUs:  0.4% user,  0.0% nice,  0.4% sys,  0.0% spin,  0.1% intr, 99.2% idle
    Memory: Real: 8896K/45M act/tot Free: 47M Cache: 9096K Swap: 0K/17M
    
      PID USERNAME PRI NICE  SIZE   RES STATE     WAIT      TIME    CPU COMMAND
    61776 _syslogd   2    0 1512K 1632K sleep     kqread    0:00  0.00% syslogd
    75742 root      28    0 1188K 1576K run       -         0:00  0.00% dropbear
     2367 root       2    0 1136K  976K idle      kqread    0:00  0.00% dropbear
    39442 root       2    0 1148K 1348K sleep     kqread    0:00  0.00% cron
     7908 root       2    0 1024K 2276K idle      sbwait    0:00  0.00% syslogd
    86156 root      18    0 1368K 1044K sleep     sigsusp   0:00  0.00% ksh
    44214 root       3    0  792K 1300K idle      ttyin     0:00  0.00% getty
        1 root      10    0  948K  476K idle      wait      0:00  0.00% init
    57444 root      28    0  808K 1376K onproc    -         0:00  0.00% top
    

    TierHive - Hourly VPS - NAT Native - /24 per customer - Lab in the cloud - Free to try. | I am Anthony Smith
    FREE tokens when you sign up, try before you buy. | Join us on Reddit

  • WSSWSS OG

    You can disable most of those daemons. I would also suggest installing a stripped-down kernel.

    Thanked by (1)AnthonySmith

    My pronouns are like/subscribe.

  • AnthonySmithAnthonySmith ModeratorHosting ProviderOGSenpai

    I put a link to this post HN, in Show HN:

    Pointed it back here, maybe get some new blood in the community.

    TierHive - Hourly VPS - NAT Native - /24 per customer - Lab in the cloud - Free to try. | I am Anthony Smith
    FREE tokens when you sign up, try before you buy. | Join us on Reddit

Sign In or Register to comment.