Monthly Archives: August 2009

UFS file system space allocation policy

Users coming from other systems don't usually know it (and probably don't care, in today's environment of multi-TB drives), but UFS has a rather interesting approach to space allocation which is different from the "usual suspects" like ext2/3, NTFS and FAT(32). Though it sometimes feels "interesting" in the sense of the Chinese proverb, it's time-tested to work.

I'm talking about clustering, blocks and fragments.


FreeBSD as a WiFi Access Point

At a recent Linux users' gathering I temporarily saved the day when a WRT router was practically bricked, by setting up my netbook (Acer Aspire One) running 8-CURRENT as a wireless access point. It had wired connectivity to the Internet from one side and offered WiFi via its Atheros card on the other side. In between it did NAT and protected the LAN side from the Linux hackers, both with ipfw. Here is how I configured it.


FreeBSD 9.0 packages and 8.0 freeze update

Earlier today, Ken Smith bumped the version of the HEAD sources to 9.0.  I have just modified the scripts to make INDEX-8 based on RELENG_8 and add support for INDEX-9 based on HEAD.  They are available for ‘make fetchindex’ now.  Mark Linimon is working on adding 9 to the pointyhat scripts, so expect the first 9-current packages to be available later this week.

Packages for the release of 8.0 have been built for i386 and amd64, with a few days to go for sparc64.  They are currently not available on the mirrors yet, but will be included on the BETA3 cd sets.  Please give them as much testing as you can.  With the first iterations of the package sets already finished, we are currently in a soft feature freeze, and if no major changes appear, we do expect to keep the freeze very short.  Although the exact date is dependent on how the release progress in general progresses, it is currently expected to start at September 14 and last for two weeks.  Please don’t hesitate to contact portmgr@ if you have any questions or doubts whether a given change would be too big for the feature freeze.

Related posts:

  1. ports feature freeze starts in February 8 In preparation for 7.3-RELEASE, the ports tree will be in...
  2. ports feature freeze now in effect In preparation for 7.3-RELEASE, the ports tree is now in...
  3. Regressions in FreeBSD 9.0 Even though 8.0 hasn’t been released yet, with the second...

Related posts brought to you by Yet Another Related Posts Plugin.

FreeBSD – Current freeze over

Last night the FreeBSD team had unfrozen the development branch for -HEAD (What will eventually lead up to 9.0-RELEASE). Although people need to be conservative about commits they make, they can continue development again. RELENG_8 is still frozen but people are allowed to merge after consulting the Release Engineering Team. Good Progress is being made now to get 8.0 out of the door.

FreeBSD Gecko’s TODO and plan for future

Goals: Removal of mozilla, nvu, xulrunner and firefox2. www/firefox35 should be moved to www/firefox. The options USE_GECKO mozilla nvu xulrunner and firefox will be also removed. Background: We have a lot of old stuff on the portstree and it’s time to cleanup old stuff. www/mozilla is 5 year old now, no longer supported by upstream, and has many many vulnerabilities. We [...]

CFT – misc/compat7x port

Renato Botelho, aka garga, and I picked up the gauntlet and put together the compat7x port for the upcoming release of FreeBSD 8.

We initially targeted a small audience, and gradually extended our scope. We are now looking for more testers. Those inclined to give it a try are encouraged to download the shar from

Please note that the standard disclaimers apply.

Any feedback is appreciated to garga@ and/or tabthorpe@


In this post I write how to install FreeBSD on a remote linux system by creating a root image prepared for mirroring on a local system. There is no (free) access to the remote console, only access via ssh.

Background story

While I was at the university, I worked remotely for an ISP (administration of several FreeBSD systems). During this time I started to use my own domain, and I was allowed to host it directly at the ISP for free. I tried to not use too much space on the harddisk (at the end about 400 MB) and to not provide something which attracted too much people to keep the bandwith on a sane level. After the university I was still available to answer questions, and I was still allowed to host my website there for free. As the number of questions can be counted with IIRC one hand since then, I decided at some point (recently, to be exact

The Importance of Speaking at Conferences

In Why We Send Developers to Conferences, Thomas Abthorpe discussed the value in face-to-face networking with both committers and BSD users.

In this post, Ion-Mihai Tetcu discusses the importance of BSD developers speaking at non-BSD specific and international conferences. His report also shows some of the lessons that can be learned from meeting with users and learning first-hand how a global project is meeting their local needs.

I had the opportunity, with the Foundation's help, to participate as a speaker at FISL 10 in Porto Alegre, RS, Brazil. This year's anniversary edition had 8,232 paying attendees, speakers from 28 countries, a lot of vendors and user groups, and a powerful media presence. FISL was sponsored, among others, by the Brazilian Federal Government and Brazil's President Mr. Luis Ignacio Lula da Silva gave a nice speech .

Open source in Brazil has a powerful momentum, being promoted by the federal and various states and local governments. It is seen as a way to reduce the country's dependency on foreign companies, a way to reduce unemployment, and generate local revenues and expertise. It is used by the national bank, federal government institutions and even by local subsidiaries of big multinational companies. Open Source in Brazil pretty much equals Linux, especially RedHat, Suse and Debian (who all have powerful user-groups) and a few local distributions. (Free)BSD is also used, especially by telcos and in the embedded market. More that 50% of the attendees didn't understand English and the situation is even worse in the general public. This practically implies that, without localization, a software product can not have any significant market share in Brazil.

Apart from my DSPAM talk, I gave a general talk about FreeBSD ports and packages and PCBSD's PBIs, was one of the hosts of the BSD-Meeting and assisted at the FUG-BR stand. Unfortunately, the other BSDs had zero presence. The 6 hours of the BSD-Meeting were a micro-conference attended by 65-70 people. Of the 5 talks, 3 could have easily found a place on the main schedule and I repeatedly kicked those speakers for not submitting their talks to FISL organizers. From the Brazilian user's perspective, the biggest problem faced is the lack of a localized version of FreeBSD. For example, I was asked if we could provide a framework for localizing the OPTIONs and pkg-message of our ports. When faced with a new operating system, many users will choose a localized Linux variant over the effort of learning both a new operating system and a new language. As a first step, I am pursuing with the PC-BSD folks the idea of doing a custom-built PC-BSD variant localized for Brazil. Marcelo Araujo presented what the translation process implies and one of the results of the BSD-Meeting is a restart ofthe Brazilian Documentation Project.

Lacking any promotional materials except a few posters, the FUB-BR booth didn't attract as many people as the other booths. However, it was a place where people could meet some FreeBSD committers and we had many interesting discussions with both FreeBSD and Linux users. One of the things practically everybody I spoke with during the conference told me was that they desire international speakers. At least 30 people attended FISL because there was a FreeBSD speaker from abroad. I think this is an important idea and that we should also encourage developers to give talks at general F/OSS conferences.

How FreeBSD gets released

Believe it or not, FreeBSD as a whole is a really big project. The practice of keeping kernel and userland together in an operating system results in about 45,000 files that comprise the system's source. As with other big projects, some degree of control is needed.

(This article is intended for end-users, not developers; developers have a better inside view so they will have to ovelook omitted details)


Daily doxygen generated docs of the FreeBSD kernel (head)

I managed to get some time to setup an automated generation of the doxygen docs for kernel subsystems of FreeBSD on my webserver.

Every night/morning (German timezone) the sources will be updated, and the docs get regenerated (this takes some time). Currently this depends upon some patches to the makefile and doxygen config files in tools/kerneldoc/subsys. Everything is generated directly in the place where the webserver will look for to deliver the pages, so if you browse this in the middle of the generation, the content may not be consistent (yet).

Please be nice to the webserver and do not mirror this. You can generate this yourself very easy. Assuming you have the FreeBSD source on a local hard disk, you just need to download the patch from (if you do not find dox.diff, update your FreeBSD sources and everything will be OK), apply the patch, cd into tools/kerneldoc/subsys and run

Safe Removal of Active Disk Devices

Earlier this year, the Foundation sponsored Edward Tomasz Napierala to fix FreeBSD's #1 reported bug: a USB disk causing a panic when detached before unmounting. Edward describes the project as follows:

One of the long-standing problems encountered by FreeBSD users was the fact that the system could often crash after a mounted disk device - for example, a USB flash drive - was removed. This behavior was not only annoying, but also made a bad impression about the overall stability and robustness of the operating system.

The project was not about fixing one buggy driver, as it could seem at first glance. Fixing the problem involved changes in CAM (Common Access Method, FreeBSD SCSI subsystem), GEOM framework, Virtual Filesystem layer, and finally the UFS filesystem. (Ironically, there were no problems with the USB itself.) There were no big design changes of any sort; just an iterative process of finding a way to crash the system, tracking down the bug that was causing it, fixing it, and proceeding to the next one. Most of the fixes were backported to FreeBSD 7-STABLE and will appear in FreeBSD 7.2.

It is now possible to remove mounted devices - and to unmount them afterwards - without any user-unfriendly behavior, such as crashes. Also, the system became more robust in the presence of non-USB disk removal, such as SCSI or SATA drive detachment or failure.

Releng_8 ” opened for commits ”

Today RELENG_8 had been opened up again. Reason for stalled commits and such is that the SVN to CVS exporter was unable to cope with the new branch and didn’t export anymore. To prevent massive surgeries needed to get the system backup again, we stopped the exporter and fixed it. Simon Nielsen and Peter Wemm did a lot of work to get this in the proper position again.

Unfortunatly this stalled development and working towards RELENG_8 a bit. But headsup, things are now getting back to normal and the queue by re@ is being flushed.

Stay tuned!

Introducing new Ports Committer, Dima Panov

I will be mentoring Dima along with Martin Wilke. Dima was instrumental working behind the scenes in preparing the FreeBSD port of KDE 4.3 and as a result we are punishing him with a commit bit.

Dima’s new handle is [email protected]

Just remember Dima, you are not a real committer until you break the INDEX, then fix it!

Tasting Cocoa

>The best way to learn new technology is to use it. Here is a small project I've put together while learning Mac OS X/Cocoa development: AudioBookBinder, may be someone will find it useful. This utility takes collection of mp3 files (or any other audio format recognizable by OS X) and binds it to one audiobook(m4b file) suitable for listening on iPod. The initial idea was to make it a GUI app, but I've been spoiled with command line power for too long.

FreeBSD FTP docs available again

The prebuilt FreeBSD Documentation (such as the FreeBSD Handbook etc) is now again available via FTP at

The system will resume regular builds with weekly Sunday uploads within a couple of days, but I uploaded a new documentation set today. It probably hasn’t hit the FTP mirrors yet, but it should be available on most mirrors within 24-48 hours.

While updating the build system I also disabled the Palm book versions – I simply don’t believe they are used enough anymore to justify mirroring them every week to all the mirrors. If anybody misses the Palm precompiled versions, let me know and I will reconsider if they should be built.