Right the first time

The libh project for FreeBSD was supposed to replace the creaky sysinstall program, though it hasn’t been worked on extensively enough to offer a real replacement. Robert Watson writes some interesting points on the right way to go about working on an installer.

Why do I point this out? The DragonFly Installer has followed this general plan already; it’s nice to have external verification that something was done right.

rconfig ritten

Matt Dillon has written a remote configuration utility called ‘rconfig‘, which sounds similar in theme to utilities like Kickstart or the whatchamacallit Sun uses. His description:

‘It allows a CD user to scan the network for configuration servers, download a configuration script based on a tag name, and execute that script all in one simple command. Running the rconfig server is just as easy… you basically just run the server -a -s and put your scripts in /usr/local/etc/rconfig/.sh and you are done.’

He’s added share/examples/rconfig auto.sh as a sample rconfig script. It will completely remove and reinstall DragonFly.

crtbegin/crtend changes

Joerg Sonnenberger noted that on the next update of your system(s), be careful using “make upgrade”, as a consistent world is needed. The recent crtbegin/crtend changes may give some trouble. It also may be a good idea to rebuild ports, especially those that use C++.

Official mail archive available

After several iterations, we now now a “offical” archive of discussions on the dragonflybsd lists. This pulls right from the news server. It’s currently updated every 2 hours. Credit’s due to Matt and Hiten for hitting me with ideas for it, and for adding the support applications.

There’s still some work to be done: Search functions, raw messages, and archive downloads. That’ll be the next version.

Other archives out there:
http://marc.theaimsgroup.com/
http://www.gmane.org/ (dragonflybsd.kernel only)

MSFBUFs made

Matt Dillon committed the MSFBUF API. His commit note sums it up nicely so I’ll repaste:

” Add the MSFBUF API. MSFBUFs are like SFBUFs but they manage ephermal multi-page mappings instead of single-page mappings. MSFBUFs have the same caching and page invalidation optimizations that SFBUFs have and are considered to be SMP-friendly.

Whereas XIO manages pure page lists, MSFBUFs manage KVA mappings of pure page lists.

This initial commit just gets the basic API operational. The roadmap for future work includes things like better interactions with third-party XIOs, mapping user buffers into the kernel (extending the xio_init_ubuf() API into the MSFBUF API), and allowing higher level subsystems to pass previously released MSFBUFs as a hint to speed-up regeneration. We also need to come up with a way to overload additional sets of MSFBUFs representing smaller chunks of memory on top of the same KVA space in order to efficiently use our KVA reservation when dealing with subsystems like the buffer cache.

MSFBUFs will eventually replace the KVA management in the BUF/BIO, PIPE, and other subsystems which create fake linear mappings with pbufs. The general idea for BUF/BIO will be to use XIO and MSFBUFs to avoid KVA mapping file data through the nominal I/O path. XIO will be the primary I/O buffer mechanism while MSFBUFs will be used when things like UFS decide they need a temporary mapping.

This is a collaborative work between Hiten Pandya and Matthew Dillon .”

ehci Ejection

Matt Dillon noted that removing ‘device ehci’ from your kernel configuration will cause the USB 2.0 ports to switch down to USB 1.1. This may be needed to make certain USB chipsets work.