HAMMER2 update on the way

Matthew Dillon’s been working on “reliable on-media topology” for HAMMER2.  If you had a crash at just the right time with HAMMER2, you wouldn’t lose data but you might have to do some manual cleanup.  (Don’t ask me the steps; never happened to me.)  With these changes, that doesn’t happen any more.  It’s present now in -master and will be in what should be DragonFly 5.4.1 by the end of the year.  He has a post to users@ that goes into better detail.   If you want way too much detail, you can check the commits.

Three related notes: snapshots are now faster, the HAMMER2 design document has been updated to the tune of 400+ new lines, and yes, you can encrypt your root HAMMER2 filesystem, and have been able to for a while.

DragonFly 5.4 released!

DragonFly 5.4.0 has been released.  This release bring a new compiler (gcc 8.0), asymmetric NUMA support, and a number of new and updated drivers for virtual machine devices and network.

My users@ post has the details on upgrading, as do the release notes.  Note there’s a step in there to update initrd, which has been available for the last few releases, though I’ve never mentioned it.  It’s probably a good idea, since that builds a mini “rescue” system, in case disaster strikes.

How all those dports get built

I’ve mentioned it before, but the tool ‘synth‘ is what DragonFly uses to build all the dports binaries – over 30,000 packages, though I’m typing that from memory and not from looking at a tool.  Anyway, the one part of the release process I’ve never touched was the package building – and now it’s documented.  This document is oriented towards DragonFly releases – but if you wanted to create your own package repo with custom options, this is the way to do it.

DragonFly 5.4rc1 image to use

I uploaded the current 5.4 release candidate – there’s an ISO and an IMG file, though your local mirror may be a better place to get it than those links.  Or just wait; I think the release won’t be long.

Note that I was smart for once and named it ‘rc1’, so if there’s another release candidate, it can be named ‘rc2’.  I used ‘rc’ in previous releases and was never sure if I should name a second candidate rc1, rc2…

Fetching DragonFly src over https

If you happen to be using DragonFly from a network location that only allows http/https as outbound traffic, you won’t be able to update /usr/src using defaults.  /usr/Makefile pulls DragonFly source using a git:// URL.

The fix is to use the read-only Github mirror.  You can set origin manually or just change GITHOST in /usr/Makefile (or GITURL_SRC if you are on DragonFly-master) to “https://github.com/DragonFlyBSD/DragonFlyBSD”.

(Guess what I did today?  Updated to note it’s different on -master.  Thanks tuxillo for reminding me of this whole thing.)

DragonFly, Cygwin, and PuTTY

To add to my ongoing slow fiddle with DragonFly: I’ve noted how to install in Hyper-V, and how to use Cygwin to connect to run X.  Here’s another step: if you are using PuTTY/Pageant, as I am, and want to connect, Cygwin/X needs to be told to listen on TCP.  Find your /usr/bin/startxwin file in Cygwin and change serverargs to:

serverargs=”-listen tcp”

And then in PuTTY, under Connection -> Session -> X11, check “Enable X11 forwarding”, set X display location to “:0.0”, and locate your .Xauthority file.  It will be in your user’s Cygwin home directory.  (tips found here)

plink can be used to create shortcuts – open an xterm directly into your DragonFly VM from your Windows desktop, for instance, with a shortcut that runs ‘plink <sessionname> xterm’.

If you are running a slightly newer version of Windows and aren’t trying to accommodate a ‘legacy’ PuTTY install, using Windows Subsystem for Linux may work better; I have not yet tried.

DragonFly on Hyper-V, locally

For the future edification of others: I mentioned I installed DragonFly under Hyper-V on a Windows 10 laptop.  I wanted to be able to open a terminal on DragonFly while in my Windows environment.  I have that now; here’s what I did:

  • Installed DragonFly in Hyper-V (see my prior install notes)
  • Installed xorg on DragonFly.  (pkg install xorg)
  • Installed Cygwin/X on Windows 10 – specifically, the xauth, xorg, xterm, xclock, cygutils-x11, and openssh packages.
  • In DragonFly, set these items in /etc/ssh/sshd_config :
    • X11Forwarding Yes
    • X11DisplayOffset 0
    • XAuthLocation /usr/local/bin/xauth
  • Run XWin Server on Windows 10.
  • Run CygWin64 Terminal on Windows 10
    • export DISPLAY=:0.0
    • ssh -Y (address of DragonFly host)
    • Once logged in, type ‘xterm’.

At this point, a terminal window should pop up on your Windows machine, showing your DragonFly username@hostname as the prompt.  You are set!

Next steps – getting this working with PuTTY, Pageant, and Plink.

Hyper-V and DragonFly

I tried Hyper-V, and of course, I had to install a virtual DragonFly system.  Sascha Wildner very helpfully pointed out that DragonFly on Hyper-V requires a legacy network adapter and a gen-1 image type; both changes you can make during initial setup.  I’m noting it here for the benefit of future people walking down the same path.

Note: pick ‘legacy BIOS’ during the actual DragonFly install, too.