MeetBSD Trip Report: Michael Dexter

The Foundation recently sponsored Michael Dexter to attend MeetBSD, which was held in California in November. Michael provides the following trip report:

This year's MeetBSD California marked a departure from its UnConference roots in favor of a showcase of exciting new developments in the community. Western Digital kindly hosted the event which made for a pleasant, professional atmosphere and attendees traveled from as far as Japan and Eastern Europe to attend.

Of the many talks, the Sony confirmation that is a long-time BSD user was simply historic and just may be the result of years of encouragement by AsiaBSDCon attendees. It's not every day that you confirm the existence of millions of more BSD users! Yes, "BSD" users at the request of the Sony legal department. On the same theme, "600M+ Unsuspecting FreeBSD Users" by Rick Reed of WhatsApp also shed light on the heavy lifting companies are doing with FreeBSD and finally, Scott Long and Brendan Gregg of Netflix reminded us how they are pushing 1/3rd of US Internet traffic each evening. Brendan spoke about performance analysis strategies at both MeetBSD and the Developer Summit that followed and I dare say is downright giddy about the performance analysis options available on FreeBSD. In his second talk he incorporated audience feedback on the spot and I for one am delighted to see Sun Microsystems refugees like Brendan come to the BSD community as they each bring a wealth of experience.

Kirk McKusick's “A Narrative History of BSD” was a delight as always and reminded us that there is absolutely nothing like BSD: professional and open source from the start with a mission to bring sanity to government computing. That mission sounds more like a contemporary meme than 1970's and '80's funded government initiative! Kirk told us about Bill Joy's prolific coding and how they navigated the pressure to incorporate the BB&N network stack into BSD. Kirk also told us the story of how a delay in grant funding accidentally got him into a lifetime of fast file system development and how we almost had 48-bit IP addressing. Hearing both Kirk and Brendan Gregg talk about the frivolity of most benchmarks decades apart was eye opening!

Finally, David Maxwell's "Pipecut" talk was a mind-blowing introduction to a pet project of his that promises to change how we all use the Unix command line. Most of these talks are online and can be found via

As with any BSD event, the hallway track was worth the price of admission and I had the pleasure of meeting bhyve and FreeNAS developers that I had only met online. Adrian Chadd tinkered with a Surface Pro system and eventually got the keyboard working late one night and naturally had the only working WiFi in the hotel lobby. Glen Barber and I continued our "the good, the bad and the ugly" talk about distribution mirror layouts based on his work as FreeBSD release engineer and my work supporting various OSs on bhyve. Devin Teske provided scripting advice as always and I cornered people about topics ranging from the status of virtual networking and a ZFS panic.

Every BSD event has its own character and MeetBSD is no different. The fact that it takes place in Silicon Vally allows it to have a great mix of speakers and attendees who might not make it to international events. Thank you iXsystems for putting on yet another great MeetBSD!

10.1 New Update Manager Backend — Call for Testers

Hey testers a new beta update is available to upgrade your systems from 10.x to 10.1. The beta instructions have been sent out to the PC-BSD Testing e-mail list if you would like to participate in the testing. For more information you can email me @ [email protected] or sign up for the testing mailing list @



The FreeBSD Cluster: Infrastructural Enhancements at NYI

I spent several days on-site at our east-coast US colocation facility in July 2014 and again in November 2014 racking and installing servers that the FreeBSD Foundation purchased for the FreeBSD Project.

This hardware is essential for supporting the FreeBSD Project in a number of ways.  It provides services for public consumption (FTP mirrors, pkg(8) mirrors, etc.), as well as resources that can be used by FreeBSD developers for various tasks, such as building third-party software packages, release building, and miscellaneous (a.k.a, "testbed") development of services for general use.

More Horsepower to Serve and Support the FreeBSD Community

Since July, fourteen machines were purchased for the east-coast US site, generously hosted by New York Internet in Bridgewater, New Jersey.

The servers were purchased with the end-goal being a complete mirror of the primary site on the west-coast US.  The newly-added servers bring the machine count at NYI to sixty-eight total.

Reorganizing for Redundancy

Two of these servers are being used as firewalls, each equipped with four-port Intel(r) NICs.  Both firewalls have direct connections to the switches in all four cabinets at NYI, providing a redundant uplink to each of the four switches so we can reboot either firewall without losing connectivity

Restructuring for Additional Services

November's site visit had two primary goals: install and configure the recent shipment of machines, and reconfigure the network topology behind the firewalls.  Before many of the machines could be brought online, several changes needed to be made to the network.

Each site further separates services behind the firewalls using VLANs, limiting each set of services provided within each VLAN to its own network restrictions.  In order to properly allocate network space for the new machines, several of the VLANs at NYI needed to be redone.

The most publicly-disruptive part of this was reallocating the VLAN that contains the firewalls.  Thanks to Peter Wemm, there were no major service disruptions (aside from a planned simultaneous firewall reboot).

Although not all of these machines have been brought online yet, several of them have been allocated and assigned to the teams that will be using them.

Two machines have been allocated to the FreeBSD Release Engineering Team, one of which was used for the 10.1-RELEASE builds.  Four machines have been allocated to the FreeBSD Ports Management Team, which were brought online and handed over just this week.

FreeBSD, Powered by FreeBSD

If you are like me, words about new hardware do not do as much justice as seeing them.  Enjoy!

new servers - front view
new servers - rear view

The Short List #7: net-im/finch and password protected IRC channels on #FreeBSD

I discovered recently that net-im/finch can indeed join password protected IRC channels even though the channel add dialogue box doesn’t support it.

Add an IRC chat room that requires a password to your buddy list.

Exit out of finch and edit ~/.purple/blist.xml

Find the chat room you just added:

<chat proto=’prpl-irc’ account=’[email protected]’>
<component name=’channel’>#supersekritircchannel</component>
<setting name=’gnt-autojoin’ type=’bool’>1</setting>

Simply add the password line after the channel name component:

<component name=’password’>supersekritpass</component>

Restart finch and you will now be able to auto-join the IRC channel.

Note that the password for this IRC channel is now in PLAIN TEXT in a file in your home directory.  So, ensure that you are doing this somewhere trustworthy.

Getting to know your portmgr-lurker: sunpoet@

About a month ago Emanuel (ehaupt@) started his term as a portmgr-lurker but due to a lack of spare time he preferred to step down from the program to focus on his real job. Hopefully Po-Chuan (sunpoet@) was ok to start his term earlier and replaced ehaupt as a portmgr-lurker. Here is a short introduction to get to know him a bit better.

Po-Chuan Hsieh
Committer name
Inspiration for your IRC nick
“sunpoet” comes from “晴詩”, a nickname in Chinese.
The first character means sun/sunny and the second character means poem/poetry.
TLD of origin
Student, sysadm
When did you join portmgr@
I wish I could join portmgr@ after my portmgr-lurker term.
Inspiration for using FreeBSD
Simplicity and convenience.
Ports collection is the most attractive part.
Who was your first contact in FreeBSD
Chin-San Huang (chinsan@)
I asked him to take my PRs via gnats-aa.
Who was your mentor(s)
I was mentored by Philip M. Gollucci (pgollucci@).
What was your most embarrassing moment in FreeBSD
The first time to break INDEX. Of course it happened more than once. :(
Boxers / Briefs / other
What is your role in your circle of friends
vi(m) /  emacs / other
What keeps you motivated in FreeBSD
I use FreeBSD. I love FreeBSD. And I want to make it better.
Favourite musician/band
It would be a long list, e.g. Aerosmith, Lara Fabian, Vitas, …
What book do you have on your bedside table
Big Data: A Revolution That Will Transform How We Live, Work, and Think
coffee / tea / other
Do you have a guilty pleasure
How would you describe yourself
I’m shy
sendmail / postfix / other
Do you have a hobby outside of FreeBSD
Reading and travelling
What is your favourite TV show
House of Cards
Claim to Fame
I don’t know if I have any. Maintaining 700+ ports and keeping them up to date?
What did you have for breakfast today
What else do you do in the world of FreeBSD
perl@, python@, ruby@ and office@
Any parting words you want to share
It’s great to be part of the FreeBSD community/family.
What is your .sig at the moment

Open Letter to the PC-BSD Community Regarding Upgrading to 10.1

We are aware of an issue where many of you have been experiencing some frustrating issues involving the update to PC-BSD 10.1. While we constantly strive for a stable easy going process with PC-BSD in use and in upgrading, sometimes issues appear that were not prevalent during our testing. We are working on a new upgrade patch that will hopefully solve the upgrade problem for some of you who have still not been able to successfully upgrade to 10.1. What we are planning on doing is incorporating just freebsd-update to handle this upgrade for the kernel and let the packages be installed seperately after the kernel has been upgraded.

Going forward we have some ideas on how we can improve the updating process to give a better end user experience for PC-BSD. Just one idea we’ve been thinking about is giving ourselves a little more time before letting RELEASE updates become available to the public. During the extra time period we can ask some of our more advanced users to go ahead and install the “beta” updates and provide us with feedback if issues come up that we were not able to find during our initial testing of the update. This will also let us examine many more different types of system setups.

We want to thank all of you for being avid PC-BSD supporters and want you to understand we are 100% dedicated to providing the BEST BSD based desktop operating system in the world. Going forward our goal is to provide an upgrade experience that is not only simple, but also has gone through much more rigorous testing by our dedicated community to ensure the quality everyone here is looking for.



AGP support is back

Since the introduction of the Radeon kernel driver, only PCI and PCIe discrete cards were supported. AGP cards owners were out of luck, because I didn’t have neither the time, the knowledge nor the hardware to work on it.

Thanks to the work of Tijl Coosemans (tijl@), both FreeBSD 11-CURRENT and 10-STABLE (ie. what will become 10.2-RELEASE, next year) now support Radeon AGP cards!

He had to add missing APIs to our agp(4) driver. Those functions are required by the TTM memory manager which Tijl modified as well. Like GEM, TTM is a DRM component responsible for:

  • managing system and video memory;
  • moving data between these two memories;
  • mapping and paging data;
  • swapping pages.

Here is what Tijl says:

The Accelerated Graphics Port was the motherboard connector used for graphics cards before PCI Express became popular. Support for Radeon AGP cards in the radeonkms driver has now been ported to FreeBSD and is available in stable/10 and head.

The performance of the agp(4) driver has been improved as well. It regularly flushed all CPU caches to main memory which was a very costly operation.

Heads up for EDGE Users

For those of you running the EDGE package set, be aware that  PKGNG 1.4.0 is just around the corner, and we are updating the PC-BSD EDGE repo to start testing BETA2 of it right now. The packages are building, and should be available in around 24–48 hours.

Also, we found some major bugs in pkg this weekend, which can leave some packages installed, but with their respective files on disk missing. Kris is testing a work-around at the moment, so if you want to avoid some of the churn, it may be wise to wait a few days for this fix and for the dust to settle from the update to pkgng 1.4.0.b2.

If you have already upgraded and have issues with a missing pcbsd-utils,, etc, you can fix your system by running the following commands:

# /usr/sbin/pkg install –fy pcbsd-libsh
# /usr/sbin/pkg install –fy pcbsd-syscache
# /usr/sbin/pkg install –fy life-preserver
# /usr/sbin/pkg install –fy warden
# /usr/sbin/pkg install –fy pbi-manager

If you find any issues, please see if they have been reported yet at, and if not, report the details.

FreeBSD Foundation 2014 Year-End Fundraising Appeal

Dear FreeBSD community,

I'm writing to you today because I know you are passionate about FreeBSD. You care that it's innovative, secure, stable, reliable, well engineered and documented, and loved.

For 14 years, the FreeBSD Foundation has been providing funding and support for the FreeBSD Project and community worldwide. We are fully funded by donations from people like you. That's why I'm excited to tell you that we've kicked off our year-end fundraising campaign!

This has been an exciting time for the Foundation and FreeBSD community. As you may have heard, we kicked off this fundraiser with the largest donation we've ever received. Whether you are a developer, writer, advocate, organizer, user, or investor, this donation is a positive reflection on the work you are doing for FreeBSD.

Our goal for 2014 is not only to raise substantial funds, but also to grow our community investor pool from our current number of 933 donors to over 2000 donors. Last year we had 1732 community investors. Increasing the number of investors will help ensure a stable and consistent funding stream to support FreeBSD over time. This not only helps keep us a public charity, but it shows the world that we have a strong community supporting FreeBSD.

Your investment in the community provides a wide set of opportunities for people worldwide. Thanks to you, individuals have the chance to learn and gain employable skills, work in areas that follow their interests, and be part of an inclusive and welcoming community. Your support also advances FreeBSD so that it is a perfect research and development platform, working everywhere from academia and start-ups, to Fortune 500 companies.

Speaking of gaining employable skills, I have an inspiring story to share with you from Jan Koum, Co-Founder and CEO of WhatsApp. Jan began using FreeBSD in the late 90s, when he didn't have much money and was living in government housing. He said one of the main reasons he got a job at Yahoo! was because they were using FreeBSD, and his involvement with the Project provided the required skills needed for the job. Years later when he co-founded WhatsApp, he used FreeBSD to keep their servers running. He believes that FreeBSD helped lift him out of poverty. To say thank you and shine a light on the work being done by the Foundation and FreeBSD Project, he recently made a $1,000,000 donation.

The story highlights how working with FreeBSD and its positive community environment can lead to great accomplishments. It shows how with enough support, FreeBSD can continue to offer people incredible opportunities that not only can help move people out of poverty, but also assist more startups and companies in creating something successful.

This year your donations helped FreeBSD by:
  • Funding development projects to improve FreeBSD, including: Native iSCSI kernel stack, Updated video console (Newscons), UEFI system boot support, Capsicum component framework, IPv6 support in FreeBSD, Auditdistd improvements for FreeBSD cluster, and adding modern AES modes to OpenCrypto (to support IP/SEC).
  • Providing release engineering support, resulting with on-schedule releases.
  • Sponsoring BSD-related conferences including BSDCan, EuroBSDCon, AsiaBSDCon, NYCBSDCon, MeetBSD, Developer and Vendor Summits, and the Grace Hopper conference to recruit more women to the Project.
  • Providing travel grants to FreeBSD developers and contributors to the above conferences, to provide face-to-face interaction with other FreeBSD people, to work together to solve problems, implement new designs, and learn from each other.
  • Purchasing hardware to build and improve FreeBSD project infrastructure.
  • Educating the public and promoting FreeBSD, including bringing on a full-time marketing person.
  • Funding a new FreeBSD magazine
  • Protecting FreeBSD IP and providing legal support to the Project.
For 2015, we have identified some areas that we want to grow, to increase the impact of FreeBSD on our world. Some of the areas of growth will be:
  • Funding more project development, like improving the binary package build, distribution, and verification mechanism, improving automated testing, and updating development and performance analysis tools.
  • Supporting and improving the FreeBSD security advisory triage, notification and release process.
  • Increasing our FreeBSD marketing efforts.  Efforts include providing more marketing literature to educate people on FreeBSD; recruiting more people to the Project; promoting FreeBSD and The Foundation; helping fundraise; and encouraging more testimonials. This not only includes assisting advocates in the US, but also offering this material in multiple languages to FreeBSD advocates who represent the Project at conferences around the world.
  • Providing resources and travel grants to help get more FreeBSD representatives to conferences around the world to give presentations on FreeBSD.
  • Funding more FreeBSD research projects.
This is an exciting time for the Foundation and FreeBSD. We’ve had huge successes this year and are in a tremendous stage of growth. We need your donations now to help us sustain this growth to better support the FreeBSD Project and community.

Please help us continue and increase our efforts for FreeBSD by making a donation today.

Thank you for your support. We can't do this without you!


Deb Goodkin
Executive Director
The FreeBSD Foundation

Martin Wilke steps down from his duties

Unless you have  been hiding under a  rock for the past ten  years, you have
likely  heard  about  Martin  (miwi@)  Wilke.  Simply  put,  Martin  is  the
developer who contributed  the largest number of commits to  the ports tree:
more than 20,000 commits since 2006!

Unfortunately for us  Martin decided to step down from  duties at FreeBSD in
order to save time for both his growing family and real job. Let us wish him
all the best in his personnal and professional endeavors, and of course, let
us all thank Martin for his tremendous work and commitment to FreeBSD!

64-bit ARM architecture project update

In this month’s project update we will take a look at the ongoing FreeBSD 64-bit ARM port. AArch64 is the official name for the 64-bit ARM architecture, but it is also known as ARMv8 and arm64. The 64-bit ARM architecture is expected to find use in traditional server markets, in contrast to the embedded and mobile markets where 32-bit ARM is widely adopted.

The FreeBSD Foundation is collaborating with ARM, Cavium, Semihalf and Andrew Turner to port FreeBSD to arm64. Cavium is contributing directly to the Foundation, supplying engineering expertise and hardware for the development community. Cavium's ThunderX platform provides a great match for FreeBSD’s strength as a server operating system, and it supports up to 48 cores in a single package. ThunderX will be the initial reference target for this project, but ports to other arm64 platforms are expected later on.

The kernel bring-up portion of the project is nearing completion; FreeBSD/arm64 boots to single-user mode on ARM's reference simulator. Work is underway on the remaining kernel drivers, and on userland support.

This project’s overall goal is to bring FreeBSD/arm64 to a Tier-1 status, including release media and prebuilt package sets. More information about the arm64 port can be found on the FreeBSD wiki at, and the in-progress source tree is available through the FreeBSD Foundation’s GitHub account at

… mmm emulators.

I occasionally get asked to test out FreeBSD/MIPS patches for people, as they don't have physical hardware present. I can understand that - the hardware is cheap and plentiful, but not everyone wants to have a spare access point around just to test out MIPS changes on.

However QEMU does a pretty good job of emulating MIPS if you're just testing out non-hardware patches. There's even instructions on the FreeBSD wiki for how to do this! So I decided to teach my wifi build system about the various QEMU MIPS emulator targets so it can spit out a kernel and mfsroot to use for QEMU.


It turns out that it wasn't all that hard. The main trick was to use qemu-devel, not qemu. There are bugs in the non-development QEMU branch that mean it works great for Linux but not FreeBSD.

The kernel configurations in FreeBSD had bitrotted a little bit (they were missing the random device, for example) but besides that the build, install and QEMU startup just worked. I now have FreeBSD/MIPS of each variety (32 bit, 64 bit, Little-Endian, Big-Endian) running under QEMU and building FreeBSD-HEAD as a basic test.

Next is figuring out how to build gdb to target each of the above and have it speak to the QEMU GDB stub. That should make it very easy to do MIPS platform debugging.

I also hear rumours about this stuff working somewhat for ARM and PPC, so I'll see how hard it is to run QEMU for those platforms and whether FreeBSD will just boot and run on each.

xserver 1.14 update ready

An update to xserver 1.14.7 is ready for testing in our Git xorg-dev repository.

Update: the patch was committed to the Ports tree as of r374982.

Changes since xserver 1.12

The Ports tree currently provides version 1.12. We want to update it to 1.14, the latest branch still supporting Mesa 9.1. Version 1.13 was published in September 2012 and 1.14 was published on March 2013.

The most visible change is the removal of XAA. This is a 2D acceleration method which was deprecated some time ago, in favor of EXA or Intel-specific’s UXA or SNA. For the end user, this means that some drivers (xf86-video-*) are not supported anymore, mostly for older GPUs according to Phoronix. If you encounter this case, please let us know.

Other changes are related to features we don’t support such as DRM PRIME or GPU hotplugging.

Additionally, the new port includes a patch which fixes a crash when a GPU doesn’t have any output connector. The crash was seen on AMD Hybrid Graphics computers for instance. This won’t make the system take advantage of both cards, but at least, the X server will start and use the lower-end GPU.

The “devd” backend

Today, the X.Org server uses HAL (sysutils/hal) by default to detect input devices (ie. keyboards and mices) during startup and handle hotplugged devices. HAL is unmaintained for a long time now and it causes several problems:

  • It often breaks on FreeBSD -CURRENT due to the kernel changing quickly, requiring a rebuild of the port.
  • Configuring a keyboard (eg. the layout) is a nightmare because the user has to mess with barely documented XML files.
  • Unplugging a keyboard leads to all keyboards turned off (think about a USB keyboard attached to a laptop) because it fails to handle keyboards attached to the terminal properly.

A new input device detection backend based on devd(8) was provided with xserver 1.12. But it was considered experimental and disabled by default. With xserver 1.14, the devd backend is mature: it will replace HAL as the default backend.

You’ll have to migrate your keyboard configuration from HAL’s XML files to standard X.Org configuration files. Let’s go through an example.

Take the following HAL keyboard configuration, located in /usr/local/share/hal/fdi/policy/x11-input.xml:

<?xml version="1.0" encoding="ISO-8859-1"?>
<deviceinfo version="0.2">
    <match key="info.capabilities" contains="input.keyboard">
      <merge key="input.xkb.layout" type="string">fr</merge>
      <merge key="input.xkb.variant" type="string">oss</merge>

The same confiuration converted to a standard X.Org file follows. The mouse configuration is included as well.

Section "InputClass"
        Identifier              "Keyboard Defaults"
        Driver                  "keyboard"
        MatchIsKeyboard         "on"
        Option                  "XkbLayout" "fr"
        Option                  "XkbVariant" "oss"

Section "InputClass"
        Identifier              "Mouse Defaults"
        Driver                  "mouse"
        MatchIsPointer          "on"

You can write this configuration snippet in /etc/X11/xorg.conf.d/input.conf (or /usr/local/etc/X11/xorg.conf.d/input.conf). There is no need for a full xorg.conf. Note that the xorg.conf.d directory may not exist, you will need to create it.

Remember that by default, kbdmux(4) is enabled. This means that all hotplugged keyboards are attached to kbdmux and the X.Org server doesn’t “see” them directly: every key events come from the terminal. That’s why you can only select a single global layout for all keyboards in this case. The same is true for mices when you use moused(8).

Removed ports

The following drivers are removed with the update, because they depends on either xserver 1.7 or 1.12:

  • nvidia-driver-71
  • nvidia-driver-96
  • xf86-input-egalax
  • xf86-video-newport

In addition:

  • xf86-video-tga is removed because it is only useful on Alpha, which was dropped with FreeBSD 7.0.

Final removal of WITH_NEW_XORG

The update to 1.14 is the occasion for us to finally drop xserver 1.7 and remove WITH_NEW_XORG from the Ports tree.

What’s next?

We will skip xserver 1.15 and go to the latest release (currently, 1.16) for the next update. However, we can’t do it easily because Mesa 9.2 is required and, unfortunately, this version isn’t compatible with FreeBSD 8.x, 9.x and 10.0.

Lumina Version 0.7.2 Tagged

The next version of the Lumina desktop environment has just been tagged in source! PC-BSD users on the “Edge” package repository should expect to see an updated package available in the next couple days. Please test it out and file bug reports or feature requests as necessary on the PC-BSD bug tracker.

What has changed in this version:

  • Streamline the startup process and Lumina utilities, with many of the utilities now being multi-threaded.
  • Enable login/logout chimes (can be disabled in the lumina-config session settings)
  • New Desktop Plugins:
    • Note Pad:  Take text notes on your desktop
    • Desktop View: Auto-generate icons for everything in the ~/Desktop folder
  • New Utility: “lumina-search“
    • Quickly search for and run applications/files/directories
    • Registered on the system applications menu under “Utilities -> Lumina Search”
    • For new Lumina users, this utility is set to automatically run with the “Alt-F2” keyboard shortcut
  • New Color Schemes:
    • Lumina-[Green, Gold, Purple, Red, Glass] now available out of box (default: Glass)
  • New backend system for registering default applications:
    • Uses mime-types instead of extensions now
    • All lumina utilities have been updated to work with the new system
    • WARNING: Previously registered defaults might not be transferred to the new system, so you may need to re-set your default web browser/email client through lumina-config after updating to the new version.
  • Miscellaneous bug fixes and minor improvements