Asiabsdcon 2008 Proceedings

Asiabsdcon 2008 Proceedings

AsiaBSDCon 2008 Proceedings March 27-30, 2008 Tokyo, Japan Copyright c 2008 AsiaBSDCon 2008. All rights reserved. Unauthorized republication is prohibited. Published in Japan, March 2008 In Memory of Jun-ichiro “itojun” Hagino Our friend and colleague Jun-ichiro “itojun” Hagino (a BSD hacker famous for IPv6 implemen- tation, and CTO of ipv6samurais.com) was working as a member of our program committee, but he passed away on October 29th 2007. Itojun was a valued member of the BSD community both for his technical and personal contributions to various projects over his career. We who are working on AsiaBSDCon would like to express our condolences to Itojun’s family and friends and also to dedicate this year’s conference to his memory. INDEX P1A: PC-BSD: FreeBSD on the Desktop 001 Matt Olander (iXsystems) P1B: Tracking FreeBSD in a Commercial Setting 027 M. Warner Losh (Cisco Systems, Inc.) P3A: Gaols: Implementing Jails Under the kauth Framework 033 Christoph Badura (The NetBSD Foundation) P3B: BSD implementations of XCAST6 041 Yuji IMAI, Takahiro KUROSAWA, Koichi SUZUKI, Eiichi MURAMOTO, Katsuomi HAMAJIMA, Hajimu UMEMOTO, and Nobuo KAWAGUTI (XCAST fan club, Japan) P4A: Using FreeBSD to Promote Open Source Development Methods 049 Brooks Davis, Michael AuYeung, and Mark Thomas (The Aerospace Corporation) P4B: Send and Receive of File System Protocols: Userspace Approach With puffs 055 Antti Kantee (Helsinki University of Technology, Finland) P5A: Logical Resource Isolation in the NetBSD Kernel 071 Kristaps Džonsons (Centre for Parallel Computing, Swedish Royal Institute of Technology) P5B: GEOM—in Infrastructure We Trust 081 Pawel Jakub Dawidek (The FreeBSD Project) P6A: A Portable iSCSI Initiator 093 Alistair Crooks (The NetBSD Foundation) P8A: OpenBSD Network Stack Internals 109 Claudio Jeker (The OpenBSD Project) P8B: Reducing Lock Contention in a Multi-Core System 115 Randall Stewart (Cisco Systems, Inc.) P9A: Sleeping Beauty—NetBSD on Modern Laptops 127 Jörg Sonnenberger and Jared D. McNeill (The NetBSD Foundation) P9B: A Brief History of the BSD Fast Filesystem — Marshall Kirk McKusick, PhD FreeBSD on the Desktop Who am I? 1 Matt Olander Walnut Creek CD-ROM BSDi iXsystems FreeBSD Marketing Team PC-BSD Project Management 2 Why? 3 What is PC-BSD? What is PC-BSD? 4 It is FreeBSD (with hugs!) *Graphical Installer * Integrated KDE * Xorg Config * Wireless tool * Other useful GUI tools *PBI - Installation Method Push Button Installer Self-Contained Package Management Freedom from Dependencies 5 Target Market Windows Users Linux Users Lazy FreeBSD users :) PC-BSD 1.5 * Xorg 7.3 * KDE 3.5.8 * FreeBSD 6.3 Release * NEW System Updater tool * Improvements to WiFi tool * Improvements to the PBI Removal tool * NEW sound detection program! Uses XML backend to identify and load modules 6 * NEW amd64 build of 1.5 Installation Booting CD 7 Install or Upgrade License 8 Drive Selection User Accounts 9 Partitioning Components 10 Final Install Completion 11 After Install X Window Config 12 X Window Config Splash Screen 13 System Updates PBI Updates 14 Update Manager PBI Update 15 Upgrading PBI Updating PBI 16 Finished Upgrade Installing a PBI 17 PBI Dir Searching PBIs 18 Installing GIMP Installing GIMP 19 Installing GIMP Installing GIMP 20 Installing GIMP Installing GIMP 21 Removing a PBI Remove PBIs 22 Confirm Removal PC-BSD Useful Tools 23 PC-BSD Toolset * X Windows Config GUI * WiFi GUI Config Utility * User manager * Add/Remove PBIs * Simple Firewall (pf) manager How Can I Help? * Download, test, and bug report! * Documentation * PBI Creation and maintenance * C/Qt/Shell programming * Evangelize! 24 Questions? 25 26 Tracking FreeBSD in a Commercial Setting M. Warner Losh Cisco Systems Broomfield, CO [email protected] Abstract also offers a very business friendly license that allows companies to pick and choose which changes they wish to contribute to the community rather than forcing all The FreeBSD project publishes two lines of source code: changes to be contributed back, or attaching other unde- current and stable. All changes must first be committed sirable license conditions to the code. to current and then are merged into stable. Commer- cial organizations wishing to use FreeBSD in their prod- However, the FreeBSD project does not focus on inte- ucts must be aware of this policy. Four different strate- gration of its technology into customized commercial gies have developed for tracking FreeBSD over time. A products. Instead, the project focuses on producing a company can choose to run only unmodified release ver- good, reliable, fast and scalable operating system and sions of FreeBSD. A company may choose to import associated packages. The project maintains two lines of FreeBSD’s sources once and then never merge newer development. A current branch, where the main devel- versions. A company can choose to import each new opment of the project takes place, and a stable branch stable branch as it is created, adding its own changes which is managed for stability and reliability. While the to that branch, as well as integrating new versions from project maintains documentation on the system, includ- FreeBSD from time to time. A company can track ing its development model, relatively little guidance has FreeBSD’s current branch, adding to it their changes been given to companies in how to integrate FreeBSD as well as newer FreeBSD changes. Which method a into their products with a minimum of trouble. company chooses depends on the needs of the com- pany. These methods are explored in detail, and their Developing a sensible strategy to deal with both these advantages and disadvantages are discussed. Tracking portions of FreeBSD requires careful planning and anal- FreeBSD’s ports and packages is not discussed. ysis. FreeBSD’s lack of guidelines to companies leaves it up to them to develop a strategy. FreeBSD’s devel- opment model differs from some of the other Free and Open Source projects. People familiar with those sys- 1 Problem Statement tems often discover that methods that were well suited to them may not work as well with FreeBSD’s develop- ment model. These two issues cause many companies Companies building products based upon FreeBSD have to make poor decisions without understanding the prob- many choices in how to use the projects sources and lems that lie in their future. binaries. The choices range from using unmodified binaries from FreeBSD’s releases, to tracking modify Very little formal guidance exists for companies wishing FreeBSD heavily and tracking FreeBSD’s evolution in to integrate FreeBSD into their products. Some email a merged tree. Some companies may only need to main- threads can be located via a Google search that could tain a stable version of FreeBSD with more bug fixes help companies, but many of them are full of contradic- or customizations than the FreeBSD project wishes to tory information, and it is very disorganized. While the place in that branch. Some companies also wish to information about the FreeBSD development process is contribute some subset of their changes back to the in the FreeBSD handbook, the implications of that pro- FreeBSD project. cess for companies integrating FreeBSD into their prod- ucts are not discussed. FreeBSD provides an excellent base technology with which to base products. It is a proven leader in per- formance, reliability and scalability. The technology 27 2 FreeBSD Branching units. Vertical arrows point to the theoretical release points (with the release number under the arrow when the name fits). After about three years, the branches stop The FreeBSD development model strikes a balance be- being used in favor of newer releases. tween the needs of the developers and the needs of its users. Developers prefer to have one set of sources that Figure 4 shows data from the FreeBSD project since they can change arbitrarily and not have to worry about early 1997.1 There are many features of this graph that the consequences. Users prefer to have a stable system differ from the idealized graph. The two that are most that is compatible with the prior systems. These two relevant are that major branches live beyond the three desires are incompatible and can cause friction between year idealized vision and that the timing of the release developers and users. branches isn’t completely regular. These points will be important later in deciding which method fits the com- FreeBSD answers the need of both groups by providing pany’s needs the best. two versions of its code. The project maintains a main line for its developers, called “current.” This branch con- The FreeBSD ports system (which is used to gener- tains all the latest code, but all that code might not be ate the packages that appear in FreeBSD’s releases) is ready for end users. All changes to FreeBSD are re- not branched at all. Instead, it supports both the cur- quired to be first committed to the current branch. The rent branch, as well as the active stable branches of the quality of the current branch varies from extremely sta- project. For each release, the tree is tagged so that it can ble to almost unusable over time. The developers try to be reproduced in the future if necessary. These policies keep it towards the stable end of the spectrum, but mis- are different than the main source tree. Tracking of the takes happen. ports tree is not addressed further in this paper because its model is different and the author has fewer examples To provide a stable system users can use, FreeBSD also from which to draw advise and conclusions from. maintains a stable version of the OS. Every few years the current version is branched and that branch becomes the new stable version. This branch is called either “stable” or “RELENG X” where X is the major ver- 3 Branching Choices sion number for that branch.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    144 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us