Skip to content

Instantly share code, notes, and snippets.

View lispstudent's full-sized avatar

Lisp student lispstudent

View GitHub Profile
@lispstudent
lispstudent / README.md
Created December 25, 2025 17:39 — forked from TyrfingMjolnir/README.md
Some example bhyve zone files for Joyent SmartOS

A minor list of how to create and boot a Bhyve-zone in Joyent SmartOS

cd /opt/local/artifacts/
vim zonemanifestBhyveFreeBSD.json
vmadm create < zonemanifestBhyveFreeBSD.json
curl -kLo /zones/UUID/root/FreeBSD-12.0-RC3-amd64-bootonly.iso

The following line is for KVM, not BHYVE, hence obsoleted for non-legacy boot options

cd /zones/<<UUID>>/root/
@lispstudent
lispstudent / OpenBSD_on_SmartOS_with_BHYVE
Created December 25, 2025 17:35 — forked from ClaesBas/OpenBSD_on_SmartOS_with_BHYVE
How to install OpenBSD on SmartOS with bhyve hypervisor (OpenBSD65 and SmartOS 20190424)
How to install OpenBSD with bhyve-vm on SmartOS (20190424):
tl;dr:
Create a bhyve vm with an empty disk, where you put an install image with dd afterwards.
"bhyve_extra_opts": "-w"
"bootrom": "uefi"
"vcpus": 1 (is needed too, some say..)
Change to serial console when booting the install image
Do it like this:
@lispstudent
lispstudent / windows-10-pro-smartos-bhyve.md
Created May 21, 2025 05:17 — forked from skirmess/windows-10-pro-smartos-bhyve.md
Windows 10 Pro Image for SmartOS Bhyve

Windows 10 Pro

Windows 10 Pro ISO

Create a fresh Windows 10 Pro ISO file with Microsofts Media Creation Tool. (I created a Windows 10 Pro 64 bit German ISO image)

Save the created image on your SmartOS global zone.

cp ... /zones/Windows10_64de.iso
@lispstudent
lispstudent / gist:ba761e48c212b81201ea823c54cb8e4a
Created May 21, 2025 05:16 — forked from matthiasg/gist:602eb6f20e2d2a51870efb8473903c7d
Install SmartOS on Hetzner machine with NVMe
#!/bin/sh
exec tail -n +3 $0
# This file provides an easy way to add custom menu entries. Simply type the
# menu entries you want to add after this comment. Be careful not to change
# the 'exec tail' line above.
menuentry "SmartOS" {
recordfail
insmod ext2
insmod gzio
@lispstudent
lispstudent / smartos-on-hetzner.doc
Created May 21, 2025 05:15 — forked from Tanhueco/smartos-on-hetzner.doc
SmartOS On Hetzner Dedicated Server and Subnet
# Licensed under CC BY 3.0 http://creativecommons.org/licenses/by/3.0/
# Derived works must attribute https://gist.github.com/4492300 at the beginning, and the date.
##################################################################
Installing and Configuring SmartOS at Hetzner (with a /29)
##################################################################
# This is another version of Jahewson's Gist here: https://gist.github.com/jahewson/4492300 that adds a gate to prevent packets
from leaking out from the main MAC address.

Install FreeBSD 14.0 on Hetzner server

Hetzner no longer offers direct install of FreeBSD, but we can do it ourselves. Here is how :)

Boot the hetzner server in Hetnzer Debain based rescue mode. ssh into it. then:

wget https://mfsbsd.vx.sk/files/iso/14/amd64/mfsbsd-14.0-RELEASE-amd64.iso

qemu-system-x86_64 \
@lispstudent
lispstudent / vcs.md
Created February 21, 2023 16:14 — forked from dertuxmalwieder/vcs.md
Comparing the single-file efficiency of version control systems

Not everything you want to keep in a VCS is a "project": Sometimes you have one single file which does not belong to any other files, but you still want to have it version-controlled. Assume a TODO file, an Office document or something. How well do various version control systems perform here?

Preface:

$ uname -smr 
Darwin 19.3.0 x86_64

$ sccs -V
sccs schily-SCCS version 5.09 2020/01/31 (x86_64-apple-macosx19.3.0)
@lispstudent
lispstudent / ddns-update.sh
Last active May 28, 2022 14:27 — forked from bomale/ddns-update
Namecheap DDNS Updater Bash Script
#!/bin/sh
# make it executable `chmod +x ddns-update`
# move it path `mv ddns-update /usr/bin/`
# setup cronjob for every 15 minutes `crontab -e`
# */15 * * * * ddns-update >/dev/null 2>&1
# dont forget to change your own domain & password
# uncomment if you want internet connection check before running
#while ! ping -c 1 -W 1 8.8.8.8; do
# echo "DDNS-UPDATE: Waiting internet connection.."