Another ‘quiet’ week – lots of commit activity in the other BSDs, but not a lot to point at directly.
Matthew Dillon changed the default keep-policy in DragonFly to:
set keep-policy keep state (pickups, sloppy)
This is to match other BSDs (which? I don’t know) and reduce overhead, according to the commit.
A note for everyone: use Hammer default on a very busy filesystem, and you will eat a lot of disk space since all file changes are recorded. (I’ve done this to myself a few times.) Francois Tigeot has a list of tips on how to keep that from happening.
The max number of CPUs on DragonFly just went from 63 to 64. This is really just a side effect of preparation to move up that limit, but I am entertained by the single-digit bump.
Are you running a Hammer filesystem on a low-memory system? You may get some warnings. It’s possible to tweak some settings to accommodate it, or just deal.
Predrag Punosevac noticed that turning on pf was slowing his machine down. Rearranging the rules fixed a lot of it for him. However, Matthew Dillon decided it was time to make pf work concurrently instead of in a single thread, and 24 hours later, it does. Quick, someone benchmark this!
If you are upgrading a DragonFly 3.6 system to 3.8, make sure you have the absolute latest version of 3.6 first. A few people have had a crash during install of the new initrd, which leaves the system in an unbootable state.
There’s a fix now in 3.6 from Joris Giovannangeli, so updating 3.6 and then moving to 3.8 will ensure this doesn’t happen. He posted a heads-up notice too.
(Why, yes, that is why shiningsilence.com was down for some hours today… With Matthew Dillon and Sascha Wildner’s help, I was able to copy bits of /boot and /usr from a live CD back on disk and get online again.)
Did you try to install DragonFly relatively recently and it never made it past the bootloader? Apparently there’s a bug in some BIOS when using a smaller USB drive to install. The loader checks multiple places for information, and if it checks somewhere that’s ‘farther’ than the end of the disk (i.e. 6G on a 4G USB key), the machine locks up.
Matthew Dillon and Kyle Davis spent a good number of hours figuring this out today, and Matt committed a fix. So, if you were bit by this problem, try a -LATEST image about 24 hours from now and see if it works.
BSDDay 2014 is happening August 9th in Argentina, and the call for talks is out – there’s been DragonFly speakers and visitors there before.
I have a backlog from stuff I missed last week while traveling, so we all benefit!
Sepherosa Ziehau implemented a UDP echo response tool, which not surprisingly meant he also had some UDP performance improvements. As he points out in the commit, it makes lockless firewall state tables possible.
The dports binary packages built for DragonFly 3.4 are removed. If you have a 3.4 system, you can build from source, or preferably just upgrade. Note that the 3.4 release images are still out there if needed.
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.
Sascha Wildner has added the mrsas(4) driver, which works on a variety of LSI Thunderbolt devices – a variety of RAID cards, names for which are listed in the commit message. Note that as of right now, these devices by default get taken by the mfi(4) driver, so you need to take extra steps to get mrsas(4) used.
The obvious joke should be “how can you tell?” Anyway, the csprng in DragonFly has been updated and IBAA is being used more often, and there’s more updates on the way.
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.
If you’re building ports, it will treat OpenSSL as a dependency and bring in whatever version is available. If perhaps you want to use the version of OpenSSL installed as part of your base system, Robin Hahling has the answer for how. (This probably works on FreeBSD too.)
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.
Thanks to Markus Pfeiffer, there is now a locking(9) man page for use the next time you say, “Which is the right lock to use?” Something I see almost monthly.
There were more problems found in OpenSSL… right after release of DragonFly 3.8. OpenSSL 1.0.1h has been committed, thanks to Robin Hahling and Sascha Wildner. I’ll be rolling a 3.8.1 release soon.
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.
The 3.8 release of DragonFly is out! See the release page for a changelog and check your local mirror for download first.
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
I put together a second release candidate for DragonFly 3.8, and it’s uploading now. The reason is that I goofed up the pkg build – Sascha Wildner has hopefully made that harder for me to screw up now.
Release is still planned for the 4th.
If you have DragonFly on a laptop, and a docking station for that laptop, it may be better supported now. (no, I don’t know exactly what acpi_dock does.)
Alexandre Perrin contributed an upgrade of wpa_supplicant and hostapd for DragonFly, bringing it from 0.6.10 to version 2.1 – a 4-year jump.
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.
I’ve branched DragonFly 3.8, and tagged a release candidate. Please try the release candidate if you can. I have links in my post to users@/kernel@. Don’t forget the remaining issues! Planned release date is June 4th.
The slides from Francois Tigeot’s talk about benchmarking DragonFly with PostgreSQL are now online – link is to a PDF.
The May BSD Magazine is out, and Siju George has written an article about using Hammer on DragonFly. It’s a free download to read.
We’re due for the next release of DragonFly. I’ve posted the two-week warning to kernel@. As I noted in that post, please look at the list of issues for the release and see what you can close.
Francois Tigeot is giving a talk tomorrow on benchmarking DragonFly using PostgreSQL, at PGCon 2014. PGCon is the PostgreSQL convention happening immediately after BSDCan in the same location, in case you didn’t know already.
Imre Vadasz is our newest DragonFly committer. Welcome, Imre!
Sascha Wildner has updated ral(4) with support for RT2700/2800/3090 chipsets. If you have one of these, please try it out – these are untested.
Sepherosa Ziehau has enabled GSI target CPU auto selection, by default, on x86_64. He says to let him know if there’s problems. I’m not sure what form the problems would take, cause I’m not sure what this does.
Matthew Dillon brought in Adrian Chadd’s sleep state changes for the ath(4) driver from FreeBSD to DragonFly; you may see reduced power usage if you have the appropriate hardware.
libpcap has been updated in DragonFly by Matthew Dillon, and file has been updated by Peter Avalos.
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
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.
Wojciech Puchar noted with some surprise that DragonFly uses less CPU than expected for high-packet-rate traffic. This has been going on for a while, and apparently Sepherosa Ziehau has even more improvements planned.
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!
ATM support is gone in DragonFly, and frankly, I’m surprised it was still there.
Sascha Wildner’s updated ACPICA to version 20140424. Will that help you? Perhaps with newer motherboards; otherwise check the changelog.
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.
Just so nobody’s surprised: DragonFly process IDs now go an order of magnitude higher.
If you’re using DragonFly in qemu, virtualbox, whatever – but not VMWare – there’s a new virtio-net driver to try out.
The March issue of BSD Magazine is out, and this month has an article written by Siju George about how his company is using DragonFly and Hammer for backups.
Remember: If you have a particular port that’s not building in DragonFly, there may be a patch in pkgsrc that could be brought over, as John Marino points out.
Here’s the announcement from Francois Tigeot: DragonFly now uses dynamic binaries in the root filesystem. You will need to do a full buildworld/buildkernel if on 3.7 and upgrading.
DragonFly now has a ‘rescue’ system added in, which also functions as a way to mount encrypted filesystems. Does PAM work yet? I don’t know; I may be linking to this earlier than I need to.
Release 3.6.2 of DragonFly has been tagged, and ISO/img files are available. This includes an updated OpenSSL for Heartbleed problems. Here’s the changelog. You can, if you haven’t already, update your existing 3.6 systems the normal way.
All the dragonflybsd.org sites (www, bugs, gitweb, lists, leaf) should be available via https now, thanks to a wildcard certificate from InterNetX. Also, all the machines have an up-to-date version (1.0.1g) of OpenSSL installed to prevent the Heartbleed issue.
I’ve wanted more support for virtualized DragonFly systems. Sascha Wildner put together an experimental balloon memory driver to test out, and I ran it on two virtual machines separately, one with it loaded and one without, on the same host system. The problem is, I can’t tell what it does. The two machine reported almost the exact same RAM usage during a buildworld.
Any VMWare/virtualization experts out there able to tell me what needs to be tested to verify this?
If you didn’t know what the Heartbleed bug is, here’s your explanation, plus details. (via). You should probably update your systems.
Francois Tigeot’s rescue ramdisk work is ready for testing. You can pull it directly from his repo and try it out. It’s surprising how small the ramdisk can be crunched.
Note: he now has a newer branch than what is in that linked message.
You know what always makes me happy? When someone shows up out of the blue and says “Here; I did this cause I needed it; everyone can share.” The latest example of that is Imre Vadasz porting bwn(4), for the Broadcom BCM43xx wireless chipset over from FreeBSD to DragonFly.
In a thread about video cards on DragonFly, Francois Tigeot listed good ATI cards to try, and pointed out the VESA driver is probably your best bet right now with NVidia cards.
The acpi_thinkpad module (section? code?) has been updated. Update if you are on DragonFly 3.7, or be patient if you are on 3.6.
I wrote up some thoughts for the next release of DragonFly. There’s some project work in there for anyone interested. The next release should be near the end of May.
BSDTalk 239 is 55 minutes of talk with Baptiste Daroussin at vBSDCon 2013 about ‘pkgng’ on FreeBSD. The BSDTalk post doesn’t mention it, but it is the same pkg tool that DragonFly uses, so Baptiste’s plans are relevant to DragonFly too. (I haven’t had a chance to listen to the podcast yet so I don’t know how much he talks about DragonFly, specifically.)
Timezones are a human invention to describe the natural world, so they are changed according to human whims. That’s a grand way to note this change in timezones that is global but I noted in a DragonFly commit of tzdata2014b – look at the last entry.
I’ve been away because of some home construction taking up time, but this has actually been happening for a while: plenty of USB device drivers have been getting ported in to work with the new USB4BSD stack. My links for that are not comprehensive.
One of the requirements to get NSS/LDAP working on (most) any unixlike system is to have dynamic binaries; meaning they are dependent on various libraries to run. Since you’re talking about programs for login when you’re talking about NSS/LDAP, that means if the libraries aren’t available, you can’t log in. DragonFly has static binaries just to avoid that problem.
Francois Tigeot proposed switching to dynamic binaries and building a /rescue directory with static backups, as is the case with I think FreeBSD and NetBSD. If you follow the thread, it looks like the best path is to use initrd instead. Initrd stands for INITial Ram Disk, and is the first volume the computer sets up to boot from BIOS. Since initrd gives the computer enough space to load all the needed modules (like Hammer2…), it works without making the computer dependent on various libraries or having a bloated /rescue directory.
(Someone correct me if I have the details wrong.) As long as we’re talking about things that would help DragonFly in a larger environment, can someone work on a VM balloon memory driver, too?
If you noticed the lack of a GUI DVD image for the 3.6 release of DragonFly, I posted a followup note on the users@ list that talks about the steps to get X installed. It’s not much work, with pkg set up.
Sepherosa Ziehau has an IPv6 patch for you to try. What’s it do? I think it improves performance under multiple streams of traffic, but that’s from looking at the code and totally guessing.
Matthew Dillon committed the start of a Hammer 2 cluster API. I noticed, while looking at the commit, that there’s a design document, a freemap design document, a changes list, and – most important for anyone interested – a TODO list.
Alex Hornung has updated tcplay in DragonFly to 2.0, and cryptdisks is updated to match. If you have a short memory, tcplay(8) is the tool on DragonFly to manage TrueCrypt volumes. Is DragonFly the only BSD to have this? I think so, based on very few seconds of googling.
In part because I asked him, Sepherosa Ziehau benchmarked 10G ix(4) with 2 ports on DragonFly. The results? Good, both for bandwidth and for CPU usage.
A recent commit from Sepherosa Ziehau has a 5% improvement in the number of network connections per second a x86_64 machine can accept. He’s also reducing the number of IPIs during network activity. If this seems somewhat esoteric, it’s because network speeds are getting so fast that the benefits come from reducing the accompanying CPU load.
Sascha Wildner updated the time zone database on DragonFly to tzdata2014a. The odd thing isn’t that update – Sascha updates like clockwork, haha! – but the release notes. Apparently Even Microsoft is starting to support time zone names, sorta, finally.
If you’re on DragonFly 3.7, you will need to build world before building the kernel again if you are updating to some point in the last 24 hours. Sascha Wildner points out the related commit.
Poudriere is the tool for building all of ports/dports, and Michael W. Lucas has written up his experience using it to build a custom ports set. He’s doing on FreeBSD, but if you ignore the geom-specific parts, it should generally apply to DragonFly.
DragonFly has moved from the old USB stack to USB4BSD by default. That means:
- If you are already using USB4BSD, you will want to remove WANT_USB4BSD from your kernel config.
- If you have trouble, switch back to the old USB.
- There’s some drivers that are not yet converted; help with them would be appreciated.
- A full kernel/world build and ‘make upgrade’ will be needed in either case.
Sascha Wildner’s announcement email has all the gory details, including the kernel config changes to move back to the old USB setup. This is of course in master; 3.6 users are unaffected.
Hammer’s ability to stream to remote disks is great, but what if you have storage that uses some other file system? Antonio Huete Jimenez put together a shell script that will dump out the contents of a Hammer PFS, for upload to whatever. Read the README for the details.
If you are upgrading packages on your DragonFly 3.6 system, and you have docbook installed, there’s an extra step needed because of the moving around of several docbook packages. If you don’t have docbook installed – nothing to see here.
I followed up with Google on why DragonFly isn’t in Summer of Code this year. It is exactly as I suspected: they want to get new organizations in. DragonFly’s been doing it for 6 years, so they are picking new orgs over returning ones. This is apparently the same reason NetBSD isn’t in this year, either.
(Honestly, I can use the break.)
Sascha Wildner has updated arcmsr(4), which brings in support for the Areca ARC1214, ARC1224, ARC1264, ARC1284, and ARC1883 models, from FreeBSD. Please test if you have the appropriate hardware.
bugs.dragonflybsd.org, the bug reporting site for DragonFly, uses Redmine. It’s been updated and now can take OpenID for your login.
If you’re using the i915 driver for xorg, and xorg dies with a “No monitor specified for screen” error, there’s a config change to fix that, or you can just update.