FOSSLC is a non-profit organization that specializes in technology and know-how to record conferences with excellent quality. Click on the icons below to view great videos from communities we are actively involved with:

 

BSDCan2010

Introducing the FreeBSD package building cluster

in BSDCan, BSDCan2010, FreeBSD, Programming, BSD
FreeBSD

Location

Ottawa, ON
Canada
45° 24' 41.6592" N, 75° 41' 53.4984" W

Dude, where's my packages?

Introducing the FreeBSD package building cluster, or, "Dude, where's my packages?"

The FreeBSD ports management team (portmgr) maintains a cluster of machines to build packages from individual ports. This talk attempts to explain the technical challenges involved.

    * Introduction: the purpose of the build cluster
    * Introduction: the dispatch machine 'pointyhat'
    * Introduction: the package build nodes
    * Release builds, incremental builds, and experimental builds
    * What is done with the results of package builds
    * Discussion of the scheduling algorithm
    * Performance characterization of individual nodes
    * Common problems seen on the nodes
    * Common problems seen on pointyhat
    * Notes on characterizing the overall performance

Event: 
BSDCan2010
Speaker: 
Mark Linimon

Wireless mesh networks under FreeBSD

in BSDCan, BSDCan2010, FreeBSD, Networking, BSD
FreeBSD

Location

Ottawa, ON
Canada
45° 24' 41.6592" N, 75° 41' 53.4984" W

With the advent of low cost wireless chipsets, wireless mesh networks became much more attractive for both companies, governments, and the general consumer. This talk will describe the FreeBSD implementation of 802.11s.

Wireless mesh networks are being used extensively since the popularization of the 802.11 wireless technologies, but usually they worked with the help of layer 3 routing technologies. Since 802.11 didn't provide any kind of support for wireless mesh networks, in 2004, IEEE created the Task Group s (TGs) to create a new amendment to 802.11 which would define the operation of a wireless mesh network using existing 802.11 hardware and having a routing protocol work at layer 2. Later, the amendment also included provisions for mesh authentication, encryption, link management, bridging mesh networks with other types of networks, and channel reservation.

On this lecture I will talk about the FreeBSD implementation of 802.11s that's available in version 8.0 and beyond. This work was sponsored by The FreeBSD Foundation.

Event: 
BSDCan2010
Speaker: 
Rui Paulo

FreeBSD Development for Smarties

in BSDCan, BSDCan2010, FreeBSD, Programming, BSD
FreeBSD

Location

Ottawa, ON
Canada
45° 24' 41.6592" N, 75° 41' 53.4984" W

The quest for a better kernel development environment

Developing good code is hard. Developing good operating system code is harder still. This talk will cover in as concise and complete a manner as possible, the information obtained during my quest for a better FreeBSD kernel development environment.

My work on the FreeBSD TCP stack ( 1 , 2 , 3 ) involves a great deal of time spent investigating behaviour within the kernel. Becoming frustrated with my development cycle, I started researching and creating a hardware and software development environment that would improve my productivity. I found that so much of the really useful information came from non-authoritative sources scattered around the Internet and from talking with other developers. This talk attempts to collate everything into a single place, with the aim of lowering the barrier to entry for kernel hacking by making useful information more accessible.

Covering everything from hardware considerations to PXE booting and entry level use of KGDB, this talk aims to arm budding to intermediate FreeBSD developers alike with the information and tools required to code more correctly and efficiently than they otherwise might have been able to using more primitive means.

Note that the paper this talk is based on is far from a comprehensive reference yet, and I welcome all suggestions for improvement. My goal is to get the information incorporated into a more official FreeBSD documentation source (e.g. the FreeBSD developer's handbook ) once it has reached critical mass.

Event: 
BSDCan2010
Speaker: 
Lawrence Stewart

Enhanced compatibility through device mapping

in BSDCan, BSDCan2010, Programming, BSD

Location

Otawa, ON
Canada
45° 24' 41.6592" N, 75° 41' 53.4984" W

lying to the drivers for fun and profit

An easy way to support new hardware that lacks support in the driver, but is similar enough to old hardware, is presented. A generic means of matching hardware, in a bus independent manner, is used to instruct the bus layer to lie about the plug and play properties of a device so as trick the driver into thinking the device is of a different, supported type. Compatible hardware will then work with this driver. Additional application for the matching or the mapping technology is discussed.

For years, new hardware has been released after FreeBSD does its releases. This new hardware often times is upwardly compatible with the prior generation of the hardware. Many times, the drive writers add support for this new hardware by having the driver treat it just like earlier versions of the hardware, possibly with additional capabilities. Today, FreeBSD users need to recompile the kernel or driver module to support this new hardware. A generic mapping capability will allow users of these devices to use them, possibly without the new features, until the drivers can be updated. There are also hooks in the system to allow users to 'downgrade' newer hardware when driver bugs prevent the usage of newer features of a card as well. Buses in the system cooperate with this mapping system by providing caching the plug and play data used to match devices and feeding that data to drivers bidding on a device. By hooking the mapping layer in at this point, buses can implement the mapping transparently to client drivers. This reduces the amount of work necessary to implement the feature because there's a relatively small number of bus drivers compared to the number of client drivers in the system.

In addition to providing a means to map the plug and play data used to match devices, this matching portin of this software also allows for other features to be implemented based on the mapping. Since location is included in this data, wiring devices to a specific location can be implemented with this method. New quirks can be added at run time, and can be more selective about which devices are matched that has traditionally been available.

This paper explores the current implementation, as well as outlines additional applications for the technology.

Event: 
BSDCan2010
Speaker: 
Warner Losh