There’s a package system wiki up at http://www.livebsd.com/cgi-bin/trac.cgi/wiki/dflypkg. I’m waiting for someone to use that spiffy DFUI used in the installer to make a good packaging system…
Month: June 2004
The DragonFly Installer is now at version RC1.002. This version now better handles canceling an action, creates a
/proc mountpoint, and does a better job of autoguessing partition size.
Antonio Dolcetta translated the installation README into Italian, at http://gelo.dolcetta.net/antonio/docs/dragonfly.README.it.
Matt Dillon posted an announcement about 1.0RC1 last night on the kernel mailing list; it contins some important notes about ACPI.
The DragonFlyBSD LiveCD is at version 0.3. It was 1.2 previously, so I assume the major number was dropped to emphasize that it’s not released yet. What’s new? I don’t know, as I haven’t been in #dfinstaller (on EFNet) this weekend.
‘walt’ found out that if you switch from GCC 2 to GCC 3 (and probably vice versa), libtool needs to be rebuilt.
Matt Dillon has enabled the SIO FIFO (1655x) (don’t ask me what that is…) to reduce latency when that little spinning / | \ – bar thing runs during inital boot.
I note this just so I can say: “DragonFly – we even twiddle fast.”
As Erik P. Skaalerud pointed out in the bugs list, there’s been a lot of source changes lately. If you encounter an error when doing a buildworld/buildkernel, update your sources and try again. A number of people have managed to fall right inbetween updates lately.
I’ve committed the initial “port” of the FreeBSD Handbook into the doc repository. It’s not yet built into the site, but you can see a test version at http://forknibbler.com/guide/. Anyone who wants to add/rewrite a section is strongly encouraged – send it to the submit ‘at’ dragonflybsd.org mailing list.
David Rhodus has removed GCC 3.3 from the tree, since GCC 3.4 is in. ‘
make upgrade‘ during upgrade will clean it out.
PFIL_HOOKS is now on by default, so it can be removed from kernel configuration files. It’s not in by default normally, so if it’s unfamiliar, ignore it.
Matt Dillon committed code that makes DragonFly computers boot in dual mode – i.e. both the serial console and the video console are active. Use -h at boot to get just serial, and -V to get just video.
A few people using Postfix for mail have reported system hangs at irregular intervals; Joerg Sonnenberger and Matt Dillon have been trying to track this down. Joerg posted these steps to take if you are so fortunate as to encounter this problem:
“Please try to provide the following for us for download:
- a tarball of your
/var/spool/postfix[if this doesn’t contain private mail, save it and try to remove them as long as the problem persists]
- a crash dump of the system when it hangs and the kernel.debug, please test that ‘
gdb -k kernel.debug vmcore.X‘ actually works and gdb doesn’t crash.
- if you can easily reproduce the problem, compile
kern/kern_lockf.cwith -DLOCKF_DEBUG, use the ddb command ‘
w lf_print_ranges 1‘ to set the lockf debugging and give us the
I really want to fix this, but neither Matt nor I can reproduce this problem and the code is not obviously bad. There is some interaction going on, but the crash dump we had so far doesn’t work (see above about testing). It would be nice, if you can use bzip2 or gzip on all this data.”
I somehow managed to miss this, but there’s been an update to Matt Dillon’s Diary page.
GoBSD.com has a ‘packages’ section which holds prebuilt software packages for DragonFly, suitable for adding with
pkg_add -r packagename. It doesn’t happen to have many KDE packages, which can be very time-consuming to build by hand. However, there’s a whole bunch in a different directory, http://gobsd.com/packs/.
Apparently, there’s a ISC DHCP vulnerability just discovered – DragonFly could use an update.
Gabor Mickso linked to a story in Hungarian about the new installer; if you can’t read Hungarian, there’s plenty of (English) screenshots.
A newer version of the beta installer is up at http://www.livebsd.com/dfly.
Thanks to Chris Pressey, Tim Wickberg, and William DeVries, the Perl script
kbdmap has been replaced with a C equivalent, and
rmuser, also formerly Perl, has been replaced with Bourne shell scripts. These all came from FreeBSD-5.
Hiten Pandya’s added asf(8): Add Symbol File. It’s ported from FreeBSD – I’m adding the commit comment below. Also, csplit(1), tabs(1) as specified in IEEE Std. 1003.1-2001 (SUSv3) and ported from Tim J. Robbins’ code on FreeBSD. He’s also committed the POSIXv2 asa(1) utility for interpretation of FORTRAN carriage-control characters. How often does that happen?
David Rhodus has made MMX/XMM kernel optimizations on by default –
kern.mmxopt=0 will turn them off in the unlikely event they aren’t wanted..
Since GCC 3.4 is now in the source tree, which means a ‘
make buildworld‘ (not ‘
make quickworld‘) is neccessary on your next update. You can use it – after updating and rebuilding – with “setenv CCVER gcc34″ set. Avoid using the -j flag to speed things up, just yet. ProPolice is supported with this version.
Chris Pressey announced the DragonFly Installer has gone to ‘beta’ status; his announcement is pasted here:
God a small hard drive and want to simulate a CD build? Try Chris Pressey’s ‘Mock CD‘ trick. (Link stolen from a mention on IRC.)
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.
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/.shand you are done.’
He’s added share/examples/rconfig auto.sh as a sample rconfig script. It will completely remove and reinstall DragonFly.
Chris Buechler found out that varsyms don’t work (yet) on a per-jail basis. Darn.
I’ve been remiss, and haven’t mentioned YONETANI Tomokazu’s ACPI patches. They aren’t in the tree yet, but if you have a laptop and want to try them out, they are at http://les.ath.cx/DragonFly/.
Joerg Sonnenberger has committed GCC 3.4. To use it, update, and then set
Having trouble with loading a splash screen? “beastie_disable=YES” in your
/boot/loader.conf. Note: this may or may not work; it’s untested.
A number of people reported issues compiling a kernel after the recent crtbegin/crtend file changes from Joerg Sonnenberger. This is now fixed by Joerg and Matt Dillon.
This should be bugfix week; DragonFly BSD 1.0 should be ready for USENIX, starting on the 27th in Boston. This week may be rather quiet…
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.
The DragonFly Live CD with installer now includes a web-based installer in addition to the existing ncurses installer.
Hiten Pandya posted that work for DragonFly 1.0 should be done by June 13th, which gives a week of testing before USENIX.
(flop sweat time!)
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 .”
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.
Munish Chopra pointed at this mailing list post as the possible reason you see -DTARGET_NAME=\”i386-undermydesk-freebsd\” when building GCC3.
Hiten Pandya has now added a ‘-O’ option to
top which switches between the display of threads only, or processes and threads.
Sun is reportedly thinking about open-sourcing Java. There’s no timeline or specific commitment, so it all could be rumors. While Java for FreeBSD works on DragonFly (or so I’ve heard), it’d be nice to have it work officially, without jumping through license hoops.
Hiten Pandya has committed code so that
resident -l will return a list of all dynamic programs that have been made memory-resident.
‘GeekGod’ has also created a libdfui wiki. libdfui is the library being used to build the installer interface.
Thomas Belian made a post to dragonfly.docs asking if a translation of the documentation to German would help. I made a reply that is probably worth repeating:
“It would be nice to have; you may want to wait until the documentation is more “settled”, probably after the 1.0 release. If you’d like to write original documentation, that would help too, and that can be done right
We could use an extended section on networking setup, and a section on ports. If you check out the cvs target ‘doc‘, you can base it off the files there. Specifically, copy one of the chapter.sgml files in a directory under /doc/en/books/userguide/ and start working. If you are unfamiliar with the markup, you can read up on it at http://www.docbook.org/tdg/en/html/docbook.html“
Discussion of an improved/replaced ‘ports’ system ran on for a bit on dragonfly.kernel, and Eirik Nygaard reposted an important link: Simon ‘corecode’ Schubert’s extensive writeup.
(Watch for subtle hint!) It’s good enough to serve as a task outline for anyone contemplating ports work. (end hint)