Month: September 2003

Even more replacement

The conversation about how to handle third-party utilities in the base system is continuing. Most everyone is coming around to the idea of variant symlinks – file links that use a variable to determine destination, with that variable value determined by the rc system.

Matt Dillon added to his earlier plan with a description of the framework for this variable data, using a system MTA as an example:

Posted by     Categories: Goings-on     0 Comments

Code category added

On a suggestion from Hiten Pandya, I’m going to try to note specific code commits that happen in the dragonfly.commit newsgroup. I’ve not been tracking them too carefully until now.

Posted by     Categories: About This Site     0 Comments

Code Cleaning continues

David P. Reese, Jr. has completed the 4th stage of his work separating syscalls. This patch splits getsockopt() and setsockopt(). It’s not yet committed as of this writing, but there are no objections yet. A side benefit of this work is that calls like stackgap_init() and stackgap_alloc() can be removed, as they copy data into an area of kernel memory that’s easily overwritten.

The aforementioned K&R -> ANSI cleanups have been committed – that’s about 160 files in bin and sbin that have been cleaned up.

Posted by     Categories: Goings-on     0 Comments

ACPI already

David Rhodus kindly pointed out to me that I missed his commit of ACPI code from Intel, back on the 23rd.

It’s not installed by default. To use it, you’ll need to add ‘device acpica’ to your kernel config file.

Posted by     Categories: Goings-on     0 Comments

More on mail replacement

Matt Dillon described a mail ‘API’, where a particular MTA port would be installed into a /usr/local/ directory, and then an /etc/rc.d/mail scipt would correlate the right variables to control behavior for that MTA.

Full post added below, in case someone decides to use it as a template for work… (hint)

Also: the slab allocator is now in by default.

Posted by     Categories: Goings-on     0 Comments

Sendmail not sent yet

Timothy Cava brought up the topic of removing sendmail from the base system, and what would be needed to do so without breaking many, many things. Mike Porter pointed out that an rc.mail file should be able to control it. Jeremy Messenger added that this was talked about in an earlier thread revolving around Perl and other base components from FreeBSD. David Rhodus closed this discussion, somewhat, by saying a final DragonFly BSD packaging mechanism is necessary first.

Posted by     Categories: Goings-on     1 Comment

namecache, stage 2 of 3

Matt Dillon posted a patch for the next stage of his namecache work. I’m pasting the intro here, where he talks about what this patch does, and some of what the last stage will do.

Posted by     Categories: Goings-on     0 Comments

A Slab Lab

David Leimbach asked for links that describe what a slab allocator is, and Hiten Pandya helpfully noted Bonwick94, Bonwick2001, and linux/mm/slab.c in the Linux kernel.

Posted by     Categories: Goings-on     0 Comments

Ways to use up RAM

Joe “Floid” Kanowitz brought up the idea of RAM being used as disk cache, to which a number of replies were made. I mentioned softupdate snapshots as a possible mechanism, which Sander Vesik corrected to say that it would be more like a “write through” union mount of a MFS and real filesystem.

Kip Macy pointed out that ‘tmpfs‘, on Solaris and Linux does something similar. BSD also has mfs, which requires that you allocate memory ahead of time. (Most commonly used to speed up buildwords in /usr/obj/ .)

The concept of journaling file systems that save the state of a file at given chronological points was brought up, and several people noted ‘Elephant‘. (Link from Hiten Pandya.)

Matt Dillon also wrote up several paragraphs on using RAM for storage, which are sufficiently technical that I’ll paste them in the extended link for this entry, rather then sum up.

Posted by     Categories: Goings-on     3 Comments

Social life

David P. Reese, Jr. noted that he will be at the Neal Stephenson talk in the Menlo Park Kepler’s Books on the 26th, and if there’s any other developers around, he’d like to meet up afterwards. Also, Matt Dillon noted he should throw a party when the namecache work is done.

Posted by     Categories: Goings-on     0 Comments

Code code code

Matt Dillon noted that if/when replacing K&R declarations with ANSI-compatible ones, watch for argument order:

(old style)
fubar(a, b, c)
int c;
int b;
int a;

(new style)
fubar(int a, int b, int c)

He also added: indent when the argument list wraps, and don’t try it in /usr/src/sys/ for the next few weeks, as he’s working there!

Also: ibotty submitted a patch that would let users mount devices to which they do not have write access, though this may be delayed until/overridden by VFS work.

Posted by     Categories: Goings-on     0 Comments

Hurricane happenings

Apparently this server is colocated somewhere Hurricane Isabel touched down in the US – it was offline for some hours, but seems OK now.

Posted by     Categories: About This Site     0 Comments

Stack Smashers of the Galaxy Rangers!

Pedro Giffuni noted that there is an effort in NetBSD to protect the stack that may be useful for DragonFly BSD; several others noted that the x86 platform, where DragonFly is currently focused, does not explicitly support this behavior, so it is more hassle than use at this time.

Posted by     Categories: Goings-on     0 Comments

security fixes, additions

You may say to yourself, “Gosh, I hope the recent SSH and Sendmail holes are fixed in DragonFly BSD, too!” And you’d be right.

Miguel Mendez brought up the idea of using NetBSD’s Veriexec for more secure prebinding (which will also be committed, but not used by default); David Rhodus reports he has Veriexec working and will commit it soon.

Posted by     Categories: Goings-on     1 Comment

Syscall Separation

David P. Reese, Jr. has separated out the sendto/sendmesg/recvfrom/recvmsg calls and created kernel versions. 4.3BSD syscalls have been separated out, too, to src/sys/emulation/43bsd. (Patch pending)

Posted by     Categories: Goings-on     0 Comments

devfs and things I understand less

Matt Dillon pointed out that GEOM in FreeBSD may be something DragonFly can present a compatible API for, but it requires the messaging work for VFS and DEV first. Incidentally, Matt will be working on namecache, VOP_LOOKUP, Simon ‘corecode’ Schubert’s prebinding, and Jeffrey Hsu’s changes to ifq.

If, like me, you are clueless on what prebinding and ifq are, here an explanation of prebinding for OS X (should apply here) and ifq… appears to be the queue in which chunks of network information are held/passed? I haven’t found a good explanation. (Comments welcome, if you know)

asmodai pointed out xenofarm during a discussion of the tinderbox builds of DragonFly.

Posted by     Categories: Goings-on     1 Comment


Kip Macy noted that he is working on a checkpoint/restart project, where an application can be ‘saved’ in a running state and later restored. This can be useful with programs that have a long runtime, or when debugging.

Posted by     Categories: Goings-on     0 Comments

Some linking

Diego Calleja brought up this paper in reference to discussion of a devfs-style /dev system.

Simon ‘corecode’ Schubert linked to a patch he made to allow prebinding.

(added later)
Matt Dillon pointed out now has pictures from the FreeBSD DevSummit.

Posted by     Categories: Goings-on     2 Comments


Not too much visibly occurring on the mailing lists, but a few people have posted links to pictures they took at the recent BSDCon.

(Second link now fixed)

Posted by     Categories: Goings-on     0 Comments

dports -> dfports

‘dports’ is now ‘dfports’, because of a name conflict with Darwinports. It’s cvs-dfports in CVS now.

Posted by     Categories: Goings-on     0 Comments

dports created

Matt Dillon has created dports, a DragonFly-local override of /usr/ports from FreeBSD. This way, DragonFly can continue to use the FreeBSD ports system and changes/overrides can be placed in /usr/dports to handle changes. This is not permanent; it’s supposed to last until a new package system is devised, which should be after things like the VFS work is done.

Complete text of his post follows, as there’s some notes on how to check this out of cvs:

Posted by     Categories: Goings-on     0 Comments


I’ll try to run through all the events that came through in the past few days.

– David Rhodus reports over 1000 iso downloads on, while Simon ‘corecode’ Schubert reports (since logging started) 129 unique downloads.

– David P. Reese Jr. has set up various split syscalls and set the linuxulator to use them.

– Matt Dillon pointed out the right name for this new OS is ‘DragonFly’, with the F capitalized. He also suggested starting a new ports (/usr/dports) system that would work as an ‘override’ to the carried-over FreeBSD ports system.

– There was some discussion of slogans for DragonFly, of which my favorite was David Leimbach’s “DragonFlyBSD: We’ve raised our standards… so up yours!”

– Robert Garrett brought rsync into the base system. Also, David Rhodus set up a cvsync server that carries both FreeBSD and DragonFly. (his config continued below.)

Posted by     Categories: Goings-on     2 Comments

namecache work description

Matt Dillon posted a longer explanation of his namecache work; I’m quoting it here because I’m not knowledgeable enough to summarize.

Quoted text follows:

Posted by     Categories: Goings-on     1 Comment

Short time off

No posts here September 5-7th, as I’ll be out.

Posted by     Categories: About This Site     0 Comments

sysinstall finalized

From the discussions going on, it looks like the installation interface will be http based, using Apache, PHP, probably Python, and a text (links or elinks)/graphical browser depending on install environment.

A new topic coming up is: should cvsup be included, or something like it?

Posted by     Categories: Goings-on     1 Comment

namecache work

Matt Dillon is starting work on cache_lookup(), for at least the next week or so. When implemented, it should lead to some very interesting changes in the filesystem. This may be backportable to FreeBSD, too. Quoted text follows:

Posted by     Categories: Goings-on     0 Comments


DragonFly BSD must be a legitimate operating system now. Tobias Florek has come up with a way to purchase a plush Fred mascot. No sales info yet…

Pictures here:

Posted by     Categories: Goings-on     0 Comments

Package system

Joerg Sonnenberger posted a long writeup of possible directions for a packaging system. I’m repasting it verbatim, as there’s no need to sum up yet.

Posted by     Categories: Goings-on     0 Comments

Rounding up

No major events, but a few small items over the weekend and U.S. holiday:

– Hiten Pandya suggested creating downloadable patchsets for unstable items like ACPI that come from other operating systems, so that people can try them without placing unstable code into the default Dragonfly setup.

– Lots and lots of talk about sysinstall; nothing was really resolved other than that language preferences polarize discussion. Matt Dillon pointed out he was more interested in figuring out RCNG integration, in any case.

– If you, like me, aren’t familiar with RCNG, Jeremy Messenger posted these links (all about the NetBSD version, but that’s close) for more info:
(Google cache if Daemonnews is unavailable.)

– Serial console support doesn’t seem to be working, though the settings should be the same as with FreeBSD-stable.

– I “announced” this web page, and nobody said anything bad. Yay!

Posted by     Categories: Goings-on     0 Comments