Monthly Archives: October 2011

Trip Report: Gleb Kurtsou

The next trip report is from Gleb Kurtsou:

Thanks to the FreeBSD Foundation, I was able to attend the Developer Summit and EuroBSDcon'2011. It was my first Developer Summit. Two of my main goals were to popularize PEFS and meet in person people I communicate with via email. FreeBSD developers are all great people and nice to talk to. I only wish I could also meetmy past GSoC mentors at the conference; hopefully I'll be more lucky next time.

PEFS is a kernel level stacked cryptographic file system for FreeBSD. It's been around for a while, but still remains unknown to many FreeBSD users. I gave ashort presentation about PEFS at the DevSummit, outlining its design anddifferences compared to other cryptographic stacked file systems. I had a numberof comments, particularly regarding data authentication in PEFS, so I've startedlooking closer at the issue and have already evaluated various designs. Whatsurprised me is that interest in PEFS has increased after adding PEFS to thelist of talks on the wiki page. Perhaps the outcome of giving the talk could beeven larger than I originally expected.

The DevSummit was both very inspirational and technically useful. I took valuableideas and knowledge from every working group session. The toolchain and bmakegroups discussed some of the issues I've faced myself building and maintaininga project partially based on FreeBSD and reusing its build system: portions ofthe code couldn't be compiled with the base system toolchain, managinginterdependencies, and faster builds. It's encouraging to see the FreeBSD projectsolving these problems right way instead of using homegrown hacks. Capsicum andvirtualization are areas of my interest and closely related to projects I work on.An additional file systems working group would have made this event ideal for me.It looks like a sufficient number of VFS gurus couldn't get to this place at thesame time, so I'm looking forward to attending the next Developer Summit.

Thanks again to the Foundation for its support!

Apple keyboard on FreeBSD

Recently I bought an iBook G4 just for fun and of course installed FreeBSD on it. Installation goes pretty smooth starting with 9.0: I've started with 9.0-BETA3 and later updated to 10-CURRENT. I used it as a toy mostly but on Thursday my main laptop (which also runs FreeBSD, but amd64/8-STABLE) died and I had to use iBook as my main system and some problems became noticable.

There are two annoying problems with Apple keyboards:

1. Function keys (F1, F2, ...) work as they supposed to work only when pressing them with FN key. I rely on virtual desktops a lot and I use Ctrl-Fx to switch between them, so you imagine how annoying is that to use Ctrl-Fn-Fx to switch a desktop.

2. Apple keyboard misses 'Insert' key completely, so you cannot use Ctrl-Insert for pasting, so it's extremely annoying also.

Fortunately, both problems could be easily solved.

Several days ago Nathan Whitehorn ⟨nwhitehorn@) committed a support for dev.akbd.%d.fn_keys_function_as_primary which allows you to configure F-keys behavior. In order to make the keys look as F1,F2,... without pressing FN, execute:
sysctl dev.akbd.0.fn_keys_function_as_primary=1

The Insert key problem could be solved on X level: I've used xmodmap (x11/xmodmap) to remap F11 to Insert, which is a good solution for me because I don't use F11 key and it's located quite close to a place where you'd expect to have 'Insert' key on a typical keyboard.

So I've created ~/.Xmodmap file:
keycode 95 = Insert

And added execution of "xmodmap ~/.Xmodmap" on X session start.

I'm not sure if F11 has keycode 95 on every Apple keyboard, it's easy to figure out keycode using xev (x11/xev).

FreeBSD 9.0-RC1 Available

The first RC build for the FreeBSD-9.0 release cycle is now available. ISO images for the architectures amd64, i386, ia64, powerpc, powerpc64, and sparc64 are available on most of our FreeBSD mirror sites. One of the many new features in 9.0 we would like to be tested is the new installer, so we encourage our users to do fresh installation on test systems. Alternatively, users upgrading existing systems may now do so using the freebsd-update(8) utility.

Trip Report: Niklas Zeising

 The next trip report is from Niklas Zeising:

This year I had the privilege and pleasure to attend EuroBSDcon 2011 and the preceding Developers Summit.  I have had plans to travel to earlier EuroBSDcon conferences, but have never been able to partly because of the cost.  What made this year different was the generous sponsorship from the FreeBSD Foundation which finally made it possible for me to attend EuroBSDcon 2011. My primary reason for attending the conference was to meet and talk to some of the people in the FreeBSD community that I have had contact with over IRC and e-mail.  I was also hoping to be able to contribute to the discussions during the Developer Summit and to listen to the talks and perhaps learn something new.

My travel started in Sweden from where I traveled via Copenhagen to Amsterdam and then on to the conference city, Maarssen.  When I arrived at the hotel, I was just in time to drop my things off in my room and run to the bus to catch up for the Wednesday dinner.

My first day since arriving in Maarssen I attended the FreeBSD Developers Summit, to which I had been invited by Benedict Reuschling.  After arriving at the venue and registering for the conference, the first order of business was eating breakfast, which was served at the venue.  After breakfast and the Developer Summit opening ceremony, I spent the rest of the morning attending the documentation working group.  During this session we had interesting discussions about several topics, including the conversion of the repository to subversion and what was needed to convert the FreeBSD documentation to a more modern markup language.  We also discussed how to get more people involved in the documentation effort and how to make use of all the howtos floating around in the FreeBSD forums and the Internet in general. After lunch I continued the day by attending the Toolchain and Capsicum working groups.  It was very nice to listen to these great minds discussing various aspects of FreeBSD.

The second day started with reports from the different working groups, after which Ulrich Spoerlein led a discussion about using git.  The next topic on the agenda was the vendor discussion.  It was very insightful and interesting to hear from some of the people that use FreeBSD in their commercial and research applications.  I also found it interesting to hear why some companies choose not to use FreeBSD in their IT infrastructure. After lunch, the Developer Summit continued with a discussion on Virtualization. For me it was very interesting to hear about BHyVe, since I was not aware that this project existed.  It is also clear that there still are tasks to work on to make FreeBSD an even more competitive platform in the virtualization market. The developer summit then ended with a brainstorming session on the FreeBSD 10.0 release.

Saturday meant that it was time for the conference proper.  After a very interesting keynote given by Hans van de Looy on the topic of the recent data breach at Diginotar, and other issues regarding IT security, such as trust, I started the day in the hacking lounge where I began working on some of the ideas and suggestions talked about during the documentation working group.  The first talk I attended was about OpenBSD's packet filter, PF, and its history. After lunch I spent the afternoon listening on the devsummit track.  The last talk of the day was by Marshall Kirk McKusick on the topic of BSD history.  I found this talk very funny and it was interesting to hear more about the history of BSD.

The EuroBSDcon social event took place Saturday evening at the railway museum in Utrecht.  I found the museum entertaining and we got a very nice guided tour through the museum.  After the tour, dinner was served in the museum.

Sunday began with a second keynote, this time the topic was reliable systems, which was given by Herbert Bos.  I continued the morning listening to the talk on Capsicum by Robert Watson and BSD Multiplicity by Michael Dexter.  After lunch the Sendmail talk by Eric Allman was on the agenda, which I followed up with the talk on OpenSSH by Damien Miller and ZFS by Brooks Davis.  The day ended with a work in progress session and the closing ceremony.  It was actually a little saddening that the conference was over since I had a very good time.

I am very glad that I went to EuroBSDcon 2011 and really hope that I will be able to go again in the future.  It was very nice to finally be able to meet some of the great persons behind e-mail addresses, commit messages and IRC nicknames and talk to them in person.  I want to thank Benedict Reuschling for talking me into finally going and to the FreeBSD Foundation for giving me the opportunity to attend.  I also want to thank all the other people I met and talked to during the conference and who made me feel right at home.  Last but not least, I want to thank the organizers who made the conference a reality. Hopefully we will see each other next year!

Trip Report: Daichi Goto

The next EuroBSDCon trip report is from Daichi Goto:

Thank you for the great support of my journey to EuroBSDCon 2011 and the FreeBSD DevSummit 2011. It was a great experience. Thank you again.
     
On the first day of the DevSummit, I attended the Ports, Toolchain, and Capsicum working groups. These days, GPL-free toolchains are becoming a big concern between *BSD folks and users not only for business reasons but because they are technically interesting. Many developers and users require GPL-free toolchains and FreeBSD 10 represents a big milestone for that. The working group discussions were very exciting and had a forward-looking attitude.
     
The new idea "Package Set" and the weekly package set release are important for most common FreeBSD users. Come to think of it, developers and advanced users prefer to use the Ports Collection as their package management system, but it's hard for most novice users, lightweight users and enterprise-class managers who just want to run a stable system for their jobs. FreeBSD's current binary package management system is not good for updating as it can result in package update failures. The Package Set and the weekly update mechanism have an advanced potential to solve this issue and provide a more comfortable and easy to use packages update experience.
     
The new security feature "Capsicum" is valuable for all *nix. The working group discussions about Capsicum and FreeBSD have given developers a chance to discuss which libraries, commands and 3rd party applications would benefit from Capsicum. Capsicum will be a default feature from FreeBSD 9.1 and FreeBSD 10 will be the new land of Capsicum security.
     
On the 2nd day, the last session "FreeBSD 10 Thinking" provided me a chance to re-think the design and the implementation of our unionfs. FreeBSD's unionfs was reimplemented to solve some lock issues some years ago and it works very well in most situations. But in some situations, the current unionfs implementation causes a kernel panic because of kernel memory exhaustion. Also, our VFS based multi stackable unionfs implementation has some issues that are very dif�cult to solve. Based on the advice from hrs, we (I and ozawa-san) are re-thinking the design and implementation to improve robustness and reliability, as well as to include some new features such as the dynamic mount layer moves-up or moves-down and non-top layer umount. We are going to brush up our design ideas and try to do experimental developments for FreeBSD 10. I'm pleased to get a good chance at this.
     
The EuroBSDCon 2011 keynotes and sessions have also given me some great inspirations. My thanks goes to the EuroBSDCon 2011 committee members and sponsors. I'm looking forward to seeing all you at the next EuroBSDCon, and of course, if it is possible, I'm looking forward to seeing you at Spring, AsiaBSDCon 2012 in Tokyo. That's during cherry blossom's beautiful season.
     
When I get back to Japan, I am going to write some news and articles about FreeBSD and the conference for some Japanese IT media, including Gihyo.jp FreeBSD Daily Topics, MYCOM Journal, and @IT.. For most common Japanese developers and users, English news sources are hard to understand. My Japanese articles around FreeBSD are very valuable for Japanese users of FreeBSD. Thank you again for the FreeBSD Foundation's travel support.



Trip Report: Marius Strobl

The EuroBSDCon trip reports are starting to arrive and will be posted here. The first report is from Marius Strobl:

The generous sponsorship of the FreeBSD Foundation for the first time allowed me to attend EuroBSDCon'11 as well as the associated Developer Summit in its entirety (so far I could only attend one day of last year's EuroBSDCon Developer Summit). Having the chance to take part in the busdma(9), for which Marcel Moolenaar and myself had a preparatory email conversation, and the bmake working groups on the first day was really helpful. Having done work for the sparc64 port and machine independent network and storage controller drivers, I came across several limitations in the current implementation of busdma(9). Other architectures will benefit from the proposed busdma(9) overhaul. Switching to a bmake based build infrastructure will provide better and optimized cross-compilation of FreeBSD on other operating systems. While this isn't something that I have a direct need for, it will come in handy should the rest of the FreeBSD developers decide to remove the GPL'ed toolchain in the base for all platforms in favor of LLVM/clang, which so far doesn't support 64-bit SPARC v9. The bmake based build infrastructure will provide a backup plan by allowing the use of an external GCC and binutils via its external toolchain support. Surprisingly, there was next to no opposition to the plans of these two working groups. Collaboration on the bmake build infrastructure and busdma(9) overhaul working groups will take place via the FreeBSD Wiki.

The working group presentations and the brainstorming sessions on the second day of the Developer Summit provided a good overview of what's going on and is planned in the FreeBSD project beyond the src base, including the infrastructure and the ports collection. Both the first and the second day of the Developer Summit as well as "day zero" were concluded by nice dinners which allowed one to make contacts with fellow FreeBSD developers, especially doc and ports committers, which I as a src committer otherwise don't have that much contact with, even online.

On the third day of the Developer Summit, which also was the first official day of EuroBSDCon'11, I gave a short talk abouthere. That day was closed by a nice social event at the Utrecht Railway Museum, again giving good opportunities to make contacts with fellow developers.

The second day of EuroBSDCon'11, which no longer hosted Developer Summit events,had some interesting talks, of which the "OpenBSD/sun4v: Porting OpenBSD to Sun's UltraSPARC T1 and T2 processors" by Mark Kettenis turned out to be especially useful as it gave me 2-3 new ideas about how to address integration of sun4v support into FreeBSD/sparc64. A short chat with Mark afterwards yielded helpful advice for adding support for the line of Fujitsu/Oracle Mx000 Enterprise servers to FreeBSD/sparc64.

I'm especially thankful that the Developer Summit and EuroBSDCon'11 for the first time allowed me to meet my former mentor Marcel Moolenaar in person. Other interesting contacts I've made and topics relevant to the FreeBSD project I've talked about with them were:
  • Jonathan Anderson
  • Gavin Atkinson (Solaris binary-compatibility for FreeBSD/sparc64)
  • Baptiste Daroussin (pkgng)
  • Pawel Dawidek (ZFS)
  • Wilko Bulte (donate a dual Sun SCSI-HBA and will try to get me disks for a machine used for package building and for my development machine)
  • Beat Gaetzi (will try to get me UltraSPARC T1/T2 hardware)
  • Justin Gibbs (fixing issues revealed by a recent commit of Kenneth Merry regarding sense residual handling in Justin's ahc(4) and ahd(4) drivers)
  • Alexander Motin (NCQ timeouts with ahci(4))
  • Gabor Pali (seems like I've even managed to catch his cold ...)
  • Daniel Seuffert (will try to get me UltraSPARC T1/T2 and SPARC64 VI/VII hardware)
  • Ed Shouten (thankfully agreed to adapt/fix rp(4) to his TTY-rework if I send him the respective card)
  • Shteryana Shopova
  • Florian Smeets
  • Bjoern Zeeb
While at the conference and during the trips to and from Maarssen I managed to finally commit support for SCHED_ULE to sparc64 and vice versa, which should also provide a tiny performance improvement on other architectures, commit fixes for two PRs, clean up some PHY device driver stuff Warner Losh left behind, fix fallout like the ahc(4)/ahd(4) issue mentioned above in other HBA drivers, port the NetBSD MII bitbang'ing code and convert most of the network device drivers that can take advantage of it to use it, and fix a real bug that is present in 153 device drivers.

All in all, I think it was fruitful for me to attend EuroBSDCon'11 and the associated Developer Summit as a member of the FreeBSD project and community.


FreeBSD’s /rescue directory and system recovery

One of the many neat things FreeBSD uses to increase the operating system's resilience is the /rescue directory which is present by default and contains basic utilities and commands which can be used in case one or more of the default binaries gets corrupted or lost. In fact, binaries in /rescue are also statically linked so they can be used even if a large part of the system fails. Basically, if you have init and a shell (any shell, possibly the one from /rescue; even init is in /rescue) working, you can get your system back.

Read more...

FreeBSD’s /rescue directory and system recovery

One of the many neat things FreeBSD uses to increase the operating system's resilience is the /rescue directory which is present by default and contains basic utilities and commands which can be used in case one or more of the default binaries gets corrupted or lost. In fact, binaries in /rescue are also statically linked so they can be used even if a large part of the system fails. Basically, if you have init and a shell (any shell, possibly the one from /rescue; even init is in /rescue) working, you can get your system back.

Read more...

BSDday Argentina 2011

BSDday Argentina 2011 (http://www.bsdday.org.ar/), Universidad Tecnologica Nacional, Buenos Aires City, Argentina 5 November, 2011. BSDday Argentina is a conference for users, sysadmins and developers of BSD software and BSD based systems. The conference is for anyone developing, deploying and using systems based on FreeBSD, NetBSD, OpenBSD, DragonFly BSD and other BSDs. BSDday Argentina is a technical conference and aims to collect the best technical papers and presentations available to ensure that the latest developments in our open source community are shared with the widest possible audience.