Matthew Dillon has rewritten the Locking and Synchronization documentation for DragonFly. Keep this in mind the next time you say “Which lock should I use for this new software/ported software?” There’s also locking(9).
The other day, I updated some packages using pkg. The default version of PHP went from 5.4 to 5.6. I ended up doing what /usr/dports/UPGRADING says and making a list of all PHP packages on my system, before removing PHP and its dependencies. I then reinstalled the packages that used PHP, bringing the needed packages back in at the right version. pkg 1.4 didn’t handle the transition cleanly, unfortunately. I also had to specify mod_php56 because pkg was trying to get the 5.4 version despite it not being default.
None of these are insurmountable problems, but it never hurts to be forewarned. pkg 1.5 is on the horizon and may have an easier time with sorting these types of dependency/version changes. This may apply to FreeBSD in addition to DragonFly.
Next time you’re building or installing world on your DragonFly system (running master), your computer will do a better job letting you know the status.
If you have a HDMI-connected monitor, but no sound, this trick about increasing available memory may help.
Hey, look what I have! There’s a pfSense pair of classes available to take. I went through them and found them worthwhile. pfSense is easy enough to use that a dedicated person can puzzle through most of the settings, eventually, but I don’t have “eventually”, and I want to encourage BSD products in my workplace… so here we are.
DragonFly 4.0 has had a minor point release, to 4.0.4. There was a bug in the initial install where the rescue image installed on disk would be incorrect. This was fixed after the first time a build/installworld was done, but might as well have it start out right. There’s some other small fixes, and the release commit will show you the summary. Download from your nearest mirror or update normally.
John Marino has removed Sendmail from DragonFly (as part of the base system), and replaced it with DMA, the DragonFly Mail Agent. If you just need delivery to local users, DMA will do the trick.
If you are on DragonFly-master and you upgraded during select hours on the 25th of February, you may have been bit by a makefile error. The fix, as listed in that link, is simple:
cp /usr/src/share/mk/sys.mk /usr/share/mk
If you are not on -master or you did not upgrade in that timeframe: never mind.
Michael Neumann has switched out pkgsrc packages for dports packages for building DragonFly with a GUI. There’s no built image to download right now, but I’m optimistic the next release will have it. You can build it now on a DragonFly system using src/nrelease. With all this video work going in lately, it will give us something to show.
Several of the DragonFly machines used for building packages and/or releases have SSDs, and have been vigorously exercising those disks for some time. SSDs are supposed to have a shorter lifetime than spindle-based hard drives. However, Matthew Dillon found that there’s surprisingly little wear on those SSDs. This empiric information was noticed in several places.
Say hello to the newest DragonFly committer: Tomohiro Kusumi. He’s been contributing Hammer patches for some time and appearing on IRC, so it’s easier to just let him make changes directly. Welcome, Tomohiro.
Here’s a number of DragonFly links to clear out my backlog:
ISO/IMG files for DragonFly 4.0.3 have been uploaded and by now should be available on your favorite mirror. You should update for the OpenSSL upgrade. If you already have DragonFly 4.0.x installed, the normal ‘make buildworld && make buildkernel && make installkernel && make installworld && make upgrade’ cycle should work just fine.
John Marino has written up an extensive how-to for slider, the history tool for Hammer filesystems, including screenshots.
Normally I’d hold this off until the In Other BSDs item on Saturday, but by then it will be too late: There’s a “Building redundant and transparent firewalls with OpenBSD” presentation happening at the Scottish Linux User’s Group meeting, Thursday night in Glasgow, Scotland.
As part of another thread, Steve Petrie posted an in-depth description of how and where and why he’s using DragonFly. Worth looking at either for workflow tips or for just seeing the use case.
If you want to help I/O performance when DragonFly is virtualized, here’s a short checklist of what to work on. I haven’t noticed any problems – but I’m not taxing any of my VMs that heavily.
This page, Varialus et Anisoptera, set up by… I’m not sure of the real name but it’s ‘varialus’ on IRC – has a detailed description of the DragonFly install process and installation of MATE, plus extra notes. I always find these sorts of cheatsheets entertaining.
Predrag Punosevac posted his writeup of using LDAP and DragonFly, which I’m noting here for the next person that needs LDAP authentication.
A fellow whom I’ve only seen named as Bill is working on what he calls ipfw2, though technically what’s already in DragonFly is ipfw2, since it’s the second version of ipfw. Either way, he has a project page up describing what he’s done so far, and what he plans.
If you look at your local DragonFly mirror, you’ll see ISO and IMG versions of DragonFly 4.0.0RC3. Please run, break, and report.
(Check the iso-images directory.)
The release candidate for DragonFly 4.0 came out last week, and normally the release would happen after a week. There’s still a few people reporting an odd freeze, so until we can find a cause, we’ll continue to wait.
Your local mirror should have a copy of the release candidate for DragonFly 4.0.0 by now. Please try it out and report problems. Note that this is a x86_64 only version; there’s no i386 version though you may be able to manually build on i386.
It’s been possible to install and run clang on DragonFly for a long time, of course, and at least build world with it. However, John Marino is putting in significant work to make clang one of the system compilers, replacing the older gcc44 that’s in DragonFly now. (The newer gcc47 stays.) This won’t be part of the next release, but it should be available soon after.
There’s been so much work in DragonFly recently that makes a desktop easier (i915 support, dports, and so on), that I decided to resurrect an older Dell machine and use it as my desktop.
The Dell that I’m using is a leftover from someone else’s workplace; it’s 7 years old, and has “only” 4G of RAM and a Core 2 DuoE6600 CPU in it. It works, however.
Setting up DragonFly and installing xorg and so on is pretty straightforward. Using dports makes it crazy quick to add all the packages. I went for XFCE4 because I could. Starting X gave me some trouble at first; the default config couldn’t find the mouse and would eventually crash.
Running ‘X -configure’ created a xorg.conf file I could edit, and these lines in /etc/rc.conf gave me a working mouse:
moused_enable="YES" moused_type="auto" moused_port="/dev/ums0"
The crashing problem with my radeon-driven video card was fixed by turning off the acceleration – uncommenting this line in xorg.conf did it:
Video performance isn’t as nice as I would like it with acceleration, but this is an older machine anyway.
I couldn’t get sound working. Francois Tigeot has a branch of DragonFly that contains newer sound drivers brought over from FreeBSD, here:
git://leaf.dragonflybsd.org/~ftigeot/dragonfly.git (pcm_2014_september branch.)
It doesn’t support device cloning, so I can run Youtube videos and XMMS, but not audio from both at the same time. (for instance; not that you’d want to do this other than by accident)
I installed x11/webfonts, and web pages look a bit better after changing my default font preferences.
And… that’s about it. It’s a working desktop. Digging up a half-height video card that has working acceleration is a next step, but I can’t imagine that’ll be expensive. I wish I had done this a long time ago.
I’m doing this little extra feature because I ran into several news items over the past week or so that made me say “what the hell?” out loud to my monitor.
Fedora To Get a New Partition Manager. All? Almost all? Linux distributions use gparted, which is open source and can be updated. Why not add to that? Also, it’s yet another preannouncement about how this new replacement tool will work – it’s not functional yet.
Text streams should be the fallback interface in Unix. Every 2 or 3 years someone gets this idea in some form – somehow it doesn’t overcome 40+ years of text usage.
Revisiting How We Put Together Linux Systems. Nobody can find fault with ideas like easier package management and signing. (Though maybe having the same upgrade mechanism for base + 3rd party software isn’t a good idea) However. this answer, coming from part of the group behind systemd, ties all software installation into having a btrfs volume – even requiring a virtual btrfs volume if there isn’t one installed. Incompatible software versions are dealt with by turning /usr into a sort of container. That kills any sort of need to interoperate with other software. And of course it assumes there is no Unix but Linux. (via)
Grump grump grump.
If you are on DragonFly, using pf, using altq, and using fairq to control usage, there’s a latency bug that Matthew Dillon recently fixed. He’s posted an announcement and committed fixes to master and 3.8, so it’s only an upgrade away.
You should perform a full world and kernel install if on master.
Several people (including me) have been getting bit by a problem: when performing an installworld with a changed kernel, the vn kernel module is loaded, but it was built by the previous kernel and may cause problems when it doesn’t match up.
To fix that, vn is now built in, instead of being a separate module. The rescue initrd (which is what is being mounted when it has this problem) is now installed via a ‘make rescue‘ command that can wait until a successful installworld and reboot.
If you are tracking DragonFly master, your next kernel build should be full, not quick.
The portable (meaning ready to be brought into other operating systems) version of LibreSSL is out.
If you’re looking to use LDAP on DragonFly, follow this thread (read the first, keep going) as people talk about implementing it, what they installed, etc. I haven’t tried it myself, yet.
Another ‘quiet’ week – lots of commit activity in the other BSDs, but not a lot to point at directly.
- PostgreSQL/FreeBSD performance and scalability on a 40-core machine. (PDF link, via) There’s comparison to DragonFly’s results, mentioned here before. DragonFly’s solution of shared page tables is dismissed because it would require work to do, though I think that’s a symptom of FreeBSD’s more complex locking model rather than complexity of what’s in DragonFly.
- pkgsrc-2014Q2 is out.
- Here’s some notes on the systemd compatibility GSoC/OpenBSD project.
- The FreeBSD ixgbe(4) driver understands RSS, and so does igb(4).
- FreeBSD GENERIC kernels can now use vt(4), the replacements for syscons.
- FreeBSD images can now boot UEFI.
- FreeBSD 9/10 users using the WITH_NEW_XORG option have a temporary binary ports repository to use, to handle the change in the drivers.
I have a backlog from stuff I missed last week while traveling, so we all benefit!
- PC-BSD 10.0.2-RC2 is out.
- PC-BSD will be at SouthEast LinuxFest.
- Here’s the roadmap for Lumina, PC-BSD’s new desktop environment.
- DiscoverBSD’s summary for 2014/06/16.
- FreeNAS vs. NAS4Free. Didn’t need to be 8 pages. (via)
- Peter’s pf tutorial is very popular.
- The freeze for pkgsrc-2014Q2 has started. (I’m a bit late on this one.)
- pkgsrc has a new Pkgsrc Management Committee.
- This thread, “Best pdf viewer in pkgsrc?” may be useful even if you aren’t on pkgsrc.
- NetBSD gained vmx(4) from OpenBSD.
- NetBSD now has pigz 2.3.1, which apparently stands for ‘parallel gzip‘.
- Here’s one OpenBSD/GSoC project status update; I haven’t seen others.
- Another OpenBSD desktop project started.
- BoringSSL. (via) Already, benefits.
- Ways to test pf.
- FreeBSD/gnats has gone away, and none too soon.
- Again, I love to see cross–pollination.
- The July and August NYCBUG meetings: timekeeping and OpenBSD ports. Here’s some notes on what to expect for the August meeting.
I tagged DragonFly 3.6.3, at Sascha Wildner’s suggestion. Why do that when there’s a 3.8.1 out? This way there’s a version of 3.6 that has all the fixes included, including the recent OpenSSL updates. This ‘final versioning’ should probably be done for every release. I’ll work on final images.
The 3.8.1 tag was planned for tonight; I’m waiting to find out if there needs to be a new set of binary ports for 3.8.1 before I tag.
I tagged DragonFly 3.8.1; you can see a list of the changes in the tag message. New images are built. If you are already running 3.8.0, a normal
make src-update and rebuild will get you everything.
Matthew Dillon posted a note about the next point release of DragonFly, coming within a few days. Chunks of it like the recent OpenSSL and Sendmail fixes are already on the 3.8 branch.
I assume I’ll be the one rolling it, and I plan to put together a 3.6.3 tag too, just so there’s a final version of 3.6 that has all changes rolled up.
Sascha Wildner has removed some drivers in the x86_64 config. This will only really affect you if you use a custom kernel and still have entries for those drivers in the config file.
If you are saying “Hey, what about LibreSSL? And do I write it LibReSSL?”, it’s not set up as a portable release yet. Also, I don’t know the correct capitalization, either. There is some debate about the lack of notification from OpenSSL to LibreSSL, though other vendors were notified days before.
BSDNow 040 has an interview with Karl Lehenbauer at FlightAware, a tutorial on OpenBSD’s packaging system, and more from BSDCan 2014.
Binary dports packages for 3.8 have been built; they are available for download. (link goes to release versions of the packages. Future updates will be in ../LATEST)
For upgrades from 3.6: You can pull the 3.8 source normally with git:
git fetch origin
git branch DragonFly_RELEASE_3_8 origin/DragonFly_RELEASE_3_8
git checkout DragonFly_RELEASE_3_8
Assuming you are using an unmodified kernel, here’s the steps I usually do for an upgrade:
# make buildworld && make buildkernel && make installkernel && make installworld && make upgrade
After upgrading from 3.6, pkg (as designed) will download the appropriate 3.8 packages with
Thanks to John Marino and people I don’t know the name of in the gcc project, DragonFly is now part of the gcc test suite.
“What about clang?” you say? We’re not picky; DragonFly works with either.
The slides from Francois Tigeot’s talk about benchmarking DragonFly with PostgreSQL are now online – link is to a PDF.
Imre Vadasz is our newest DragonFly committer. Welcome, Imre!
I’ve seen Atlassian Confluence, a Java-based wiki program, in a few places. Atlassian apparently offers their software at a discount (free?) to qualified open source projects. I set up Confluence 5.4 on DragonFly as a test run, and it generally worked. That’s great! I tried to set up version 5.5, and it will not start.
May 08, 2014 7:24:41 PM org.apache.catalina.core.ContainerBase startInternal SEVERE: A child container failed during start java.util.concurrent.ExecutionException: java.lang.InternalError: platform not recognized at java.util.concurrent.FutureTask.report(FutureTask.java:122)
This is annoying. DragonFly (or any BSD) is not supported by Atlassian for Confluence, so it’s not a surprise… but I was so close! Their product has a very nice interface and I was planning to replace Mediawiki at my workplace with it, for some internal documentation. This FreeBSD bug report is the closest fix I can find, but it’s old enough it shouldn’t matter now.
NYCBUG has a presentation from John Baldwin, happening on the 7th (tomorrow!), all about Bhyve, the BSD hypervisor.
The reaction I have heard a number of times from new DragonFly users: hey, this runs really fast, even when I try to load it down!
The pkg tool, used in DragonFly (and FreeBSD) for ports, is at version 1.2. Version 1.3 will apparently be able to solve the problem where one port is ended and replaced with another. This is a problem that’s been around forever, and I don’t just mean with pkg. I don’t know how soon 1.3 will be out, or what version FreeBSD is at.