Kyua graduates

After years of inactivity, the Kyua project has graduated as an open source citizen and has a new home under the FreeBSD umbrella! But uh… wait, what is Kyua and why is this exciting? To resolve confusion and celebrate this milestone, I’d like to revisit what Kyua is, how it came to be, why I stopped working on it for a while, why that was a problem for FreeBSD—and, indirectly, NetBSD—and how Kyua being free software has helped keep it alive.

August 2, 2024 · Tags: <a href="/tags/blogsystem5">blogsystem5</a>, <a href="/tags/freebsd">freebsd</a>, <a href="/tags/kyua">kyua</a>, <a href="/tags/netbsd">netbsd</a>
Continue reading (about 14 minutes)

Speeding up autoconf with caching

In the recent Remembering Buildtool post, I described how setting up a cache of configuration checks was an important step in Buildtool’s installation process. The goal was to avoid pointless repetitive work on every build by performing such common checks once. Episode 457 of BSD Now featured my post and Allan Jude wondered how much time would be saved in a bulk build of all FreeBSD packages if we could just do that same kind of caching with GNU Autoconf. And, you know what? It is indeed possible to do so. I had mentioned it en passing in my post but I guess I wasn’t clear enough, so let’s elaborate!

June 17, 2022 · Tags: <a href="/tags/freebsd">freebsd</a>, <a href="/tags/netbsd">netbsd</a>
Continue reading (about 10 minutes)

rc.d belongs in libexec, not etc

The scripts that live under /etc/rc.d/ in FreeBSD, NetBSD, and OpenBSD are in the wrong place. They all should live in /libexec/rc.d/ because they are code, not configuration. Let’s look at the history of these systems to see how we got here, why this is problematic, and how things would look like in a better world.

August 24, 2020 · Tags: <a href="/tags/freebsd">freebsd</a>, <a href="/tags/netbsd">netbsd</a>, <a href="/tags/opinion">opinion</a>, <a href="/tags/sysupgrade">sysupgrade</a>
Continue reading (about 8 minutes)

Code review culture meets FreeBSD

One of the things that often shocks new engineers at Google is the fact that every change to the source tree must be reviewed before commit. It is hard to internalize such a workflow if you have never been exposed to it, but given enough time —O(weeks) is my estimation—, the formal pre-commit code review process becomes a habit and, soon after, something you take for granted. To me, code reviews have become invaluable and, actually, I feel “naked” when I work on open source projects where this process is not standard practice. This is especially the case when developing my own, 1-person projects, because there is nobody to bounce my code off for a quick sanity-check. Fortunately, this may not be the case any more in, at least, FreeBSD, and I am super-happy to see change happening.

May 31, 2014 · Tags: <a href="/tags/featured">featured</a>, <a href="/tags/freebsd">freebsd</a>, <a href="/tags/google">google</a>
Continue reading (about 9 minutes)

Refocusing Kyua maybe?

The FreeBSD devsummit that just passed by gave me enough insight into Jenkins to question the long-term plans for Kyua. Uh, WHAT?! Let me explain. In the beginning... One of the original but unstated goals of Kyua was to fix the "mess" that is the NetBSD releng test run logs site: if you pay close attention, you will notice that various individuals have reinvented the wheel over and over again in an attempt to automate release builds and test suite runs. In other words: different parties have implemented independent continuous integration systems several times with more or less success.

May 23, 2014 · Tags: <a href="/tags/freebsd">freebsd</a>, <a href="/tags/jenkins">jenkins</a>, <a href="/tags/kyua">kyua</a>, <a href="/tags/netbsd">netbsd</a>
Continue reading (about 6 minutes)

BSDCan 2014 summary

BSDCan 2014 and the accompanying FreeBSD devsummit are officially over. Let's recap. FreeBSD devsummit The FreeBSD devsumit at BSDCan is, by far, the largest of them all. It is true that I already visited a devsummit once —the one in EuroBSDCon 2013—, but this is the first time I participate in the "real deal" while also being a committer. The first impressive thing about this devsummit is that there were about 120 attendees. The vast majority of these were developers, of course, but there was also a reasonable presence from vendors — including, for example, delegates from Netflix, Isilon, NetApp and even smaller parties like Tarsnap.

May 21, 2014 · Tags: <a href="/tags/bsdcan">bsdcan</a>, <a href="/tags/conference">conference</a>, <a href="/tags/freebsd">freebsd</a>, <a href="/tags/netbsd">netbsd</a>, <a href="/tags/testing">testing</a>
Continue reading (about 6 minutes)

GSoC 2014 idea: Port FreeBSD's old-style tests to ATF

Are you a student interested in contributing to a production-quality operating system by increasing its overall quality? If so, you have come to the right place! As you may already know, the Google Summer of Code 2014 program is on and FreeBSD has been accepted as a mentoring organization. As it so happens, I have a project idea that may sound interesting to you. During the last few months, we have been hard at work adding a standardized test suite to the FreeBSD upstream source tree as described in the TestSuite project page. However, a test suite is of no use if it lacks a comprehensive collection of tests!

March 12, 2014 · Tags: <a href="/tags/atf">atf</a>, <a href="/tags/freebsd">freebsd</a>, <a href="/tags/soc">soc</a>, <a href="/tags/testing">testing</a>
Continue reading (about 3 minutes)

FreeBSD Test Suite tutorial at AsiaBSDCon 2014

I am pleased to announce that the tutorial on the FreeBSD Test Suite that I proposed for AsiaBSDCon 2014 has been accepted! The conference website will soon include more details, but allow me to spoil your wait: Goals: Learn how to use the test suite, how it is internally organized and how new tests can be written. Stretch goal: Get attendees to contribute one or more tests to the project. Audience: Mostly developers of FreeBSD that want to learn how the new test suite plugs into the system. That said, and because a major part of the tutorial will revolve around using the test suite for one's own benefit, everyone is welcome really. In particular, system administrators may get a useful tool out of this. The main surprise in the acceptance confirmation email is that materials are due by January 20th... which is around the corner! Time to rush in getting things ready. In the meantime, you can find more details on the tutorial by reading the proposal itself.

January 8, 2014 · Tags: <a href="/tags/conference">conference</a>, <a href="/tags/freebsd">freebsd</a>, <a href="/tags/kyua">kyua</a>, <a href="/tags/testing">testing</a>
Continue reading (about 1 minute)

FreeBSD Test Suite goals and planning

I was really impressed and delighted to see how popular my previous (and first) post on FreeBSD testing, titled Introducing the FreeBSD Test Suite, was. Looks like this project may be of great interest to developers and users out there (not unsurprisingly) so I'll try to keep you all up-to-date with any key developments. A first question that arises from the announcement is: where are the test suite and infrastructure headed? After all, the continuous testing machines for amd64 are already up and running, so what else is there to do?

January 5, 2014 · Tags: <a href="/tags/freebsd">freebsd</a>, <a href="/tags/kyua">kyua</a>, <a href="/tags/testing">testing</a>
Continue reading (about 2 minutes)

Introducing the FreeBSD Test Suite

I joined the FreeBSD committer ranks a couple of months ago with the intention to equip FreeBSD with an out-of-the-box test suite and with a testing infrastructure. The time until now has been quite fruitful and I have been rushing to get something ready for you before the year end. With that, I am very pleased to announce that the first mockup of the FreeBSD testing cluster is up and running! Point your browser at:

December 31, 2013 · Tags: <a href="/tags/featured">featured</a>, <a href="/tags/freebsd">freebsd</a>, <a href="/tags/kyua">kyua</a>, <a href="/tags/testing">testing</a>
Continue reading (about 4 minutes)

Three productive days on the Kyua front

This being Thanksgiving week in the U.S. and Google giving us Thursday and Friday off, I decided to take Monday to Wednesday off as well to spend some time hacking on Kyua — yes, finally, after months of being inactive. And what a three productive days! Here comes a little briefing on the three fronts in which I made progress. (This puts on hold the header files series until next Monday... but most of you are probably away anyway. Enjoy the holidays if they apply to you!)

November 28, 2013 · Tags: <a href="/tags/atf">atf</a>, <a href="/tags/fedora">fedora</a>, <a href="/tags/freebsd">freebsd</a>, <a href="/tags/kyua">kyua</a>, <a href="/tags/lua">lua</a>
Continue reading (about 6 minutes)

Joining the FreeBSD committer ranks

About 11 years ago, I had the honor of becoming part of the NetBSD developer team. A week ago, the same offer was extended to me for FreeBSD and I could not refuse it... so, as of two days ago, I am jmmv at FreeBSD and will be working in src! But how have I ended up here? The story goes back in time... My beginnings with FreeBSD FreeBSD was the first BSD system I tried after spending a couple of years with Linux. I was able to do so because one of the PC magazines that my father used to buy in 1999 came with a copy of FreeBSD 3.2 — pretty advanced stuff for a magazine compared to today's standards, huh? However, that first experience did not go very well: the system felt really sluggish... only because I did not know that I had to enable the magic softdep option. So I gave up.

November 4, 2013 · Tags: <a href="/tags/announce">announce</a>, <a href="/tags/freebsd">freebsd</a>
Continue reading (about 5 minutes)

EuroBSDCon 2013 takeaways

EuroBSDCon 2013 is done. If you have been following my daily posts over the last 4 days (day 1, day 2, day 3 and day 4) as well as #EuroBSDCon updates in Twitter, you may already have a pretty good idea of what went on here. However, with the conference over, it is now a good time to recap the whole event and present the takeaways of these four days which, overall, were quite interesting and productive.

September 30, 2013 · Tags: <a href="/tags/eurobsdcon">eurobsdcon</a>, <a href="/tags/freebsd">freebsd</a>, <a href="/tags/kyua">kyua</a>, <a href="/tags/netbsd">netbsd</a>
Continue reading (about 6 minutes)

Live from EuroBSDCon 2013, day 2

Live from Malta today attending the EuroBSDCon 2013 conference. Today is the second day of tutorials, still overlapped by the second day of the FreeBSD devsummit and the only day of the NetBSD devsummit. OpenBSD Hallway conversations are powerful and, in my opinion, the best aspect of these conferences. I had the chance today to talk to Peter Hessler from OpenBSD. Only 15 to 20 minutes of discussion were necessary to learn a lot about how the OpenBSD project is run and to clear some of the misconceptions I had, which I don't know where I got from. One obvious example is that OpenBSD does support SMP and has in fact been doing so for a long time — except, of course, for the fact that the giant kernel lock is still being removed.

September 27, 2013 · Tags: <a href="/tags/conference">conference</a>, <a href="/tags/eurobsdcon">eurobsdcon</a>, <a href="/tags/freebsd">freebsd</a>, <a href="/tags/openbsd">openbsd</a>, <a href="/tags/pcbsd">pcbsd</a>
Continue reading (about 4 minutes)

Live from EuroBSDCon 2013, day 1

Hello everyone! Live from Malta today attending the EuroBSDCon 2013 conference. Today is the first day out of four: two days of tutorials and two days of actual conference. The tutorials are overlapped by two days of the usual FreeBSD Developer Summit (devsummit for short) and one day of the infrequent NetBSD Developer Summit. The ambient here is pretty good already: lots of enthusiastic people catching up since the last time they met each other and, more importantly, discussing ongoing developments. Keeping in mind that this is only the first day of tutorials and not the proper conference, things look promising: many more people are expected to join on Saturday.

September 26, 2013 · Tags: <a href="/tags/conference">conference</a>, <a href="/tags/eurobsdcon">eurobsdcon</a>, <a href="/tags/freebsd">freebsd</a>, <a href="/tags/netbsd">netbsd</a>
Continue reading (about 3 minutes)

Installing FreeBSD with a ZFS root on a PowerMac G5

Suppose you have a nice PowerMac G5 big beast around and want to install a modern operating system on it. Suppose that you want FreeBSD to run on it. Suppose that you would like to use ZFS as much as possible, say to use the machine as a NAS. If all of the above apply to you, you have come to the right place! Read on for how I got FreeBSD 10.0-CURRENT with a ZFS root to work on a PowerMac G5. I am pretty sure the instructions here apply to other PowerPC-based machines as well, although the specific details on how to set up the boot loader most likely differ.

July 11, 2013 · Tags: <a href="/tags/freebsd">freebsd</a>, <a href="/tags/mac">mac</a>, <a href="/tags/powerpc">powerpc</a>, <a href="/tags/zfs">zfs</a>
Continue reading (about 4 minutes)

tmpfs added to FreeBSD

A bit more than a year ago, I reported that tmpfs was being ported to FreeBSD from NetBSD (remember that tmpfs was my Google SoC 2005 project and was integrated into NetBSD soon after the program ended). And Juan Romero Pardines has just brought to my attention that tmpfs is already part of FreeBSD-current! This is really cool :-) The code was imported to FreeBSD-current on the 16th as seen in the commit mail, so I suppose it will be part of the next major version (7.0). I have to thank Rohit Jalan, Howard Su and Glen Leeder for their efforts in this area. Some more details are given in their TMPFS wiki page. Edit (June 23): Mentioned where tmpfs is being ported from!

June 22, 2007 · Tags: <a href="/tags/freebsd">freebsd</a>, <a href="/tags/tmpfs">tmpfs</a>
Continue reading (about 1 minute)