If you’re interested in participating in the annual Google Summer of Code, these are some FreeBSD related ideas which FreeBSD community suggested to work on during the Summer: FreeBSD Google Summer of Code 2014
In this post we have a mix of news snippets, links to howtos, projects, resources and software/package updates collated over the last two weeks. Just a round-up of those miscellaneous FreeBSD related links you may find interesting.
Jailing FreeBSD 4 on FreeBSD 10
michaelwlucas.com - 02 Jan 2014
NYCBSDCon 2014 interview with Brian Callahan and Ike Levy
BSD Talk Interview with Brian Callahan and Ike Levy about the upcoming NYCBSDCon.
BSD Talk – 21 December 2013
FreeBSD Foundation Announces Capsicum Integration Project Completion
The Google Open Source Programs Office and the FreeBSD Foundation jointly sponsored Pawe? Jakub Dawidek for this project.
FreeBSD Foundation Blog – 17 December 2013
Shop at the pfSense store
MEGACORE: iXsystems’ monster
ixsystems.com – 27 December 2013
Massively upgraded FreeBSD 10 to be released next week
Infoworld – 03 January 2014
McKusick denies FreeBSD lagging on security
itwire.com – 06 January 2014
ArchBSD new ISO available
archbsd.net – 25 December 2013
It was announced last month that iXsystems will be hosting the 20 year FreeBSD Anniversary Celebrations, but now we have more details.
20 years ago, Nate Williams, Rod Grimes, and Jordan Hubbard came together to turn their 386BSD patchkit into something greater. David Greenman gave their combined efforts a name.
Today, FreeBSD is the stable, powerful operating system they dreamed of and people all around the world come together to make it better every day.
In honour of its users, administrators, developers, and advocates, iXsystems invites you to FreeBSD’s 20th Anniversary Celebration being held Saturday, November 2, 2013 at the DNA Lounge in San Francisco! Festivities will begin at 6 pm, during which time we’ll have exclusive access to the upstairs area of the club. At 9 pm doors will be opened to the public, who will join us as we celebrate into the wee hours of the morning.
There will be drinks, music, and great company. Sponsors of the event include iXsystems, Netflix, Google, NetApp, and the FreeBSD Foundation. There will also be a raffle with giveaways from O’Reilly Media and No Starch Press, among others.
We hope you’ll join us for an evening of revelry and merriment on November 2nd! Please RSVP at http://www.freebsdparty.com by Friday, October 18th if you plan to attend this historic event.
When: Saturday, November 2nd, 2013, 6PM-2AM PST
Where: DNA Lounge, San Francisco, CA, USA
You will notice that most of the work will be around package management (ports, pkgng) and virtualisation (Xen, BHyve, VirtualBox) and file systems (FUSE, GlusterFS).
I think these are very interesting projects and will add great value to FreeBSD (10) when completed. It is probably a much greater project than can be done over the summer, but I think it would be great to see DragonFly’s HAMMER filesystem ported to FreeBSD (if possible).
Intelligent Download manager service for the Ports Collection
Student: Ambarisha | Mentor: Xin LI
The current ports infrastructure uses fetch to get distfiles. There are some drawbacks to this approach like picking the target site, duplicate downloads etc. This new design overcomes these drawbacks. [link]
XEN HVM Guest Support
Student: Bei Guan | Mentor: Justin T. Gibbs
This project optimizes the I/O performance of FreeBSD as a Xen HVM DomU. It provides a USB front-end driver and a SCSI front-end driver to FreeBSD Xen HVM DomU. With these drivers, FreeBSD DomU can access the USB and SCSI devices provided by Xen instead of that emulated by QEMU. It improves the performance of reading and writing data to the devices. Besides, this project will provide the event channel based IPI and physical interrupt delivery. They also optimize the performance of IPI and PIRQ for FreeBSD Xen HVM DomU. [link]
net80211 rate control API – 802.11n extensions
Student: Chenchong Qin | Mentor: Adrian Chadd
There is a simplistic rate control API in net80211 of FreeBSD, which lack the support of 802.11n features. 802.11n brought a 10x maximum net data rate compared to its predecessor, but, unfortunately, the hard-won rate up can be easily wasted if rate control hasn’t been properly performed. This project will extend the net80211 rate control API of FreeBSD to be 802.11n aware and be able to support multiple rate attempts. With the extended API, wireless throughput can be further improved. [link]
Port data compression services and video codecs to Capsicum
Student: Daniel Peyrolon | Mentor: Brooks Davis
During this project I will port some data compression services (bzip2,xz,zlib) and video codecs(libavcodec) to Capsicum. [link]
Qt and GTK+ Front Ends for PKGNG
Student: Justin Edward Muniz | Mentor: Eitan Adler
This project aims to actualize a GUI for advanced binary package management in FreeBSD. The recently released PKGNG utility is the foundation for this project; PackageKit will provide a friendly and intuitive user interface. The package management interface will be easy to use and understand for new FreeBSD users, while offering powerful tools to novice and advanced users. Features of this approach include automatic updates, desktop notifications, and package management within jails. [link]
Unattended encrypted kernel crash dumps
Student: Konrad Witaszczyk | Mentor: Ed Maste
I want to improve kernel and savecore(8) to support encrypted crash dumps. I plan to use pefs as a tool to access dumps. [link]
packagekit backend for pkgng
Student: Matt Windsor | Mentor: Julien Laffaye
My proposal is to develop, test and document a PackageKit backend for pkgng, ideally with the view of being able to use an existing PackageKit frontend such as Apper to install, remove and upgrade packages on a FreeBSD system. [link]
Port GlusterFS to FreeBSD
Student: Mike Ma | Mentor: Sean Bruno
GlusterFS is an open source distributed file system that uses FUSE. It has been used in many different scenarios such as cloud computing. The code of Glusterfs relies a lot on Linux semantics, and now it’s becoming usable on NetBSD since NetBSD 6.0. Right now, GlusterFS won’t compile on FreeBSD. In this project, I’ll port GlusterFS and make it fully work on FreeBSD. [link]
Student: Neeraj | Mentor: Pedro Giffuni
1. Implement the FIFO interface (VOP_MKNOD()) : implementing this function in library so that one could be able to create fifo file and other kind of file also (special file also) 2. Run the appropriate unit tests in libfuse to test functionality in (1) . If the unit tests don’t exist in libfuse, then write unit tests for it. 3. Implement DTrace provider for FUSE : i would implement DTrace probes as a debugger tool in FUSE. with this add on in FUSE , one could be able to debug easily what is going on in FUSE. 4. Test with fsx: Writing test cases and test FreeBSD kernel and any other file system fsx. 5. Implement the kernel functionality to upgrade FreeBSD fuse.
VirtualBox shared folder support for FreeBSD guests
Student: Oleksandr | Mentor: Bernhard Fröhlich
VirtualBox is very popular virtualization product which supports a large number of operating systems. And also has many other features, one of main is “share folders”. It is used to transfer files using only internal resources of the system, without network connection. FreeBSD does’t have support this features with guests OS,and it is uncomfortable when using VirtualBox, that’s why this project is very useful for users and interesting to develop for me. [link]
Write new features for Capsicum
Student: oshogbo | Mentor: Pawel Jakub Dawidek
USB device passthrough support on BHyVe
Student: Takuya ASADA | Mentor: Edward Tomasz Napiera?a
PkgNG pluggable solver framework
Student: Vsevolod Stakhov | Mentor: bapt
PkgNG is the novel package management system designed for using in *BSD systems in conjunction with FreeBSD ports. Currently pkgng uses its own solver, however, it misses important features, such as alternatives logic, advanced con?ict resolving and provide/require logic. Furthermore, there are numerous researches related to solver algorithms and pkgng should provide pluggable interface for such solvers and eventually select an optimal one. So the main goal of this project is to design and implement pluggable API for pkgng solver that allows to use experimental solvers with fallback to default solver if there are no external solvers. [link]
AHCI device model in userspace for bhyve
Student: Zhixiang Yu | Mentor: Alexander Motin
Currently bhyve only supports virtio disk for the guest’s block device. This project will add AHCI device emulation to bhyve so that we can emulate normal cdroms and disks. This project will benefit bhyve a lot. First of all, since AHCI is widely supported in various Operating Systems, bhyve can support other nonproprietary and proprietary guest OSs without the virtio disk driver in those OSs. Secondly, this project will make it possible to install a GENERIC system from a emulated cdrom device. [link]
BHyVe suspend/resume feature
Student: ?? ?? (Iori YONEJI) | Mentor: Neel Natu
suspend/resume, a feature to save a running virtual machine state and to restore the state to a virtual machine help many hypervisor users. Through this project, this feature will be added to BHyVe. [link]
FreeBSD is pleased to announce that once again we have been selected to participate in the Google Summer of Code program. This gives University students the opportunity to earn a $5000 USD stipend in exchange for working on Open Source software over their Summer break. Students have around 12 weeks to work on their project, and will be mentored by existing FreeBSD committers. Participating organisations will earn $500 USD per student mentored.
FreeBSD’s organisation page may be found at http://www.google-melange.com and a list of possible project ideas may be found at https://wiki.freebsd.org/IdeasPage . Please note that projects do not have to come from the ideas list, and indeed students are encouraged to produce their own project ideas – the majority of past projects have been thought up by the participants themselves.
The FreeBSD Foundation has announced that Pawel Jakub Dawidek has been awarded a development grant to further improve the Capsicum framework. The grant is jointly funded by Google’s Open Source Programs Office.
The project includes the integration of previous work, implementation of new programmer-friendly capability system calls, improvements to the Casper Capsicum service daemon, and sandboxing various security-sensitive applications.
“My previous Capsicum work focused on improving the framework itself to make it a better fit for real world applications. This new project will make use of the improved Capsicum to secure sensitive programs and libraries found in FreeBSD. The project will also produce many examples for others to follow, allowing them to take advantage of Capsicum to improve the security of their programs,”
Ben Laurie, of Google’s security team, added that
“traditional operating system security is based on Access Control Lists (ACLs). Decades of experience has made it quite clear this is the wrong model – but how can we move to a better way without having to rebuild everything? Capsicum shows that it is possible to migrate gradually from the broken ACL world to a more robust capability based world. We are pleased to be involved in the next step of its evolution.”
The project is expected to be completed by June 2013.
Source: FreeBSD Announce Mailinglist
MeetBSD California 2012
MeetBSD California is no normal conference – it’s a meeting of the minds from all over the BSD community. MeetBSD California 2012 will feature community-scheduled break-out sessions, discussions groups, and 5-10 minute “lightning talks,” as well as longer talks from seasoned BSD experts.
MeetBSD California 2012 aims to engage the best of both worlds between traditional planned-speaker-centered conferences and the community-planned unConference model. Day one will be devoted primarily to planned talks, while day two will be scheduled entirely by the attendees, allowing anything from impromptu tutorials to hacking sessions. This is your conference, and we can’t wait to see you there!
Not strictly upcoming, but ongoing: Google’s annual Summer of Code (2012) has kicked off. FreeBSD is represented by 15 projects.
Google Summer of Code is a global program that offers post-secondary student developers ages 18 and older stipends to write code for various open source software projects. We have worked with open source, free software, and technology-related groups to identify and fund projects over a three month period.
It’s that time of the year again. Holiday season is approaching in a few months time, so it’s time to get ready for the annual Google Summer of Code, GSoC 2012.
I’m quite excited about the BHyVe, TrueCrypt and parallization projects.
Port FreeBSD/arm to BeagleBoard-xM
The purpose of this project is to run FreeBSD on BeagleBoard-xM device – OMAP3 based multifunctional board. The main work will be to implement OMAP3 support and peripherals like ethernet, usb host, audio and DVI video devices included in BeagleBoard-xM
Parallelization in the ports collection
The main idea of the project is to give a user an opportunity to make install of several ports at the same time. Another part of the project is to be able to build port’s dependencies in parallel. The main aim of this project is to make system update process faster and easier.
Re-enginer the wheel: a rejuvenation of BSD callout(9) and timer facilities
In all the BSD kernels, timers are provided using the callout(9) facility, which allows a function to be registered in order to be called at a future time. Right now, FreeBSD can’t handle timeouts less then 2/HZ and precision less then 1/HZ. According to some recent tests, other OSes can do it much better. Some consumers may need better resolution, and this is important in lots of applications, e.g. allow faster TCP recovery in case of error or package loss, or real-time applications.
Kernel level file integrity checker
This project will focus on providing file integrity checking capabilities to pefs. The file integrity checker will compare cryptographic checksums of files against a static signed checksum list at access time. The files are thought to be immutable and use of securelevel will guarantee that lower filesystems will protect those files. Securelevel will be extended to only permit execution of files with immutable flag set.
EFI Boot Support for amd64/i386
Complete the implementation of EFI boot support on the amd64 and possibly i386 platforms (including Intel Macs). The end result should allow the FreeBSD kernel to boot on an EFI system.
Userland Lock Profiling and Verification
This project will provide userland lock profiling and lock order verification functionality, based on the LOCK_PROFILING and WITNESS kernel options. Application developers will be able to build an instrumented application and query statistics via additional library API calls or a gperf-style external data file.
FreeBSD/arm and FDT cleanup
This project aims to clean up and refactor FreeBSD/arm and Flattened Device Tree implementation code.
Improve BSD-licensed text processing tools.
This project aims to improve, complete, and optimize the BSD-licensed text processing tools grep, sort, diff, diff3, sdiff, and mdocml. This will include adding features to diff/diff3/sdiff and mdocml and improving the efficiency of grep and sort.
IPV6 Improvement [Userland]
Improve the IPv6 support in userland according to the TODO list provided by the FreeBSD network team.
Port TrueCrypt as a geom_gate userland disk device implementation (GSoC)
This project aims to port TrueCrypt as a geom_gate userland disk device implementation. Basically what this will be doing is encrypting a virtual disk in real time.
Port NetBSD’s UDF implementation
FreeBSD has an implementation of the UDF filesystem but it is not the latest version and doesn’t support many features from newer UDF revisions (>=2.01), such as Metadata Partition or Pseudo OverWrite method. Support UDF is also readonly. NetBSD implementation by Reinoud Zandijk supports most of new UDF features and has write support too. First of all I will support new revisions only for reading and subsequently write support.
CPU percentage limits
The goal of the project is to add the CPU percentage usage accounting to the existing racct/rctl infrastructure. I want to make it possible for the system administrator to limit either a particular process, a particular user or a particular jail to for example 30% CPU.
BHyVe BIOS emulation to boot legacy systems
Implement BIOS emulation on BHyVe hypervisor, to make BHyVe able to support more guest OSes.
Automated Kernel Crash Reporting System
This project aims to develop a system for automated kernel crash reports for the FreeBSD Operating System. This includes the creation of a crash reporter program specifically for the FreeBSD kernel, and a service that receive those data, store them in a database according to some rules, and present them via two different web pages. One for the community, and one for the developers of the FreeBSD Project.
NTFS for FreeBSD