A big article on SSD drives that made me want to buy one. Well, want more.
Month: August 2009
Hasso Tepper has written up a mini-FAQ for pkgsrc and DragonFly. Among other points, he asks that people try to politely submit DragonFly-specific changes upstream, past pkgsrc, to the software creators themselves. This creates the least amount of work for pkgsrc developers and DragonFly users.
The libtiff package has been found to write out incorrect TIFF files in version 3.9.0. If that’s what is installed on your system, please update now.
DMA, the DragonFly Mail Agent, has been updated so that it can deliver email from cron job output. DMA is a former Summer of Code project to make a local-only mailer for DragonFly systems, so that larger mail transfer agents (like Sendmail or Postfix) are not needed on a system that isn’t designed to receive mail from external sources. There’s a TODO list (click the gitweb link) if you’d like to contribute.
Siju George asked about updating pkgsrc packages, both on DragonFly mailing lists and on pkgsrc-users@. The ensuing discussion can be boiled down to several alternatives: pkg_chk in a separate chroot, pkg_rolling-replace, or pkgin, pointed at avalon.dragonflybsd.org. I’ve used pkg_rolling-replace several times with good results, and it may be possible to convince it to use binary packages, too.
The latest @Play column, “A Date With Asuka“, covers an unlicensed Japan-only roguelike in 3D for the Dreamcast. I had to think about that sentence very carefully in order to type it; @Play is seeking out more esoteric roguelike variants than I thought possible.
The 2.4 release will attach disk drives by serial number. Matthew Dillon’s written up a quick HOWTO that describes how to use it. The interesting effect, as he notes, is that a drive can be attached in almost any way – a firewire enclosure, directly to the motherboard, through a card, etc. – and the machine will still happily boot without any changes needed.
For those of you running DragonFly 2.3.1 or later, I’ve updated the pkgsrc-2009Q2 packages on avalon.dragonflybsd.org to the latest versions on that branch. If you’re curious to see which were updated, I have a list after the cut:
There’s now a counter in the sidebar to this site (look under my email address) that shows how many posts have been made, ever. Not necessarily helpful for you, the reader, but it makes me feel good.
Also, all those posts, back to 2003, are reachable via the archive page.
Simon ‘corecode’ Schubert has removed GCC 3.4 and Kerberos 5/Heimdal from the base system. Kerberos hasn’t been building as part of base for a while, and is available in pkgsrc. It was also the last item that requires GCC 3.4, so buildworlds are little quicker now. (Cross your fingers that GCC 4.2 the current version doesn’t break somehow.)
If you have any remaining issues for DragonFly that you want fixed before the 2.4 release in September, link them to the ‘umbrella issue‘ in the bug tracker. It makes them easier to find.
Matthew Dillon’s made some improvements to Hammer’s read and write processes. To quantize this, he’s tested Hammer and UFS with blogbench and written up the results. The tl;dr summary: UFS performs well until the system cache runs out, and then it halts. Hammer has some overhead from saving all history, but doesn’t stop working under a much heavier load.
DragonFly’s size_t and ssize_t have been modified. This creates more exact warnings of 64-bit problems when building on 32-bit systems. It may cause trouble with pkgsrc, though, so it will be reverted before the release (on 32-bit) if needed.
Be careful if you’re running bleeding-edge DragonFly. A full buildworld is needed because of this.
I’ve got a number of little items, so more roundup:
- How much disruption happened in DragonFly after introducing a dynamic device system? Surprisingly, very little, as most of pkgsrc still builds. Thanks are due to Hasso Tepper for the corrective work.
- _why makes some very perceptive comments.
- Jordan Gordeev’s been working on the very difficult AMD64 port as part of his Summer of Code work. He says thanks for the help, and others reply in kind. Speaking of which, it’s possible to boot 64-bit DragonFly now, though it’s not production-ready.
I’ve always had trouble updating certain pkgsrc packages that happen to also form the basic tools for pkgsrc – pkg_install, bootstrap, etc. Hasso Tepper has very kindly written up a note describing how to update these packages with newer versions of pkgsrc.
Vinum’s been changed to work with devfs, with the advantage that drive labels instead of device paths can now be used. There’s some caveats – read the message for details.
Dear universe, including DragonFly people: stop doing so much stuff. It’s hard to keep up.
- Git in One Hour, an O’Reilly webcast. You need to register (free) and so on, but what the heck. O’Reilly doesn’t show crap.
- Poul Henning-Kamp is suing to recover the cost of Vista on his Lenovo laptop. (He’s installing FreeBSD.) I hope it comes out in his favor, though it will have little legal effect here in the U.S. (via)
- I didn’t realize this until I chimed in on the mailing lists, but one of the best books about file systems is freely available as a PDF.
- Another benefit of Hammer: you can’t run out of inodes, nor is it possible to have too many hardlinks.
- Some notes on pf usage in DragonFly. I know some parts have been mentioned before, but it’s good to sum up.
The amount of swap space usable under DragonFly has gone to a theoretical max of 4 terabytes. The practical limit is probably around 512 gigabytes. As Matthew Dillon writes, this could be interesting when paired with SSDs.
Also, I was going to link to this article about increased BSD(ish) license adoption, and then I wasn’t, and then I found that Dru Lavigne had managed to pull out the quote that summarized the idea perfectly.
While I’m on this theme, this Coding Horror “Digital Sharecropping” article complains that people are effectively doing free labor for companies that plan to profit from that labor. There’s a parallel between free software and the activity he’s worried about. Not that he’s wrong, mind you, but there’s more to the story.
As Hasso Tepper pointed out, having GCC 4.4 in DragonFly is unique to DragonFly. Systems like pkgsrc don’t work due to the changes in headers and etc. between gcc 4.2 and 4.4, and since no other BSD uses gcc 4.4, the fixes would all have to come from DragonFly (and be backward compatible). This is unlikely to change in the near term, since this newer version of gcc is being refused due to the V3 GNU Public License, not a technical issue. It’ll stay in DragonFly for now.
However, you can specifically exclude it and speed up buildworlds with the new NO_GCC44 option. It’s also possible to use NO_GCC34 in make.conf to keep the old version of gcc from building, for those who don’t like to wait.
I totally missed this, but Sascha Wildner reminded me: Alex Hornung now has commit access to DragonFly, due to all the devfs work he’s done.
This isn’t breaking news, but it provides definition for pkgsrc: there’s ‘stable’ branches of pkgsrc that aren’t called ‘stable'; they’re tagged as quarterly releases. You may have already inferred this from my postings. Alan Barrett went into detail on the email@example.com mailing list.
Any commits to DragonFly go to the firstname.lastname@example.org mailing list. The subject format has been reduced to “git: “, branchname, and the first line of the commit message. Keep that in mind when constructing your commit messages, and if you have any filters based on subject line for your mail.
The FreeBSD Foundation is seeking donations – not that they aren’t always open to it, but they’re asking now instead of at the end of year rush. The Foundation does excellent work getting developers to conferences and sponsoring projects, all of which increases the amount of free code in the world. If you’ve got some spare cash, please donate. It doesn’t have to be a lot, as having a large pool of donors is almost as valuable as total donation size.
If you’re on DragonFly 2.3.1 or 2.3.2: I’ve uploaded a full pkgsrc build to avalon.dragonflybsd.org based on pkgsrc-2009Q2. It’s possible to use pkg_radd to automatically download and install packages for those systems. (and pkg_search will search the remote repository for you.)
If you’re on DragonFly 2.2.x, I’ve modified the pkg_radd target for that release so that when pkg_radd makes a request, it is redirected to the appropriate place on avalon.dragonflybsd.org instead of attempting (and potentially failing) to find a matching mirror.
I said close to the same thing as the above text on users@; the short form of all this is that pkg_radd should generally work for everyone. Tell me if that’s not your experience.
There’s some more explanations of how disk serial number support is working from Matthew Dillon, plus a warning that a full kernel/world rebuild is needed because of these changes.
If I’m reading it right, serial number support, combined with a dynamic /dev, makes it possible to identify a disk by serial number, assign a name to it, and then refer to that disk directly by name in places like /etc/fstab. Much, much easier than remembering /dev/ad0c or /dev/ad1a, and so on.
Preliminary serial number support for drive identification has been added to DragonFly, with /dev/serno listing the appropriate devices and numbers.
I picked this up from the bsdevents Twitter feed – possibly the most comprehensive list of events out there. It’s surprising how many conventions and speaking events and etc. are out there!
DevFS has been added. There’s some issues, each with a workaround. Please test, as it’s certain that a major change like this will cause new problems around video and sound. Once those are fixed, however, device management will be a lot easier.
I published a retention policy for pkgsrc packages. It works out to “current release and last release” for what will be kept as pkgsrc binaries that you can add with pkg_radd. If you need longer-term support, speak up, but I don’t think this will be a problem for anyone.
Simon ‘corecode’ Schubert has been working on an import of gcc 4.4 to DragonFly; it’s not usable yet, but when it is, it means the 3.x gcc code can be dropped.
This machine, shiningsilence.com, is having some issues. I had to power down because of unrelated problems, and the system couldn’t find the kernel on the next boot, though the issue disappeared on the next boot. That’s enough of an excuse to build new…
Any hardware recommendations? I’m interested in hearing what chipsets/disks/RAID setups/etc. and/or hardware suppliers worked well for people.
The August issue of the Open Source Business Resource is out, focusing on open-source businesses. You should read this if you plan to (or have at least dreamed of) being your own boss.
Postgres version 8.1 is going to be removed from pkgsrc soon, since Postgres 8.4 is now available (in general, and in pkgsrc). Speak up on the pkgsrc mailing lists if this is a significant problem for you.
A recent change from Matthew Dillon makes it possible for a NFS client connection to be cleanly re-established after a reboot. Previously, the server would lose track of the client.