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.
Another long list. These are making my Friday nights take some extra effort.
If you remember the earlier work to support DragonFly on An Acer c720 Chromebook, it’s been repeated for the c720p. The “p” means it’s a touchscreen.
DragonFly’s using pkg 1.3, at least on master, and I’ve seen a few people report an error message when performing ‘pkg upgrade’. The error message usually includes something like:
pkg: need to re-create repo Avalon to upgrade schema vers
If you get this, do ‘pkg update -f’ and it will complete.
DragonFly’s dhclient will now retry failed interfaces and handle being re-run gracefully. This is a blessing for anyone who has had a flaky link. Matthew Dillon’s made two other improvements for booting that will also improve boot time when networks go missing.
Here’s a nice advantage for dports and DragonFly: since it’s an overlay on FreeBSD ports, it’s possible to move to newer or different versions of software without waiting for it to happen in FreeBSD. For example: there’s a newer version of the xorg intel driver now in dports - newer than what’s in ports.
If you are tracking DragonFly master, your next kernel build should be full, not quick.
If you have a DragonFly system with an iwn wireless chipset, and you are having trouble connecting and running in the 5Ghz part of the spectrum only, here’s a tip: the -ht switch may fix it.
It took me a little while, but DragonFly 3.8.2 images are uploaded now to the main site. Check the 3.8.2 changelog if you didn’t before. This is a recommended upgrade for the newer OpenSSL, and should otherwise have little impact on the programs you have installed.
There’s been good progress in Francois Tigeot’s work on Haswell graphics support in DragonFly. If you have one of those newer units, you should be able to use the i915 driver with it now – as long as you keep acceleration off. (You won’t notice any difference in 2D anyway.)
I’ve tagged DragonFly 3.8.2, which exists mostly to accommodate the latest release of OpenSSL. (Security fixes, which should not be a surprise.) I will build images as soon as I get a chance.
If you have a i915 video chipset (which appears to be most every recent laptop), Francois Tigeot would like you to try his huge patch. It doesn’t support Haswell chips yet, though it lays some of the groundwork for it.
If you have a particular favorite thing in DragonFly, Damian Vincino would like to know about it.
There’s a new version of pkg out – 1.3. (via) That’s an announcement on the FreeBSD-ports-announce list. Since DragonFly also uses pkg, that means it’s available for DragonFly too. John Marino reported on IRC that he’s testing a bulk build now, using it on DragonFly.
A frequent question people ask when trying Hammer is “How can I do software RAID to cover a disk failure?” Hammer provides for streaming one volume to another, so you can duplicate drives, but there isn’t an automatic failover mechanism as there is with a RAID setup. The first answer is usually “get hardware RAID“; my preferred solution. The remaining software solutions are vinum, ccd, and lvm for DragonFly.
Rust has been ported to DragonFly by Michael Neumann. His blog has implementation details, and you can pull from his repo to get a buildable version. This may be useful, as he notes, for anyone wanting to build Rust on other BSDs.
Thanks to Zachary Crownover, rcreload is available in DragonFly. (It’s always good to see a new contributor name.)
Nuno Antunes brought in a significant number of fixes for libradius. He’s been doing other work recently on netgraph7 support, so I’m linking to this as a ‘signpost’ commit.
If you were looking for something to do, finishing Francois Tigeot’s sound update would help a lot of people. He’s currently tied up with i915 support work. The patches need device cloning to work with devfs, and midi removal.
As mentioned before, the mrsas(4) driver works best for ‘Thunderbolt’ RAID controllers. Now, the switch has happened.
Tethering now works via the urndis(4) device, from a patch contributed by Sascha Wildner/tested by Yellow Rabbit.
(Updated for correct attribution)
While Matthew Dillon was testing the new up-to-256-processor support for DragonFly, he added a few sysctls, one of which helps qemu performance when emulating a lot of processors. I note it here in case it’s helpful to someone else.
DRM (Direct Rendering, not Digital Rights) on DragonFly will normally eat all the memory it thinks it needs. However, vm.dma_reserved can now be set to a fixed limit in /boot/loader.conf. By default, vm.dma_reserved on DragonFly is set to 16M, and can be set higher. I think this is necessary when running higher-resolution screens… Don’t quote me on that, though.
Thanks to Nicolas Thery, there’s a POSIX semaphore test suite on DragonFly, ported from FreeBSD. Anyone want to integrate it into dfregress?
There’s a recently talked about bug in SYSRET that apparently affects a lot of operating systems, including Linux and several BSDs. It looks like DragonFly is not affected, but Matthew Dillon has put in changes just in case.
Francois Tigeot has been working on making i915 video support work better; with his latest update, it’s worth trying the Intel-specific driver instead of vesa if you have both the 915 chipset and are running X.
Matthew Dillon changed powerd on DragonFly so that the system is set to max performance if powerd is killed. Now you’ll know why your fans turned on!
Alex Hornung has added a ChaCha algorithms and Fortuna-based CSPRNG to DragonFly’s random device. You can pick what runs with the sysctl kern.rand_mode, and some other changes.
Finally, a much more eventful week. I already noted LibreSSL’s release.
Some dports packages can’t be installed in combination with others. The easy way to find the conflict without doing the install? Look for CONFLICTS= in the Makefile. If you don’t have the dports tree on disk, you can always look online.
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.
The mfi(4) driver has had some data corruption problems on “Thunderbird” series RAID controllers. There’s a newer driver, mrsas(4), that replaces mfi(4) for these controllers and does not have these issues, but switching may mean new drive locations and therefore some work to get booting correctly again. Sascha Wildner has an extensive writeup about what this entails, and how to switch now if you have that hardware (recommended).
ACPICA has been updated by Sascha Wildner to version 20140627, which as you can guess from the version, is the most recent. See the included changelog for what’s different.
DragonFly now supports running on up to 256 CPUs. 256 is the initial limit on the basic interrupt controller, and it can be extended further. It’s been tested on 255 CPUs so far, since that’s the highest number of CPUs you can bring up in qemu.
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.