FreeBSD 10.2-BETA1 Available

The first BETA build for the FreeBSD 10.2 release cycle is now available. ISO images for the amd64, armv6, i386, ia64, powerpc, powerpc64 and sparc64 architectures are available on most of our FreeBSD mirror sites.

BSDCan 2015 Trip Report: Shonali Balakrishna

One of the slides at the opening session of the BSDCan conference read, “So many smart people in one room. This is why I attend BSD conferences.” I smiled to myself, and began to soak up the excitement of my first BSD conference. After nine talks and multiple conversations with the aforementioned smart people, I am thoroughly convinced! Not only does a BSD conference have way too many very smart people in one room, but also some of the nicest. You hear about the great work done by the FreeBSD community all the time, but not enough is said of the incredible FreeBSD community and the inspiration it provides.

I came in on 12th June, the first day of the scheduled talks, after a grueling finals week at grad school, and was very sleep deprived, but the excitement and the energy at the conference kept me wide awake. I found each of the nine talks I attended very interesting. It was incredible listening to THE Steven Bourne talk about the creation of the Bourne shell at the plenary, and his many insights and inside stories to do with it. I especially loved the part where he explained how he convinced Dennis Ritchie to inculcate the ‘void’ type into C and his candor about the debugging of shell scripts.

I especially enjoyed the following talks, among the ones I attended:

FreeBSD Operations at LimeLight Networks ­ Content Delivery Networks (CDN) are something that interests me, having had a research component on it at graduate school this year, and to see it in the operations perspective, with their usage of FreeBSD was very interesting. They deploy their own backbone and use FreeBSD on their backbone. For a big CDN, with many data centers, large scale installations of FreeBSD on the edge is an important factor. Such an operations workload requires fluidity in software and configuration changes and what is interesting is that only a handful of people are involved in the design and operations at Limelight Networks, as opposed to the usual model. The usage of FreeBSD allows both of these as you are pulled into the source tree and can get involved in the operations of the system. While deploying FreeBSD, their strategies involve upstreaming everything, using ports, and creating a src team. Tools used by Limelight were discussed, which I found informative ­ Zabbix for monitoring to ensure API driven configuration management, monitoring in test, dev and QA to form an efficient feedback loop, OpenTSDB for storing time series metrics, SaltStack for configuration management using a declarative style where the system takes action based on policy using an orchestration bus, Vagrant for pushing FreeBSD on the edge servers.

CloudABI by Ed Schouten ­ which is a Unix application binary interface which provides capability based security. It extends the concept of Capsicum, by providing a more compact representation with only about 60 system calls. This can be applied to cloud computing environments, instead of using full system virtualization or virtualized namespaces. CloudABI can be used in a far simpler way, with better performance, without complicated configurations, while providing security by controlling access to sockets, files and other resources. This was interesting to me, because it provides a whole new way of creating environments by building on capability based security to provide isolation and resource access control at the process level rather than complete isolation of environments to provide the level of security required.

An Introduction to the Implementation of ZFS by Kirk McKusick ­ This was an interesting talk for more reasons than the fact that it was Kirk McKusick himself talking about ZFS ­ there was also a fire alarm going off in the middle of the talk, followed by the arrival of fire trucks! I loved this talk for the clarity with which Dr. McKusick explained the ZFS block structure and checkpointing and made simple the rather complex concepts like freeing of filesystem and snapshot blocks in ZFS. The closing session hosted by Dan Langille was a lot of fun, and again the awesomeness of the BSD community was on shining display. I also attended the closing party at the nearby Lowertown Brewery, which was fun and a good opportunity for some networking as well.

Through this conference, it was great to finally meet Gavin Atkinson, who was the administrator for all of us GSOC students at FreeBSD last summer. I also got to converse with Diane Bruce, Ed Schouten, Deb Goodkin, Justin Gibbs, David Chisnall among others and every conversation was refreshingly unique in the perspectives it provided me with about the work done at FreeBSD, specific projects in FreeBSD, technology in general, the codebase, ways to contribute to FreeBSD, history, music and other myriad subjects. Ottawa was an incredible city to visit, and is so steeped in history and culture, and I soaked in the museums, art galleries and beautiful hiking trails it provided.

In terms of the work I’d like to do for FreeBSD in the future, besides wrapping up the testing of the BSNMP IPv6 project, I also learnt more about other projects I could potentially contribute to in the future, like further IPv6 support (userland cleanup, unification of ping and ping6, unification of traceroute and traceroute6), improvements to the Bluetooth module, 802.11 improvements and Space Communication Protocol, after exploring these with the people I spoke to. Even though I landed at Ottawa mentally exhausted, I returned completely excited and inspired, with many plans for future contributions to FreeBSD, and so very grateful to the FreeBSD Foundation for having provided me with this opportunity to attend my first (of many more, hopefully) BSDCan.

Shonali Balakrishna

BSDCan 2015 Trip Report: Kamil Czekirda

My trip to Ottawa, Canada was sponsored by The FreeBSD Foundation and took place in June 2015, where I attended FreeBSD devsummit and BSDCan 2015. I would like to thank FreeBSD Foundation for sponsoring my trip, Gavin Atkinson for an invitation to devsummit, and the mentor of my project, Warner Losh, for the meeting.

I arrived to Ottawa on Tuesday evening, I found the residence, checked in and dropped off my luggage. I had to look for a shop and do some shopping. It was too late for lounging about so I stayed for the rest of the day at the residence.

The first day of the Developer Summit / Tutorials for me started with “FreeBSD Storage for Sysadmin” tutorial by Michael W. Lucas. I experienced the jet lag, but it was stronger than I expected... During the brake I met Maciej Pasternacki from my country. Interestingly, Maciej was my neighbor on the plane from Montreal to Ottawa;) After the tutorial I joined the devsummit. My working group was “Designing Universal Configuration Files for FreeBSD” chaired by Allan Jude. There was a very interesting discussion about dividing system utilities for targets to USL­ify and not to ucl. I like the idea “show running config” for single compiled config for the entire system. In the end of the first devsummit / tutorial day we moved to the hacker lounge at the University residence, then during dinner I met Zbigniew Bodek, the third person from Poland at BSDCan.

On the second day of the Developer Summit / Tutorials for me started from the next tutorial about DNSSEC, unfortunately I missed Documentation and ARMv8 working groups, but I couldn’t be everywhere. After the Group Photo I joined the OpenZFS working group.

The main conference started on Friday. It was officially opened by Dan Langille, where Deb Goodkin told about the FreeBSD Foundation. The next step was an amazing keynote by Stephen Bourne about the history of Unix and /bin/sh. After the keynote we finished the devsummit track. Then I attended the Public track, where Kylie Lang explained why Microsoft loves FreeBSD and then Warren Block criticized the installers. The last subject was especially interesting for me, because I worked on installers last summer. During the break I was talking with Warren about profiles for installers. The next talk I've seen, was a legendary “A reimplementation of NetBSD using a MicroKernel” by Andy Tanenbaum, I heard very positive opinions about this talk on Sofia last year.

The lunch break was very productive, except the lunch itself, of course. I found Kris Moore and told him about my patch for freebsd­update. He directed me to Colin Percival and finally with Allan Jude and Nathan Whitehorn supported Xin Li who closed bug 194746 in FreeBSD Bugzilla.

Then there was George Neville-­Neil's talk about measuring network performance. After this talk people tried a cake brought by The FreeBSD Foundation, they were celebrating 15th birthday. Other talks I've seen were from the System Administration track, where Joseph Mingrone explained how scientist use FreeBSD in computation.

And the last one of that day ­ the Olivier Cochard­-Labbé’s talk entitled “Large­ Scale Plug & Play x86 Network Appliance Deployment Over Internet” ­ was one of the most interesting ones for me. There was another event of the day ­ after dinner in the hacker lounge I had a meeting with the mentor of my GSoC project – Warner Losh.

The last day of the conference for me started with the second George Neville-­Neil's presentation about teaching advanced operating systems. I’m a student and it was very interesting how they do it in Cambridge. The next talk was given by Randi Harper about fighting harassment with open source tools. We really need more non­-tech talks on conferences.

After lunch I attended the Daichi Goto’s talk: “FreeBSD for High Density Servers”. Daichi told how people from NEC install thousands of FreeBSD by PXE. The last two talks were about virtualization, the first given by Michael Dexter briefly described virtualization possibilities in FreeBSD, and the other presented by Maciej Pasternacki showed a lightweight virtualization technique based on FreeBSD jails and ZFS. During his talk we had a building evacuation, after which Maciej finished his talk about Jetpack.

I was really surprised by the charity auction that took place in the time of closing session, where Dan gave a great show. I had a great time during the closing party in a brewery in the Market, I’ve tried bacon in maple sauce for the first time.

The last point of the schedule was the Tourist Day, which we started at 10.00 AM, I’ve never seen Ottawa before, so I really enjoyed this short, but very interesting trip. We finished at about 2.00 PM and after dinner I came back and rented a bike for one more trip.

I think that attending the conferences like those is a huge motivation for work for new people. It was a great opportunity to meet people whom I had known only from the Internet. I hope I will be able to participate in devsummits and BSD conferences again in the future.

Kamil Czekirda

BSDCan 2015 Trip Report: Christian Brueffer

For several years now, BSDCan has been known in the FreeBSD universe as the place to be. It features great talks, is attended by many people FreeBSD core developers, some who usually don't make it over to one of the European conferences, as well as the largest FreeBSD developer summit.  In 2010 I was lucky to have the FreeBSD Foundation sponsor my trip to BSDCan.  This year I was fortunate to have the Foundation sponsor my trip again.

I arrived in Canada some time before the conference to see a bit of the country, and to shed any sign of jetlag before the start of the developer summit (a lesson I learned from my previous BSDCan trip).  At the "Goat BoF" the day before the start of the developer summit I met many familiar faces, and was able to meet some people I knew by name but had never met in person before.

The next day was marked the start of the devsummit.  It's hard to find a better place to get things done than in this inspiring atmosphere, single-mindedly focused on FreeBSD. Uninterrupted FreeBSD time is something I usually lack, so I managed to make a progress on a few of my long-standing TODO items, most notably the export of the OpenBSM repository from the FreeBSD Perforce server to git.  The issues this presented on previous attempts were still there, but this time I was able to get it done and, after some more work after the conference, the repository has finally moved to GitHub.  Another thing I explored was using BHyVe as a provider for Vagrant, a popular tool for creating reproducible development environments.

On the second day of the summit, I participated in the documentation working group.  It was great to finally meet some of the most active people in the last few years.  We had a productive day with Warren Block as ring leader, discussing topics ranging from translation, over the doc toolchain, to manpages.  A special treat was the presence of Ingo Schwarze from the OpenBSD project and maintainer of the mandoc package, as well as Ryan Lortie from GNOME. Having outside experiences definitely benefited the discussion.  One of my goals was discussing moving the release documentation from the source repository to the doc repository, to allow us to make corrections after a release.  It was a good discussion, and Hiroki Sato explained some issues I had not considered beforehand.

The conference itself was a fantastic.  It does not happen every day that you have people like Stephen Bourne, Andrew Tanenbaum and Kirk McKusick under the same roof.  There were many great talks, however the most interesting one for me was "Molecular Evolution, Genomic Analysis and FreeBSD", given by Joseph Mingrone.  I'm a graduate student in cancer genomics (the analysis of genetic data from cancer patients), which is a closely related field with many of the same issues and tools.  Biological and medical research is dominated by Linux, with the problem that scientific researchers usually don't write the best and most portable code.  This makes it more difficult to use FreeBSD, as oftentimes one wants to try out software from the latest research paper. Combined with the fact that biological/medical datasets are oftentimes huge, performance really matters, ruling out virtualization.  As it turns out, Joseph had the same experience but found that bhyve appears to have low enough overhead to make this feasible.  My hope is that we can work together to make FreeBSD a better platform for this kind of research.

In the evenings, I spent time in the hacker and doc lounges where the discussions and the work continued.

All in all, the conference and the devsummit were a great success for me.  I learned a lot, and it's always astonishing how seeing the cool stuff other people have been working on motivates me to work on FreeBSD better myself.  Thank you to the FreeBSD Foundation for making this trip possible!

Christian Brueffer

BSDCan 2015 Trip Report: Warren Block

BSDCan 2015

By Warren Block: [email protected]

BSDCan, the large BSD conference in Ottawa, Ontario, was held in June this year.  Each year, it becomes a bigger event.  As in previous years, Andrew Ross was there with the FOSSLC Project, recording the presentations with excellent video and audio quality.  As of this writing, some but not all of the recordings have made it to YouTube, and links are included for the ones that are known.

Developer Summit
A FreeBSD developer summit is usually held in the two days prior to the conference itself.  The summit gives developers a chance to plan projects and present ideas to other developers in person.

I was lucky enough to give the documentation working group's presentation.  There is always concern about whether enough people will be interested in any given topic to make the meeting worthwhile.  That turned out not only not to be a problem, but we actually had extra people show up.  Better yet, they were all enthusiastic and interested.

We talked about revamping our translation system and tuning the documentation toolchain, possibly asking for help from the Foundation to do that.

Another major point was encouraging people to contribute to the documentation, and lowering the barriers to make such contributions easier.  Live demonstrations are the computer equivalent of "Hold my beer and watch this!", yet I managed to show how Annotator ( could be used to let people review and comment on our documents without having to know any of the complex markup languages.  Help is still needed with porting a Storage component for this, please contact me if you are interested.

The FreeBSD wiki is underused, and we talked about ways to allow more people to contribute there without lowering our standards of quality.  I actually forgot to mention my idea about that, where new wiki contributions would automatically generate reviews at  Either a special group of wiki reviewers or any committer could approve them, spreading the load.

Another big issue was the website.  Almost everyone agrees it needs to be updated.  Where they disagree is the is the issue of how. The Foundation has updated their site recently, and might offer help with ours.

We had a total of three hours for the documentation working group, used all of it, and could have used more.

Doc Lounge
On nights after the developer summit and BSDCan, the FreeBSD documentation group holds an informal session where people can gather and learn about or work on documentation.  We usually have a few short presentations and try to provide one-on-one time for attendees to talk with documentation committers.  The trick is trying to work with all the people who show up.  The doc committers are usually outnumbered, but people are always incredibly patient.

Only a few of the talks will be highlighted here, but go watch all of them online.  Really.

The keynote presentation was Stephen Bourne's excellent talk on sh.  It gave an inside view of software design within the limitations of available hardware.  Along with that were some insights on things that might have been done differently in hindsight, or not at all.

The opening session ran somewhat long, and there was some confusion on schedules for the rest of the day.  I gave a second presentation, called "Thinking About Installers: Discord and Happiness" about how a different view of installers could make the job of installing FreeBSD much easier, regardless of the amount of customization needed on the target system.  Despite the schedule confusion and this talk not even being listed by name on the program, it was surprisingly well-attended. Some of that was certainly due to Kylie Lang's preceding talk about FreeBSD on Hyper-V and Azure.  Still, the attendees were interested, asked good questions, and offered suggestions.

In the afternoon, Ryan Lortie of the Gnome project talked about jhbuild. Gnome has recently included FreeBSD as a supported platform, and this is their method of continuous testing and building.  Initially met with not much interest, the interaction and cooperation has grown and benefitted both projects.

Later in the afternoon, Joseph Mingrone showed the use of FreeBSD clusters for genomic analysis. The application of clusters to this high-end scientific project was interesting, and combining it with down-to-earth sysadmin problems made for a unique presentation.

On the second day of talks, Kris Moore talked about shifting the PC-BSD management utilities to web applications.  That was interesting, but then it got even more interesting when he described background updates, which make it possible to upgrade a machine transparently while in use. This builds on the concept of ZFS boot environments, and has serious advantages for end-user desktop systems.

Baptiste Daroussin gave a fascinating talk about packaging the base system.  This will be a big step forward in being able to install and customize FreeBSD systems quickly and easily. People have been concerned about how this change might affect users, but the audience was very receptive and the talk anticipated and answered those concerns. One of my former mentors, FreeBSD Release Engineer Glen Barber, even spoke one short sentence into a microphone, probably breaking his previous record.

Later that day, Sevan Janiyan (who we met last year at the doc lounge) had a very interesting talk about building pkgsrc applications in unusual environments.  pkgsrc is NetBSD's equivalent to ports, and he took that tree and attempted to just get it to build on numerous Unix variants and architectures.  Even just trying to build the tree without succeeding caught bugs, often serious ones in the host systems.  And that was from just trying to build the tree, not get the applications to run afterwards.  Several of the talks this year pointed out how revealing testing could be, even trivial testing.  Testing is good.  We need more of it.

During this talk, we had our second schedule confusion.  A fire alarm went off, and we had to evacuate the build for a short break.  It turned out that someone had overheated something in a microwave on one of the higher floors (my guess is microwave popcorn, the bane of office workers everywhere).  After the fire department left, we resumed the talks.

The closing talks and charity auction were somewhat rushed, but still great. The closing party at the nearby Lowertown Brewery was excellent. These informal events are great for meeting people that were only known by their email addresses previously.

The FreeBSD Foundation
The Foundation always has a table set up during BSDCan.  They are too shy and polite to collar people walking by and ask them to help support FreeBSD with a donation.  Unless you go to one of their talks, you might not even know that individual contributors are needed to show the auditors that the Foundation is community-supported, and even small donations increase the contributor count.  If you see them at a conference, stop and talk to them.  Make a small donation, or a large one if you prefer.  Many FreeBSD improvements have been possible solely because of the Foundation's support.  They continue to grow by adding good people.  This year, they announced that Benedict Reuschling, my other mentor, has joined the board.

BSDCan is not what most people expect.  It is not a boring computer conference.  Sure, there are presentations and talks and the standard conference stuff.  But this is a place where BSD nerds are the norm, not the exception; where the other people there speak your language, share and understand your problems, and know that you understand theirs.  It is a feeling of family, a chance to share and solve problems, and gather inspiration for the rest of the year.

My thanks to the FreeBSD Foundation for making it possible to attend BSDCan, to Dan Langille for creating and running BSDCan, and to Dru Lavigne for always being there.

FreeBSD Foundation Welcomes New Board Member – Benedict Reuschling

During BSDCan, the FreeBSD Foundation welcomed Benedict Reuschling to the Board of Directors.

We sat down with Benedict to find out more about his background and what brought him to the Foundation. Please take a moment to see what he has to say and join us in welcoming him to the board!

Tell us a little about yourself, and how you got involved with FreeBSD?

I've been a FreeBSD user since 5.2.1-RELEASE and became a committer for the doc tree in 2010. I'm also a proctor for the BSD Certification Group.

During my undergraduate studies in computer science, I tried out many different Linux distributions. One day, I came across a FreeBSD Live-CD called FreeSBIE. I booted it and was intrigued by how quickly one could switch between terminals on the command line, whereas in all previous distros I saw, this had a noticeable delay. My thought was that if it is already faster on a Live-CD, how would it be when I actually install the system? So, I tried it on my desktop at home in a dual boot setup together with the Linux distro that I had been using. I learned more about FreeBSD by devouring the FreeBSD handbook, blog posts and lurking on mailing lists.

After a while, I realized that I had spent more time in the FreeBSD system than in my Linux partition. So, I decided one day to install FreeBSD as my only operating system and it has been with me ever since. Though I was a FreeBSD user now, I still was not interacting with the FreeBSD community.

That changed one day while being bored writing my master thesis. I read a blog post that the FreeBSD German Documentation team was looking for volunteers. I offered to help translate FreeBSD's documentation into german and was welcomed by the only person (and later mentor, jkois@) maintaining it at the time. I learned how to make changes to the documentation set, commit changes and sending emails back and forth to my mentor, who patiently explained everything. I spent a lot of time on it, which is not something I would recommend doing while writing your thesis (kids, don't try this yourselves). However, things worked out well. Not only did I finish my thesis on time and became  a committer in the FreeBSD project, but luck would have it that EuroBSDcon was held in Karlsruhe, Germany that year. I took this opportunity to meet the people who I had only known by their postings on mailing lists. So I went to my first BSD conference and met a lot of nice BSD people there. That was a great experience and I became even more involved in the BSD community. It's been an exciting time and I look forward to what the future brings for FreeBSD. Helping to shape that future through my involvement in the FreeBSD Foundation is equally exciting.

Why are you passionate about serving on the FreeBSD Foundation Board?

The FreeBSD Foundation is a group of dedicated individuals with different backgrounds working together to serve the FreeBSD community. Their diverse set of skills and personalities are, in my opinion, a direct reflection of what the FreeBSD Project is as a whole. Everyone has something to contribute and the community is welcoming and helpful. The FreeBSD Foundation has enabled great things in the past and I hope my contributions as a board member will help continue and increase them further. The most exciting thing for me is that all members of the FreeBSD Foundation are friendly and open-minded people who listen to the problems in the community and look for ways to help. Standing on the shoulders of giants is a phrase that is often used in open source circles. There are a number of ways to get there, but in my opinion the most effective way is when the giant reaches down and helps you get up there. Enabling more people to contribute to the Project is one thing I'd like to help with in my role as member of the Board.

What excited you about our work?

During many conferences, I saw first hand how the Foundation has made it possible for people involved in FreeBSD to meet in person that would otherwise not have had that chance. For example, by providing travel grants to individuals who would not be able to afford going to BSD conferences. Although a lot of interaction is done via online mailing lists and IRC, nothing beats the face to face communication. Not only to discuss difficult problems that contributors and committers alike are working on, but also hanging out together as a group. I've seen many community members form real friendships. It's also nice to see when mentors and mentees meet for the first time. Once the right people are in the room, things start to happen and change, sometimes dramatically fast. Consensus is reached on finding the right solution to a problem, code is being written, activities are coordinated and new plans are made. This would not have happened if the FreeBSD Foundation had not sponsored that BSD conference financially or provided travel grants.   Reading about all of the experiences that conference attendees have had in the trip reports that are published afterwards on the Foundation's blog is very satisfying for me.

The Foundation is also doing work that may seem tedious and boring,  but needs doing anyway because they're important. Things like paperwork, financial planning and oversight, community management, legal issues, organizing meetings, and marketing and outreach are crucial to help for the Project to sustain and grow. The work that the Foundation does in dealing with that sort of bureaucracy is freeing developers from doing these tasks themselves and allows them to focus on their own work moving the Project forward.

Plus, the Foundation is spending money on infrastructure for the Project such as buying and setting up new build machines, as well as hiring people to support FreeBSD in areas like release engineering, marketing, and project development. Last, but certainly not least, I'm excited what kind of businesses are donating to the FreeBSD Foundation and what industry contacts they have formed over the years. The Foundation is a good bridge for companies and the Project by not directly influencing the Project's direction, but helping to steer it towards mutually beneficial goals.

What are you hoping to bring to the organization and the community through your new leadership role?

My skills include mentoring people into the project. I also have teaching experience in academia and giving talks at open source conferences. These skills tie into the activities of my fellow board members and will be expanded through me by covering more parts of Europe. Representing the Foundation at European conferences and events, telling people about FreeBSD, its features and community, is something I look forward to in my new role. Another thing I'm interested in is reaching out to new users, regardless of whether they via a company, academia, or individuals.

Many people think that it is difficult to contribute something to an open source project. In my opinion, having a will to learn and motivation are the best factors for anyone to bring something to the table. My mentoring experiences have shown me how easy it is for people to add value once they find something they like doing. I saw many of my mentees take on more responsibilities in the Project over time and learn new things I could not have taught them. By serving on the Board, I hope to enable more people to give something back to FreeBSD and experience the benefits it can have to contribute.

How do you see your background and experience complementing the current board? 

My background with computer science and academia, as well as the work I’ve done with documentation is a good addition to the members of the Board who are already engaged in these areas. But these are not my only skills, and over time, new areas of interest will develop. I enjoy learning new things, but I also like teaching the things I know to others. In fact, this is one of the things I like about FreeBSD. With the regular influx of new features, constant learning is something that you want to do, rather than being forced to. Hence, I look forward to learning as much from my fellow Foundation members as I do to sharing with them my ideas, viewpoints and motivation.

10.2-PRE-RELEASE and 11.0-CURRENT Images Available for Testing

The PC-BSD project is pleased to announce the availability of two new testing images: 10.2-PRERELEASE and 11.0-CURRENTJULY2015.

WARNING: These images are considered “bleeding-edge” and should be treated as such.

The DVD/USB ISO files can now be downloaded from the following URLs:

This is a great way to test features and report bugs well before the release cycle begins for the next major releases.

To report bugs in PC-BSD, use

To report FreeBSD / Port / Kernel / World bugs, use

To update from 10.1-RELEASE:

# pc-updatemanager chbranch 10.2-RELEASE
# pc-updatemanager chbranch 11.0-CURRENTJULY2015

This process will take a while, downloading new packages / world / kernel for the system. When done you can reboot, and the updater will finish up the update process.

BSDCan 2015 Trip Report: Zbigniew Bodek

Thanks to the FreeBSD Foundation and Semihalf I was able to attend FreeBSD DevSummit and BSDCan this year (2015).

After a relatively long flight I finally arrived to Ottawa airport. On the spot I started noticing familiar faces and BSD logos here and there (we had plenty of time to stare while waiting in a huge line to immigration). BTW. Don’t ever forget your FreeBSD T-shirt and/or cap when attending BSD conference. They make you glow in the dark for other BSD-geeks so if you don’t have any - buy one.

The Developer Summit started on Wednesday morning with an interesting presentation by Nathan Dautenhahn about the nested kernel - just right to set up the “technical conference” mood. My main goal that day was to attend to a working group related to clocks and power domains in FreeBSD and meet up with guys working on ARMv8 project. And so after months of remote cooperation I was able to talk face to face to Andrew Wafaa (from ARM Ltd.), Ed Maste (from The FreeBSD Foundation) and Andrew Turner (from ABT Systems). Most of us went to ‘Clock and Power Domains’ session where we met with (i.a.) Justin Hibbits and John Baldwin - engineers who really knew what they were talking about. During the discussion I got acquainted with the general demands of the contemporary industry for the energy efficient systems, the ideas that ARM Ltd. recently developed for ARM architecture to prevail in these areas and what could we do to make FreeBSD keep up with the upcoming standards. The brainstorm was quite fruitful and some initial plan and goals for future work were established.

During the dinner on the same day I had a chance to have some less official conversations related to Semihalf’s part of the ARM64 support and an opportunity to perform few test runs of the FreeBSD on Cavium’s Thunder-X that I was supposed to present the following day.

The ARMv8 working group was scheduled for the second day of the DevSummit. That day I met with Larry Wikelius from Cavium from whom I got some feedback of Semihalf’s work so far. He also brought two Thunder-X based boards (or should I say beasts) that served as main attraction and photo/selfie spots. The session was lead by Andrew Wafaa and was one of the most populated working groups this year. We discussed the whole spectrum of topics starting with the current ARMv8 port state through problems that we may encounter when scaling to multiple cores, we talked about packages building, QEMU and future work around the power management, virtualization and etc. Semihalf’s presentation of the FreeBSD on Thunder-X was scheduled for the second part of the working group. The Thunder-X server board was located in Semihalf’s lab in Krakow and I was able to connect to it remotely. Thanks to my colleagues in Poland the board was up and running and all the necessary loader and kernel binaries were in place. It is truly a rare view of so many cores, that they barely fit in top(1) window :).

The main conference was held on Friday and Saturday. The opening lecture was given by famous Steve Bourne, the author of sh (the number of attendees was way above the capacity of the auditorium). Of course there were also some presentations on embedded and hacking tracks that drew my attention. Undoubtedly FreeBSD on ARMv8 (presented by Andrew Turner) was high on my list. The interest in the topic was quite high and after Andrew’s lecture we had some more discussions at which I met (i.a.) Julien Grall from Citrix who works on Xen for ARM and is interested in FreeBSD Xen support for ARMv8.

The DevSummit and conference gave me the opportunity to share Semihalf’s work on ARMv8 with the BSD community, exchange experience and gather other people’s feedback.

Zbigniew Bodek
Software Engineer in Semihalf

BSDCan 2015 Trip Report: Vsevolod Stakhov

During the BSDCan 2015 conference, I have attended the FreeBSD developers summit. I was particularly interested in the track called "Designing Universal Configuration Files for FreeBSD". As I'm the author of the library that was discussed,  I did a talk about library internals and discussed some open questions with Jonathan Anderson, David Chisnall and Allan Jude. We have planned some proposal changes, the interaction with libnv and casper and the following integration of UCL into FreeBSD base system. We have also discussed the desired features and Jonathan suggested a reasonable approach to implement missing ones.

Moreover, during the conference I have finished the feature of flexible dependencies in `pkg'. We have discussed this feature among all pkg developers that were also on BSDCan (namely, bapt@, matthew@ and bdrewery@). I've proposed my view of the future packages dependencies that would resolve the vast majority of the current issues with dependencies and upgrades. I'm going to write a detailed report about this feature to the pkg@ mailing list (I was just too busy with other tasks after the conference).

Another question we've discussed was the problem of digital signatures for packages and distributions. We have concluded that moving from RSA to ed25519 algorithm would simplify pkg architecture by avoiding linking to openssl (which is quite complicated for all openssl versions supported).

Further, after Ted Uagnst presentation I have a conversation with him and John-Mark Gourney (jmg@) about digital signatures formats, compatibility with OpenBSD signify tool and packages signing questions including the ways of how to verify signatures of untrusted sources with potentially malleable signing algorithms.

Afterwards, I've talked with Colin Percival (cpersiva@) asking for his comments about streamlined signatures scheme proposed by D.J. Bernstein. He agreed that this scheme might work securely providing a more convenient users' tool for digital signatures verification and creation.

Among other topics, I have discussed cryptography and security with John-Mark Gourney. We have also talked about '/dev/random' and fortuna upcoming patch. We discussed numerous topics about FreeBSD packages and pkg tool in particular with Baptiste Daroussin, Bryan Drewery and Matthew Seaman.

I have also extracted a lot of valuable information from BSDCan topics, namely from 'CloudABI' given by Ed Schouten and 'Protecting FreeBSD with Secure Virtual Architecture' given by John Criswell.

I'd like to thank the FreeBSD Foundation for giving me the possibility to attend the BSDCan 2015!

RTL-SDR on FreeBSD, or "hey, cool, I live near an airport, I wonder if ADSB works.."

I bought one of those cheap RTL-SDR units a few months ago. There's no real kernel code required for it - all of the rtl-sdr code just uses the generic USB userland API which is shared between many operating systems.

So, getting it going was pretty easy:

# pkg install rtl-sdr

Then, using it to test ADSB is pretty easy:

# rtl_adsb -V -S 

.. this is verbose and listens to short packets.

Where I live (near San Jose Airport!) I receive a lot of ADSB transmissions. It's quite interesting.

Ok, so next - what about something more GUI like? Someone's already done it - . There's already a package for it:

# pkg install dump1090
# dump1090 --net --aggressive

Then, point a webserver at http://localhost:8080/ and watch!

PC-BSD Documentation can now be Translated Using Pootle

Kris has finished integrating the source files for the PC-BSD Handbook documentation into Pootle, meaning that translators can now use their web browser to translate the Handbook into their native language. As translations are completed, we’ll make sure that the build server generates HTML copies and includes them in /usr/local/share/pcbsd/doc/html (right away for EDGE users and with the next release for PRODUCTION users).

To translate the documentation, go to, click the “All Projects” drop-down menu, and select “PC-BSD Handbook”. You can then click the link for the language to translate. Currently, German and French are available. If you want to translate to a different language, send an email to the translations mailing list and request that it be added.

When translating the documentation, be aware of the following:

  • At this time, some formatting tags are still displayed in raw text, as seen in the examples in Figures 1 and 2. It is IMPORTANT that you do not accidently remove the formatting as this can break the documentation build for that language. In the first example, it is OK to translate the phrase “Using the Text Installer” but care must be taken to not accidently remove any of the surrounding colons and backticks, or to change the text of the “ref” tag. In the second example, the asterisks are used to bold the word “install”. It is OK to translate “install”, but do not remove the asterisks.

Figure 1: Do Not Remove Formatting Characters






Figure 2: Another Formatting Characters Example






If you have any questions on how to use Pootle, have suggestions on how to streamline the translation process, or find any gotchas when translating, please send them to the translations mailing list so that the developers and other translators are aware of them.

BSDCan 2015 Trip Report: Ahmed Kamal

I come from Cairo, Egypt, and this was my very first BSD conference! Needless to say, it was a blast! It was said many times during the conference, and I believe it to be true, so here it is again. “I’m here because so many people smarter than me are here!”. My flight landed on the 11th, time since I left home was roughly 18 hours, it was a couple of long flights. I seriously should have been tired but the excitement was keeping me awake. I took a walk around the city for a couple of hours to freshen up. Li-Wen Hsu joined me for the walk. We had an interesting discussion about jenkins, documentation, ways to contribute to BSD. We also had an interesting discussion about CJK languages, and their special needs. Most of that was new to me, although arabic script is complex too, and can get quite wild!! Afterwards I went back to the campus, I joined a documentation session. It was a kickoff to how the freebsd handbook and similar documentation were written. I learnt some useful tricks which I know I will probably put to use soon contributing some documentation. At roughly 21:00 my eyes turned red, and body was calling on me to go to sleep. I decided to sleep early and be fresh on day-1 of the conference!

Day one began with excitement .. The plenary was just inspiring! I was made aware of multiple new projects where BSD is helping the world. The idea of building “OS Coursework” for university level studies was quite interesting to me. The opening keynote also included legendary Steven Bourne (of /bin/sh fame!) explaining how it all started. He even showed annotated unix source code printed on paper. His quotes included “Took 2 years to get shell quoting straight, and I'm not sure it's straight now” and about “shell shock” he mentioned he didn’t write that code :) The next session for me was “Embedded FreeBSD Development and Package Building via QEMU”. This is an interesting topic about cross compiling packages for embedded devices using the power of Qemu. Qemu began as a JIT translation engine, later the PC hardware was added and now it can be used to build packages for say ARM platforms. The speaker mentioned the flow should hopefully soon work on Apple hardware.

The next big talk to me, was “A reimplementation of NetBSD using a MicroKernel” by Andrew Tanenbaum. It was quite exciting to watch prof Andrew describe his work on micro-kernels and how he’s rebuilding netbsd-3 through the microkernel approach. The basic idea is to separate IO devices, so that for example a random driver (like an audio driver), is no longer running with unlimited powers on your machine. Such a driver can no longer write to disk as it should(n’t). Also the idea is to Isolate communication, restrict kernel calls on a per kernel component basis. This protection can be enforced by the MMU. Various user-mode servers provide the needed services to applications. This includes VFS, Process manager, Memory manager, .. etc. The Reincarnation server is the parent of all drivers and servers. When a driver or server dies, RS collects it. Checks the kernel config table and restarts it. For improving IPC reliability in the new kernel, fixed length messages are used everywhere to avoid potential buffer overflows. In contrast to modern OSs, “drivers” are basically untrusted code! heavily isolated. Cannot touch kernel data structures. Andy mentioned how Infinite loops are detected, and how the driver is appropriately restarted if hung. Andy later described a fault injection experiment where his team injected 800,000 faults on binary drivers, the sequence was 100 faults injected, wait 1s and the drivers crashed 18,000 times, but never crashed the OS. Kernel reliability “proven” to me! In order to port Minix3 to ARM platform, various things needed to be done like (added uBoot support, rewrote context switching, removed x86 segmentation code, imported netbsd arm headers, ported for cross toolchain, wrote drivers for sdcard!). Things to do include adding crucial missing system calls, port more pkgs (java, browsers...), get it running on raspi, port rump! Minix-3 is a microkernel reimplementation of netbsd, which was primarily motivated by providing that microkernels can be practical OSs that have lots of applications on top. It has proven that drivers belong in user-mode. Future features Andy’s team is working on include live kernel patching which he described how it should work. Upgrade os and change data structures in a live way, without restarting the running processes! This was one hell of a talk, it was very dense and packed with information

The next talk was “Measure Twice, Code Once. Network Performance Analysis for FreeBSD” by George Neville-Neil. George discussed performance of the network under FreeBSD. This is critical for supporting modern 10G ethernet networks. He introduced the conductor python framework he wrote to perform the testing. He joked about how others always say “Yeah, we have something similar that we’re not yet ready to release”. George showed performance graphs from various systems such as pfsense, freebsd, openbsd pf and Linux’s iptables. Various interesting and yet unanswered questions were revealed such as “Why is pfsense much faster” than FreeBSD on which it is based! What kind of patches went into pfsense to get that effect. Also it was found that iptables offers much better scalability for multi-core performance. Obviously iptables has been tuned for SMP performance, but this necessitates the question of why it is much more scalable. And how the BSDs can improve their packet filters. George mentioned that this is only the beginning. Those questions need a lot of work to be answered.

My next session was “Molecular Evolution, Genomic Analysis and FreeBSD” by Joseph Mingrone. The session was in the sysadmin track, something I can easily relate to. Joseph runs a freebsd based cluster for molecular evolution analysis at his university. Joseph began by giving an introduction to genomics, something way outside my comfort zone. It’s always fun to me whenever I discover new worlds like that :) He moved on to explain the IT infrastructure powering his clusters and how they moved from Solaris to FreeBSD 7.x and now at FreeBSD 10.1. He explained how he had a hard time just installing FreeBSD where sometimes the machines would just “eat” the CDs (yes they’re still in there many years later :) He currently uses Poudriere, enjoys ZFS on the storage server and NFS mounts that on the compute nodes.

The next session was “FreeBSD on ARMv8” by Andrew Turner. It was great see’ing the kind of effort that goes into supporting ARMv8. Everything we sort of take for granted like pagetables, MMU, enabling virtual addressing, calling into C code ...etc was being made to work step by step. Later-on pmap support was added, then it was possible to use a 4MB in kernel filesystem. Afterwards on it was possible to expand this storage area. Now it was time to play with the dynamic linker. After that, it was time to add ThunderX support (bus dma, ITS, …) Future work includes (ACPI, hw-pmc, dtrace, gem5). This was an advanced but certainly fun and educational session.

Day-2 now begins with a very interesting session “CloudABI: Cloud computing meets fine-grained capabilities” by Ed Schouten. The overall goal is to improve Unix security and portability. For example, a web server should only read files and write to network, but in reality it can do a lot more! (run a bitcoin miner, install cronjobs that call binaries in /tmp..etc) .. Problem #2, running a 3rd party application, whether running them directly or thru jails/docker is not really safe, a VM might be acceptable though! Problem 3 is that UNIX programs are hard to reuse and test as a whole. The idea is to extract sockets and file systems from being embedded inside the program to being passed as an argument. This allows better flexibility and testability! Then he discussed capsicum, how an app can call the kernel and tell it to “lock me up”! I no longer need to access new resources. Capsicum is awesome, works well .. however it doesn’t scale! There is no guidance when something doesn’t work. With CloudABI a cloud provider can simply promise to run customers’ applications, pass those applications specific file descriptors and leave the app to do what it wants without touching any other part of the app! Cloudlibc is a C library built on top of the low level API Goal is 90% POSIX compliant! You get compiler errors when using unsupported functions.

After that is a session I was waiting for, “New OpenZFS features supporting remote replication” by Matt Ahrens. I have a soft spot for ZFS :) Matt started by giving an introduction to zfs send and receive and why it rocks! Only parts of the ZFS trees modified “after” the time we are sending from, need to be read! The more interesting part Matt discussed is what are the unique features to OpenZFS. This includes send stream size estimation and monitor its progress! Big receive improvements like receiving file with holes in them. Another cool thing added is bookmarks. This allows free’ing data on the sending side by deleting the relevant snapshot, and really only keep a bookmark to it. Now the really cool part is the new stuff. Resumable send and receive, hell yes! Another cool new feature, is a new checksum has been added per every record. As opposed to the old state of sending one checksum at the end of the stream. If a bad checksum is hit, ZFS receive aborts, and naturally you can resume it later! One last new feature, is receive performance improvements. In a benchmark, Matt said it improved performance by 6x which is great!

The next was “Multipath TCP for FreeBSD” by Nigel Williams. This one got me really excited! Part of that is that I knew very little previously about mptcp before. This got me too excited that I kept googling for more mptcp info all day and after the conference. Nigel explained mptcp design, and how it was done the way it is to work with the how the Internet is, as it is today. That is to work with  current middleboxes and NAT functions. MPTCP handshake piggybacks on top of the 3 way regular handshake. The two sides negotiate mptcp then the server informs client of other addresses it is reachable over and new sub connections are started. To me this is sort of the holy grail of WAN networking. A single TCP connection spanning multiple links for performance and redundancy, wow! I guess we’ll all just need to wait some more till the kernel implementations are more mature.

Next was “Packaging FreeBSD base system” by Baptiste Daroussin. He discussed packaging the base through pkgng and the challenges faced. I’m not really much of a packaging person, so it was good to hear many details that need to be take into account. Next up was “An Introduction to the Implementation of ZFS” by Kirk McKusick. If someone could make you appreciate the complexity of ZFS and operating system concepts it’s McKusick! He contrasted various filesystem features as they existed in UFS, and how ZFS is different. There was sort of a fire incident in the middle of the talk, we had to go to the street and then be back to continue. However overall it was an enjoyable session. The closing talk by “Dan Langille” was so much fun. The stats, the growth in the community, and even the goodbye auction were all something I won’t forget. Thanks to everyone who helped make BSDCan 2015 as fun, informative and enjoyable as it was to me.

Ahmed Kamal

BSDCan 2015 Trip Report: Steven Douglas

With the Foundation's help, I was able to meet and network with new people. Where I live, there are only a handful of people that even know what BSD is, let alone can talk at a high level about it. That was one of my favorite things, being around like minded people. I made many new contacts, most notably Peter Toth. Peter is working on iocage, which is a modern jail management utility with some very impressive features. In speaking with Peter, I met Sean Chittenden from Groupon. Sean is looking to perhaps implement iocage in conjunction with a new orchestration software that he is testing. Other than the social aspect, I also got some much needed help with my GSOC project.

At the conference, there were opportunities to learn every hour of every day. An expert in a field is never more than arm's reach away. It is very helpful to have questions that can be answered by the people who wrote the code. All of the talks I went to were absolutely fantastic, and I can't wait to watch the ones I missed when they are posted. My favorite talks were Steven Bourne's talk about his past, Matt Ahren's talk about code flow between our community and OpenZFS, and Multipath TCP by Nigel Williams. The speaker's all did fantastic jobs, and I hope that I am able to speak in the future.

This was my first BSDCan, and first BSD conference. I enjoyed every minute of it, and it happened so quickly. I hope to be back to BSDCan next year, and hope to make it VBSDCon and EuroBSDCon. Thank you to the Foundation for the financial assistance to help get me there!

Steven Douglas