Index: head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml =================================================================== --- head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml (revision 46182) +++ head/en_US.ISO8859-1/htdocs/news/status/report-2014-10-2014-12.xml (revision 46183) @@ -1,1791 +1,1869 @@ October-December 2014
Introduction

This is a draft of the October–December 2014 status report. Please check back after it is finalized, and an announcement email is sent to the &os;-Announce mailing list.

This report covers &os;-related projects between October and December 2014. This is the last of four reports planned for 2014.

The fourth quarter of 2014... was a very busy and productive time

Thanks to all the reporters for the excellent work!

The deadline for submissions covering the period from January to March 2015 is April 7th, 2015.

team &os; Team Reports proj Projects kern Kernel arch Architectures bin Userland Programs ports Ports doc Documentation misc Miscellaneous &os; Forum Software Migration &os; Forums Administration Team forum-admins@

With funding from the &os; Foundation, the &os; forums were migrated to XenForo software. The new software is far more capable and easy to use. While the entire forum team contributed, &a.danger; did a particularly excellent job importing existing users and messages and bringing back the often-requested "Thanks" feature. The upgrade was completed in time to be ready for the influx of new users from the release of &os; 10.1, and we have already seen an increase in usage.

Developers with an @FreeBSD.org address can contact forum administrators to obtain the highly-desired "@" suffix on their forum user name along with a Developer flag.

We want to thank the Foundation for making this possible, and the users for their patience and continued presence on the forums!

The &os; Foundation

Encourage more developers and users to try the new forums.

Continue getting feedback from users for tuning and improvements.

Process management Konstantin Belousov kib@FreeBSD.org Peter Holm pho@FreeBSD.org

There were several improvements made to the FreeBSD process management last quarter.

Reaper. The facility to allow a process to reliably track the running and exiting state of the whole subtree of the processes, was added. It is intended to improve tools like timeout(1) or poudriere, by making it impossible for the runaway granchild to escape the controlling process. Feature was designed based on similar facility in the DragonFlyBSD and Linux, with some references to the Solaris contracts. Committed to HEAD in r275800.

Total stop. Right now, the FreeBSD suspension code does not ensures that the system, both from software and from hardware view, is in the steady and consistent state. One aspect is the usermode process activity which is not stopped, continuing to making requests to the hardware. It is not realistic to expect drivers to be able to correctly handle the calls after SUSPEND_CHILD.

Together with Peter Holm, we developed a facility to stop usermode threads at the safe points, where they are known to not own and to not wait for kernel resources, in particular, not waiting for device requests finishing. It is based on the existing single-threading code, but extending it to allow external thread to put some process into stopped state. Also, a facility to sync filesystems before suspend was added, to ensure that consistent metadata and as much as possilbe of the cached user data are on stable storage, to minimize damage of failed resume.

The code stressed some parts of the system and lead to discovery of the unusual numbers of bugs in the different parts of the system, including process management, buffer cache and syscall handlers. The bugs were fixed, fixes and the features commmitted by a series culminating in r275745.

Process spinlock changes. During the work described above, it was noted that process spinlock duties are significantly overloaded (the same is true for the process lock). The spinlock was split into per-feature lock, see r275121. Also, as result, it was possible to eliminate recursion on it, r275372.

The FreeBSD Foundation
FreeBSD on the Acer C720 Chromebook Michael Gmelin freebsd@grem.de

Most system features work, including keyboard, WiFi, sound, VESA graphics, touchpad, USB and decent battery life (5 to 6 hours).

Streamline patches and merge them into HEAD.

Make suspend/resume work (depends on Haswell support).

Creating Vagrant images with Packer Brad Davis brd@FreeBSD.org Blog Announcement Git Repo

We have developed a recipe to use Packer to create FreeBSD Vagrant images to run on VMware and VirtualBox.

Packer is a tool for creating identical machine images for multiple platforms from a single source configuration.

Vagrant is a tool to create and configure lightweight, reproducible, and portable development environments.

To get started clone the Git repo and follow the directions in the README. More information is available from the Packer and Vagrant websites.

pkg(8) The pkg team pkg@FreeBSD.org

The package development team has released pkg(8) 1.4. This release fixes lots of bugs and adds some new features:

An important part of the development direction for the 1.4 release has been done on stabilizing the existing features, and improving the pkg(8) experience on small/embedded machines (reduce memory usage, speed up operations).

pkg(8) is not only the &os; Package Manager, but the Package Manager for DragonflyBSD. Additionally support has been added to build pkg(8) on OS X and Linux. This work will allow other Operating Systems the option of adopting pkg(8) to manage their packages and bring new developers into the project.

Add more regression tests.

Package FreeBSD base.

Allow using mtree as a plist when creating a package.

Implement flexible dependencies.

Test the developement branch.

More developers are needed, check the Issues on Github.

mandoc(1) support Baptiste Daroussin bapt@FreeBSD.org Ulrich Spoerlein uqs@FreeBSD.org The Documentation Team docs@FreeBSD.org

mandoc(1) has been made the default manual page formatter on HEAD -- man(1) will use mandoc(1) to format manual pages by default, then fall back to groff(1) if it fails.

This change also fixes an issue with FreeBSD man(1) command not able to properly deal with ".so" in gzipped manual pages.

The documentation team has spent a lot of time fixing issues reported by mdoc(7) in the FreeBSD manual pages. This greatly improves the quality of our manual pages.

Most manual pages with remaining issues are from contrib/ for which changes should be reported and fixed upstream.

The "manlint" target has also been switch to use mandoc -Tlint which results in the target being way more useful when working on manual pages.

Some groff(1) vs mandoc(1) formatting differencies have been spotted and reported to mandoc's upstream developers.

Switch makewhatis(1) to the version shipped with mandoc(1).

Figure out a way to detect non mandoc(1) friendly manpages from ports and create catpages with groff(1) for them.

Remove groff(1) from base.

External toolchain Baptiste Daroussin bapt@FreeBSD.org Warner Losh imp@FreeBSD.org Brooks Davis brooks@FreeBSD.org

The main goal of the external toolchain project is to be able to build world and kernel with non default toolchain. It can be helpful to:

The initial support for external toolchain only supported clang. It has been extended to support recent GCC (4.9.1 has been tested) and recent binutils (2.24 and 2.25).

A large number of fixes have been committed to HEAD to support incompatible behaviour changes between ld(1) from binutils 2.17.50 (the version in base) and binutils 2.24+.

A large number of warnings have been deactivated when building the kernel to make sure it is possible to build the kernel with recent GCC (first 4.6 and then 4.9.1)

The build system has been changed to build libc++ as a C++ stack when a recent enough GCC (4.6+) is used to build world.

To simplify using an external toolchain, the following pre-seeded configurations have been added to the ports tree:

Those packages will depend on special version of GCC (minimalistic cross-built ready GCC) and on binutils. To use them run: make CROSS_TOOLCHAIN=powerpc64-gcc TARGET=powerpc TARGET_ARCH=powerpc64

As a result of this effort, it has been possible to successfully build and run a kernel and world built with GCC 4.9.1 and binutils 2.24 on sparc64, amd64 (with minor tweaks for amd64), powerpc and powerpc64.

Patch and upstream GCC 4.9 to support &os; mips, arm and aarch64.

Adapt and upstream the aarch64 patches for binutils 2.25.

Add more pre seeded configurations.

Timer function support for linuxolator Bjoern A. Zeeb bz@FreeBSD.org

Since 2006, initial support for Linux timer function compatibility support was present but untested. This update corrects the initial implementation and makes it available to the 32bit linuxolator on amd64, not just on i386.

Starting with &os; 10.1, this enables users to run another FPGA high-level synthesis toolchain and emulation platform on a FreeBSD system.

DARPA AFRL
GNOME on FreeBSD FreeBSD GNOME Team gnome@FreeBSD.org FreeBSD GNOME Team website FreeBSD Team development repo. GNOME jhbuild buildbot wiki pages.

The FreeBSD GNOME Team maintains the GNOME, MATE and CINNAMON desktop environments and graphical user interfaces for FreeBSD. GNOME 3 is part of the GNU Project. MATE is a fork of the GNOME 2 desktop. CINNAMON is desktop environment using GNOME 3 technologies but with a GNOME 2 look and feel.

This quarter was exciting time for the GNOME Team. We imported GNOME 3.14.0 and CINNAMON 2.2.16 into the ports tree. At the same time we removed the old GNOME 2.32 desktop. And two weeks later we updated GNOME to 3.14.2 and CINNAMON to 2.4.2 which was collected while the preparation for the initial GNOME 3.14.0 import was underway.

We moved our development repo to GitHub. The link is in the links section. The repo is structured as follows: the master branch is vanilla &os; Ports, and we have theme branches for topics, like the porting of MATE 1.9 (mate-1.10 branch) and GNOME 3.15 (gnome-3.16 branch). The GNOME 3.14 branch (gnome-3.14) is not used/updated anymore because the content has been committed to ports, but is kept around for the history.

The GNOME website is stale. Work is starting on updating the development section. We could use some help here.

MATE 1.10 porting is underway, the latest 1.9 releases are available in the mate-1.10 branch.

GNOME 3.16 porting is underway, and is available in the gnome-3.16 branch.

The &os; Core Team &os; Core Team core@FreeBSD.org

The &os; Core Team constitutes the project's "Board of Directors", responsible for deciding the project's overall goals and direction as well as managing specific areas of the &os; project landscape.

During the fourth quarter of 2014, the &os; Core team saw the culmination of a long-running project to rebuild the &os; Forums. The chosen solution was to license XenForo; core would like to thank the FreeBSD Foundation for paying the licensing costs of this software.

Much discussion ensued concerning the "New Support Model" following Core's meeting at EuroBSDCon in September. It was recognised that trying to change the model immediately before 10.1-RELEASE was far too late, and the change will be targeted at 11.0-RELEASE.

In order to ensure that 10.1-RELEASE shipped with support for up-to-date X Windows and KDE4, core approved the switch to 'new Xorg' as the default in time for building the packages for that release.

Git was officially promoted from beta to an officially supported version control system. Git is available as a read-only resource for downstream consumers and contains an exported copy from SVN, the primary and only read-write repository. The &os; git repositories (exported from the master SVN version control) will shortly be available at https://git.freebsd.org/, and core has been active in ensuring that there is a sufficient body of Git administrators available with access to appropriate documentation in order to maintain a good git service.

Core mediated in disputes between a number of committers over some updates to system sources, and fielded complaints about code quality of some other work in critical areas. While such disagreements will occasionally occur, core is promoting the routine use of the phabricator service in order to review work before committal. Catching problems early is in the project's best interests, and discussion of changes in an open review context should minimize confrontational demands for immediate back-out of changes.

Core is working on a charter for a proposed new QA team, to encompass members of the Release Engineering and Security teams, as well as committers with interests in standards compliance. It is envisioned that the QA team will take responsibility for merging code from HEAD into the STABLE branches, run integration testing against those updates and handle merging patches and bug-fixes submitted to the &os; project from third parties.

During this quarter, core issued two new commit bits, and also took two commit bits into safe-keeping.

KDE on FreeBSD KDE on &os; team kde@FreeBSD.org

The KDE on &os; team focuses on packaging and making sure that the experience of KDE and Qt on &os; is as good as possible.

As mentioned last quarter, Alonso Schaich (alonso@) became a committer and since then has made good progress helping his mentors Raphael Kubo da Costa (rakuco@) and Max Brazhnikov (makc@) maintain all Qt and KDE-related ports.

This quarter, Qt 5.3 was finally committed to the ports tree after extensive work that included cleaning up and/or changing a lot of the Qt5 ports infrastructure to make it both easier to maintain the Qt ports as well as finally make it possible to build newer versions when older ones are already installed on the system.

We have also updated KDE in our experimental area51 repository and committed several updates to other ports such as KDevelop and KDE Telepathy. Overall, we have worked on the following releases:

Tobias Berner has contributed patches to update QtCreator to 3.3.0 as well as KDE Frameworks 5 ports which are under review for inclusion in our experimental area51 repository.

Update Qt5 to 5.4.0.

Try to contribute to the work on getting rid of HAL on &os;, which seems to be gaining more traction recently.

Add KDE Frameworks 5 ports to our experimental repository.

More Michael Lucas books Michael Lucas mwlucas@michaelwlucas.com FreeBSD Mastery: Storage Essentials page blog

The first small &os; Book, "FreeBSD Mastery: Storage Essentials" is available.

Lucas is moving on to &os; books on ZFS, Specialty Filesystems, and jails. They will hopefully be available by BSDCan 2015.

Get status updates on his blog, or follow @mwlauthor on Twitter.

Push BSDCan out to June, so he has more time to write the new books.

New Translators Mailing List &os; Translators Mailing List freebsd-translators@FreeBSD.org

A new mailing list has been created for people translating &os; documents and programs from English into other languages. Discussions can include methods, tools, and techniques. Existing translators are encouraged to join so there is a single point of contact. New translators and those who wish to help with translation are welcome.

New members are asked to introduce themselves and mention the languages they are interested in translating.

Encourage existing translators to join.

Welcome and educate new volunteers.

Work on implementing newer and easier translation systems and tools.

Jenkins Continuous Integration for &os; Craig Rodrigues rodrigc@FreeBSD.org Jenkins Administrators jenkins-admin@FreeBSD.org &os; Testing freebsd-testing@FreeBSD.org Jenkins CI server in &os; cluster FreeBSD and Jenkins OS Testing Kyua and Jenkins Testing Framework for BSD PAM authentication problems in FreeBSD Issue to update Jenkins to JNA 4.1.0 for FreeBSD Kyua Quickstart Guide Igor tool for proofreading documentation FreeBSD_Doc-igor Jenkins build FreeBSD_HEAD_sparc64 Jenkins build Susan Stanziano from Xinuous ran kyua tests Andy Zhang from Microsoft ran kyua tests &a.ngie; imported NetBSD tests Steve Wills ran tests in Google Compute Engine Kyua submitted to Homebrew project Brian Gardner submits jtreg tests Ahmed Kamal offers to help with Saltstack MIPS builds

Since the last status report, many people have contributed help in various areas to help with with Continuous Integration and Testing in FreeBSD. Some of the highlights include:

Set up more builds based on different architectures.

Improve the maintenance of nodes in the Jenkins cluster using devops frameworks such as Saltstack.

Get feedback for improving the Kyua Quickstart Guide.

People interested in helping out should join the freebsd-testing@FreeBSD.org list.

Xfce FreeBSD Xfce Team xfce@FreeBSD.org

Xfce is a free software desktop environment for Unix and Unix-like platforms, such as FreeBSD. It aims to be fast and lightweight, while still being visually appealing and easy to use.

During this quarter, the team has kept up-to-date the following applications:

Two new ports have also been added (taken from our repository):

Moreover, we are working on the next stable release, below list of ports updated:

We sent some patches to upstream.

A FAQ is being written D1305.

Find workaround when acpi_video(4) is not functional (panel crashes); OpenBSD seems to have same problem.

Cleanup patch in order to add new panel plugin in ports tree.

Continue to work on documentation, especially the Porter's handbook.

Updating OpenCrypto John-Mark Gurney jmg@FreeBSD.org r275732 changeset FreeBSD Foundation announces IPsec Enhancement Project

The project adds support for AES-GCM and AES-CTR mode to the OpenCrypto framework. Both software and AES-NI accelerated versions are functional, working and committed. Ermal Luçi (eri@) is working on adding support for the additional modes to IPsec.

The &os; Foundation Netgate

Commit the port that provides the NIST KAT vectors so that the tests committed can run.

The Graphics stack on FreeBSD FreeBSD Graphics team freebsd-x11@FreeBSD.org Graphics stack roadmap and supported hardware matrix Graphics stack team blog Ports development tree on GitHub

Mesa was upgraded to 10.3, then 10.4 for FreeBSD 10.1-RELEASE and 11-CURRENT. We test release candidates and therefore this port is now usually updated shortly after a new release. Mesa 10.x brings huge improvements in terms of OpenGL standards support, performance and stability, especially for Radeon owners. Mesa 9.1 is kept for FreeBSD 9.x, but we have plans to fix this; see below.

graphics/gbm and devel/libclc are new ports used by Mesa to implement OpenCL. The next step is to finish the port for Mesa's libOpenCL.so, named Clover. This will permit users to run OpenCL programs on Radeon GPUs for now.

xserver was upgraded from 1.12 to 1.14. This is the last version of xserver supporting Mesa 9.1. Changes are described in an article on the blog. The most noticeable one is probably the switch from the input device detection back-end based on HAL to the one based on devd. hald(8) is still required by many desktop environments, but the X.Org server itself is free from it.

xserver was the last port supporting the WITH_NEW_XORG knob. The knob is now completely removed. This was the occasion to add WITH_NEW_XORG and WITH_KMS to the list of deprecated knobs to help people clean up their make.conf. At the same time, the new-xorg alternate pkg repository was deprecated.

After discussion, two patent-encumbered options were enabled by default:

These two packages now provide a better user experience out-of-the-box. Users who are uncomfortable with the options may unset them and rebuild the ports. There is no need to rebuild anything else.

On the kernel side, Tijl Coosemans added AGP support back to the TTM memory manager and therefore to the Radeon driver. His work was merged back to stable/10 and will be available in FreeBSD 10.2-RELEASE.

We migrated our Ports development tree to Git and GitHub. Tracking changes in the official Ports tree and preparing patches is way easier. Furthermore, we can accept pull requests. All reasons behind this change are detailed on the blog and the workf-low is described on the wiki.

The XDC 2014 (X Developer's Conference) was a great conference. Reviving the relationship with the developers of the graphics stack was a success! A report is available on the blog.

Our next items on the roadmap are:

  1. Provide FreeBSD 10.1-RELEASE's i915 driver to FreeBSD 9.x users through a new port. This is a work in progress, but it would allow us to remove Mesa 9.1 and make Mesa 10.4 available everywhere.
  2. Once Mesa 9.1 is gone, we can update xserver to 1.16.

See the "Graphics" wiki page for up-to-date information.

FreeBSD on POWER8 Nathan Whitehorn nwhitehorn@freebsd.org Justin Hibbits jhibbits@freebsd.org Adrian Chadd adrian@freebsd.org

IBM and the OpenPOWER Foundation are pushing for a wider software and hardware ecosystem for POWER8-based systems. Beginning January 3, we have been doing bringup work on a Tyan GN70-BP010 POWER8 server, a quad-core 3 GHz system with 32 hardware threads.

The main target for the port is the PowerKVM hypervisor provided on OpenPOWER hardware. This uses the same software interfaces as the PowerVM hypervisor already supported on earlier POWER hardware. The target is to have this operation mode fully supported by &os; 10.2. &os; currently runs under the hypervisor when using a mass storage driver other than the built-in virtualized SCSI; the issues with the SCSI driver should be solved shortly.

The longer-term goal is to also operate on the bare system. This requires interaction with the OPAL system firmware and the development of device drivers for the on-board PCI, console, and interrupt controller hardware. As of January 4, the &os; kernel had printed initial messages to the console.

&os; Foundation

Fix virtualized SCSI driver in PowerKVM.

Write OPAL drivers.

Integrate loader(8) with petitboot bootloader.

FreeBSD Xen Roger Pau Monné royger@FreeBSD.org Justin T. Gibbs gibbs@FreeBSD.org FreeBSD PVH DomU wiki page FreeBSD PVH Dom0 wiki page

During this quarter almost all pending Xen changes have been committed, enabling the usage of FreeBSD as Dom0 under the new PVH mode. The set of features supported by FreeBSD is still limited, but it should allow for basic usage of FreeBSD as Dom0. Support for booting Xen from the FreeBSD boot loader will be committed very soon to HEAD.

Apart from testing on a variety of hardware, work has now shifted to improve PVH support in Xen itself in order to have feature parity with a traditional PV Dom0 and to declare the PVH ABI as stable.

Regarding guest improvements (running FreeBSD as a DomU), there's also ongoing work to add unmapped IO support to Xen blkfront, which is blocked pending some modifications to the generic bounce buffer code.

Citrix Systems R&D Spectra Logic Corporation

Test on different hardware.

Improve backends (netback, blkback) performance.

Work with upstream Xen to improve PVH and make it stable.

Improve generic bounce buffer code for unmapped bios in order to support blkfront alignment requirements.

Clang, llvm and lldb updated to 3.5.0 Dimitry Andric dim@FreeBSD.org Ed Maste emaste@FreeBSD.org Roman Divacky rdivacky@FreeBSD.org LLVM 3.5.0 Release Notes Clang 3.5.0 Release Notes

Just before the end of the year, we have updated clang, llvm and lldb in base to 3.5.0 release. These all contain numerous improvements; please see the linked release notes for more detailed information.

This is the first release that requires C++11 support to build. At this point, FreeBSD 10.0 and later provide that support, at least on x86.

In the near future, more components from the llvm.org will be updated in base, with libc++ and libcompiler-rt most likely being the first.

Thanks to Ed Maste, Roman Divacky, Andrew Turner, Justin Hibbits and Antoine Brodin for their invaluable help with this import.

While most ports that were impacted by this update have already been fixed, there are still a few that do not work with the clang 3.5.0 update.

In most cases, this is due to relatively simple issues, such as new warnings, or slightly stricter error checking (primarily for C++ programs). Fixing those issues should not take too much work.

There are still some open issues with the ARM, PowerPC and Sparc64 architectures, and any help in this area is very much appreciated.

&os; Release Engineering Team &os; Release Engineering Team re@FreeBSD.org &os; development snapshots

The &os; Release Engineering Team is responsible for setting and publishing release schedules for official project releases of &os;, announcing code freezes and maintaining the respective branches, among other things.

The &os; 10.1-RELEASE cycle completed November 14th, marking the second official release point from the stable/10 branch, just short of three weeks later than the original schedule anticipated.

Work to produce virtual machine images for platforms not currently supported has continued, with focus aimed primarily at Amazon EC2, Google Compute Engine, and Openstack.

With huge thanks to &a.ian; and &a.imp;, new ports exist for &os;/arm where u-boot is required. Work has been in progress since late December to migrate the existing &os;/arm release build tools to utilize the new ports.

The &os; Foundation
Git integration Git discussion list freebsd-git@FreeBSD.org

Several &os; developers have expressed interest in improving the tools and documentation to facilitate the use of the Git source code management (SCM) system when working with &os; code. Some highlights of the work in this area include the following:

The Github integration script is not deployed yet and is not active for all pull requests against the &os; source tree on Github. &a.robak; and bugmeister@FreeBSD.org need to work out the final details for deploying this script into production. The script must be accessible via HTTP POST requests because it uses the Github REST API. &a.robak; and bugmeister@FreeBSD.org need to reach agreement on where this script lives, and do a security audit.

Migration to ELF Tool Chain tools Ed Maste emaste@freebsd.org

The ELF Tool Chain project provides BSD licensed implementations of compilation tools and libraries for building and analyzing ELF objects. It started as part of &os; but has moved to a standalone project to encourage wider participation from others in the open-source developer community. &os;'s libelf and libdwarf are now imported from upstream source in contrib/elftoolchain.

ELF Tool Chain provides a set of tools equivalent to the GNU Binutils suite. This project's goal is to import these tools into the &os; base system so that we have a set of up-to-date and maintained tools that also provide support for new CPU architectures of interest, such as arm64.

The following tools have now been imported and are available by setting the src.conf knob WITH_ELFTOOLCHAIN_TOOLS=yes:

A ports exp-run uncovered some bugs in these tools. The bugs are being fixed in the &os; source tree and are in the process of being committed to the upstream project.

ELF Tool Chain's readelf will be enabled as well once some missing functionality in ELF note parsing is added. ELF Tool Chain's elfcopy provides equivalent functionality to Binutils objcopy, and accepts the same command-line arguments. For it to be a viable replacement for all uses of objcopy in the base system it will need to gain support for writing portable exectuable (PE) format binaries, which are used in by UEFI boot code.

The ELF Tool Chain project does not currently provide replacements for as, ld, and objdump. For &os; these tools will likely be obtained from the LLVM project.

The &os; Foundation

Import readelf.

Add missing functionality to readelf.

Add missing functionality to elfcopy and migrate the base system build.

Fix issues found by fuzzing inputs to the tools.

Switch the default to WITH_ELFTOOLCHAIN_TOOLS.

bhyve Peter Grehan grehan@FreeBSD.org Neel Natu neel@FreeBSD.org John Baldwin jhb@FreeBSD.org Tycho Nightingale tychon@FreeBSD.org Allan Jude freebsd@allanjude.com bhyve FAQ and talks

bhyve is a hypervisor that runs on the &os;/amd64 platform. At present, it runs &os; (8.x or later), Linux i386/x64, OpenBSD i386/amd64, and NetBSD/amd64 guests. Current development is focused on enabling additional guest operating systems and implementing features found in other hypervisors.

Support for AMD processors was committed to -CURRENT in October 2014. This has also been merged to 10-STABLE and will be included in the 10.2 release.

A bhyve status update presentation was done at the FreeBSD Vendor Summit in Nov 2014. The slides are available at http://people.freebsd.org/~neel/bhyve/bhyve_update_vendor_summit_2014.pdf.

A number of improvements have been made to bhyve this quarter:

Improve documentation.

bhyveucl is a script for starting bhyve instances based on a libUCL config file. More information at https://github.com/allanjude/bhyveucl.

CSM BIOS boot support for non UEFI-aware guests.

Add support for virtio-scsi.

Improve virtio-net, add offload features, support multiple queues.

Implement Intel 82580 and e1000 NIC emulation.

Netmap support.

Flexible networking backend: wanproxy, vhost-net.

Move to a single process model, instead of bhyveload + bhyve.

Support running bhyve as non-root.

Add filters for popular VM file formats (VMDK, VHD, QCOW2).

Implement an abstraction layer for video (no X11 or SDL in base system).

Support for VNC as a video output.

Suspend/resume support.

Live Migration.

Nested VT-x support (bhyve in bhyve).

Support for other architectures (ARM, MIPS, PPC).

Ports Collection Frederic Culot portmgr-secretary@FreeBSD.org Port Management Team portmgr@FreeBSD.org

As of the end of Q4 the ports tree holds more than 24,000 ports, and the PR count is just over 1,400. As during the previous quarter the tree saw a sustained activity with almost 6,000 commits and more than 1,600 ports PR closed!

In Q4 five new developers were granted a ports commit bit (gordon@, jmg@, jmmv@, bofh@, truckman@) and six were taken in for safekeeping (sylvio@, pclin@, flz@, jsa@, anders@, motoyuki@).

On the management side, miwi@ decided to step down from his portmgr duties in November. No other changes were made to the team during Q4.

This quarter also saw the release of the fourth quarterly branch, namely 2014Q4.

On QA side 39 exp-runs were performed to validate sensitive updates or cleanups.

A tremendous work was done on the PR front in Q4 and we would be very pleased to see committers dedicate themselves to closing as many as possible in 2015 as well!

2014 is the year that saw the highest number of commits in all of our ports tree's history! As for the PR front and to keep our beloved tree in such a good shape we would love to see the same commitment from our developers next year!

+ + Linux emulation layer a.k.a. Linuxulator + + + + + Dmitry + Chagin + + dchagin@FreeBSD.org + + + + +

The main goal of the lemul project is the execution of + multithreaded Linux applications, which requires the glibc library + version 2.20 or later to be available on &os;. Glibc 2.20 + requires a Linux kernel (or emulation thereof) of version 2.6.32 + or later. The main obstacle preventing this is that the current + Linuxulator uses native FreeBSD processes for emulating Linux + threads. This leads to several problems, including problems with + process reparenting and dethreading, wait() and signal + handling. It would be much better to reuse the FreeBSD kernel + code for thread management than to create a completely new + codebase for pseudothread management in the Linuxulator.

+ +

At present, the linux emulation layer project has + implemented all of the necessary system calls for supporting glibc + 2.20, and more:

+ + + +

The project's code is located in the FreeBSD Project's + Subversion repository, at base/user/dchagin/lemul (a + little bit old). To facilitate merging the improvements back to + head, several patches have been placed on reviews.FreeBSD.org with + the tag #lemul. Nearly half of the patches have already + been approved by &a.emaste; and &a.trasz;.

+ + + + +

Review and merge the lemul branch to head within the next + month or two.

+
+ + +

Implement native and Linuxulator inotify() + system calls.

+
+ + +

Implement the ptrace() system call for the x86_64 + Linuxulator.

+
+ + +

Implement the signalfd() and timerfd + system calls for the Linuxulator.

+
+ + +

Extend xucred support, which is required for + many Linux applications.

+
+
+
+