FreeBSD Quarterly Status Report Third Quarter 2022
Here is the third quarterly report for year 2022, with 24 reports included, which is slightly fewer than last quarter.
I notice that in the past we had quarters with many more reports: often more than 30, sometimes even more than 40. Thus I would like to encourage all of you to submit reports: reports are useful to share your work, to find help, to have more eyes reviewing your changes, to have more people testing your software, to reach a wider audience whenever you need to tell something to all of the FreeBSD community and in many other cases. Please do not be shy and do not worry if you are not a native English speaker or if you are not proficient in AsciiDoc syntax: the quarterly team will be glad to help you in whatever you need.
On the other hand, if you really do not have anything to report, then maybe you might like to join one of the interesting projects described below, or you might be inspired from one of them to do something new, thus having something to report in the future.
We wish you all a pleasant read.
Lorenzo Salvadore, on behalf of the status report team.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
A rendered version of this report is available here:
https://www.freebsd.org/status/report-2022-07-2022-09/
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Table of Contents
• FreeBSD Team Reports
□ FreeBSD Core Team
□ FreeBSD Foundation
□ FreeBSD Release Engineering Team
□ Cluster Administration Team
□ Continuous Integration
□ Ports Collection
• Projects
□ OpenStack on FreeBSD
□ FreeBSD as a Tier 1 cloud-init Platform
• Userland
□ bhyve debug server enhancements
□ Rewrite of pjdfstest
□ Ongoing work on LLDB multiprocess debugging support
□ DTrace: Instruction-level dynamic tracing
• Kernel
□ ENA FreeBSD Driver Update
□ wtap(4) enhancement
□ Intel wireless towards 11ac
□ More wireless updates
□ Enabling Snapshots on Filesystems Using Journaled Soft Updates
• Architectures
□ FreeBSD/Firecracker
• Documentation
□ Documentation Engineering Team
• Ports
□ Calendar-data: License added
□ KDE on FreeBSD
□ GCC: New maintainer, GCC 12.2 and more
□ sysutils/lsof major upgrade
• Third Party Projects
□ Containers and FreeBSD: Pot, Potluck and Potman
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FreeBSD Team Reports
Entries from the various official and semi-official teams, as found in the Administration Page.
FreeBSD Core Team
Contact: FreeBSD Core Team <
core@FreeBSD.org>
The FreeBSD Core Team is the governing body of FreeBSD.
Completed Items
New Core Team Secretary
All members of the Core Team express publicly their gratitude to Muhammad Moinur Rahman (bofh) for serving as the Core Team Secretary for the past two years.
The Core Team approved Sergio Carlavilla (carlavilla) as the new Core Team secretary.
Procedure to handle GDPR deletion request
The Core Team has reviewed the procedure to handle GDPR deletions requests with help from Foundation lawysers. The document is currently being written and will be published after completion.
New Privacy Policy
The Core Team is working closely with the FreeBSD Foundation to update the Privacy Policy to properly align with current laws and practices found on similar websites such as ours.
Bruce Evans memorial plaque
The Core Team unanimously votes to allow the memorial plaque for Bruce Evans mentioning him as co-founder of FreeBSD.
EuroBSDCon core team office hour
On Friday, September 16, the new Core Team presented at EuroBSDcon 2022 Developer Summit. The Core Team introduced themselves and talked a bit about their plans for this term. There were discussions, Q & A, and suggestions from the attendees about the details.
Commit bits
Core approved reactivating the source commit bit for Konrad Witaszczyk (def@). Right now Konrad is working at Cambridge University, where he is responsible for developing CheriBSD.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FreeBSD Foundation
Links:
FreeBSD Foundation URL:
https://www.FreeBSDFoundation.org
Technology Roadmap URL:
https://FreeBSDFoundation.org/blog/technology-roadmap/ Donate URL:
https://www.FreeBSDFoundation.org/donate/
Foundation Partnership Program URL:
https://www.FreeBSDFoundation.org/ FreeBSD-foundation-partnership-program
FreeBSD Journal URL:
https://www.FreeBSDFoundation.org/journal/
Foundation News and Events URL:
https://www.FreeBSDFoundation.org/ news-and-events/
Contact: Deb Goodkin <
deb@FreeBSDFoundation.org>
The FreeBSD Foundation is a 501(c)(3) non-profit organization dedicated to supporting and promoting the FreeBSD Project and community worldwide. Donations from individuals and corporations are used to fund and manage software development projects, conferences, and developer summits. We also provide travel grants to FreeBSD contributors, purchase and support hardware to improve and maintain FreeBSD infrastructure, and provide resources to improve security, quality assurance, and release engineering efforts. We publish marketing material to promote, educate, and advocate for the FreeBSD Project, facilitate collaboration between commercial vendors and FreeBSD developers, and finally, represent the FreeBSD Project in executing contracts, license agreements, and other legal arrangements that require a recognized legal entity.
Fundraising Efforts
First, I’d like to send a big thank you to everyone who gave a financial contribution to our efforts. We are 100% funded by your donations, so every contribution helps us continue to support FreeBSD in many ways, including some of the work funded and published in this status report.
We support FreeBSD in five main areas. Software development is the largest area we fund with through staff developers and contractors who implement new features, support tier 1 platforms, review patches, and fix issues. You can find out some of the work we did under OS Improvements in this report. FreeBSD Advocacy is another area that we support to spread the word about FreeBSD at conferences, in presentations online and in-person, tutorials and how-to guides. We purchase and support hardware for the FreeBSD infrastructure that supports the work going on in the Project. Virtual and in-person events are organized by the Foundation to help connect and engage community members to share their knowledge and collaborate on projects. Finally, we provide legal support to the Project when needed and protect the FreeBSD trademarks.
Our goal this year is to raise at a minimum $1,400,000 towards a spending budget of around $2,000,000. As we enter the last quarter of 2022, our donation total sits at $167,348, so we still need your help. If you haven’t made a donation this year, please consider making one at
https://freebsdfoundation.org /donate/. We also have a Partnership Program for larger commercial donors. You can find out more at
https://freebsdfoundation.org/our-donors/ freebsd-foundation-partnership-program/
OS Improvements
During the second quarter of 2022, 300 src, 36 ports, and 13 doc tree commits were made that identified The FreeBSD Foundation as a sponsor. Some of that work has dedicated report entries.
• FreeBSD as a Tier I cloud-init Platform
• Intel wireless towards 11ac
• LLDB multiprocess debugging support
• OpenStack on FreeBSD
• Snapshots on Filesystems Using Journaled Soft Updates
The other sponsored work is challenging to concisely summarize. It varies from complex new features to various bug fixes spanning the src tree. Here is a small sample to give a flavor of last quarter’s work.
• 240afd8 makefs: Add ZFS support
This allows one to take a staged directory tree and create a file consisting
of a ZFS pool with one or more datasets that contain the contents of the
directory tree. This is useful for creating virtual machine images without
using the kernel to create a pool; "zpool create" requires root privileges and
currently is not permitted in jails. makefs -t zfs also provides reproducible
images by using a fixed seed for pseudo-random number generation, used for
generating GUIDs and hash salts. makefs -t zfs requires relatively little by
way of machine resources.
• 36f1526 Add experimental 16k page support on arm64
Add initial 16k page support on arm64. It is considered experimental, with no
guarantee of compatibility with userspace or kernel modules built with the
current 4k page size. Testing has shown good results in kernel workloads that
allocate and free large amounts of memory as only a quarter of the number of
calls into the VM subsystem are needed in the best case.
• 1424f65 vm_pager: Remove the default pager
It's unused now. Keep the OBJ_DEFAULT identifier, but make it an alias of
OBJT_SWAP for the benefit of out-of-tree code.
• a889a65 eventtimer: Fix several races in the timer reload code
In handleevents(), lock the timer state before fetching the time for the next
event. A concurrent callout_cc_add() call might be changing the next event
time, and the race can cause handleevents() to program an out-of-date time,
causing the callout to run later (by an unbounded period, up to the idle
hardclock period of 1s) than requested.
Bhyve Issue Support
The Foundation contracted John Baldwin to dedicate time to Bhyve as issues arise, especially security issues. Here is a summary of his 2022q3 work on that contract.
• bb31aee bhyve virtio-scsi: Avoid out of bounds accesses to guest requests.
• 62806a7 bhyve virtio-scsi: Tidy warning and debug prints.
• 7afe342 bhyve e1000: Sanitize transmit ring indices.
• c94f30e bhyve: Validate host PAs used to map passthrough BARs.
• 16bedf5 pci: Add helper routines to iterate over a device’s BARs.
• baf753c bhyve: Support other schemes for naming pass-through devices.
• fa46f37 bhyve e1000: Skip packets with a small header.
• e7439f6 bhyve xhci: Cache the value of MaxPStreams when initializing an
endpoint.
RISC-V Improvements
At the end of the quarter, the Foundation contracted Mitchell Horne to add and improve support for RISC-V hardware. Mitchell will also perform general maintenance such as fixing bugs, handling reports, providing review for new code changes, and improving source code legibility and documentation.
Continuous Integration and Quality Assurance
The Foundation provides a full-time staff member and funds projects to improve continuous integration, automated testing, and overall quality assurance efforts for the FreeBSD project. You can read about CI activities this quarter in a dedicated entry.
FreeBSD Advocacy and Education
Much of our effort is dedicated to Project advocacy. This may involve highlighting interesting FreeBSD work, producing literature and video tutorials, attending events, or giving presentations. The goal of the literature we produce is to teach people FreeBSD basics and help make their path to adoption or contribution easier. Other than attending and presenting at events, we encourage and help community members run their own FreeBSD events, give presentations, or staff FreeBSD tables.
The FreeBSD Foundation sponsors many conferences, events, and summits around the globe. These events can be BSD-related, open source, or technology events geared towards underrepresented groups. We support the FreeBSD-focused events to help provide a venue for sharing knowledge, working together on projects, and facilitating collaboration between developers and commercial users. This all helps provide a healthy ecosystem. We support the non-FreeBSD events to promote and raise awareness of FreeBSD, to increase the use of FreeBSD in different applications, and to recruit more contributors to the Project. We are continuing to attend events both in person and virtual as well as planning the November Vendor Summit. In addition to attending and planning virtual events, we are continually working on new training initiatives and updating our selection of how-to guides to facilitate getting more folks to try out FreeBSD.
Check out some of the advocacy and education work we did last quarter:
• Held a FreeBSD Workshop and Staffed a booth at Scale 19x in Los Angeles, CA
on July 28-30. You can read more about our participation in the SCALE19X
Conference Report
• Sponsored and attended COSCUP, July 30-31, Taiwan
• Attended the EuroBSDCon Developer Summit and sponsored and attended
EuroBSDcon 2022, September 15-18, Vienna, Austria
• Sponsored and Presented at the Rocky Mountain Celebration of Women in
Computing, September 29-30, 2022. Slides from Deb’s presentation can be
found here.
• Published the FreeBSD Foundation Summer 2022 Update
• Continued our participation in Google Summer of Code as both an admin and
mentors. Interviews with some of the Google Summer of Code Students can be
found here.
• Introduced a new FreeBSD Resources page that allows for search by type of
subject, type of content and difficulty level.
• New Blog Posts:
□ Guest Post: FreeBSD in Science
□ Advocating for FreeBSD in 2022 and Beyond
□ August Foundation Fundraising Update
□ Sharing Dual-Licensed Drivers between Linux and FreeBSD
• New and Updated How-To and Quick Guides:
□ FreeBSD Quick Guide: Video Playback on FreeBSD
□ Binary Package Management on FreeBSD
We help educate the world about FreeBSD by publishing the professionally produced FreeBSD Journal. As we mentioned previously, the FreeBSD Journal is now a free publication. Find out more and access the latest issues at
https:// www.FreeBSDfoundation.org/journal/.
You can find out more about events we attended and upcoming events at
https:// www.FreeBSDfoundation.org/news-and-events/.
Legal/FreeBSD IP
The Foundation owns the FreeBSD trademarks, and it is our responsibility to protect them. We also provide legal support for the core team to investigate questions that arise.
Go to
https://www.FreeBSDFoundation.org to find more about how we support FreeBSD and how we can help you!
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FreeBSD Release Engineering Team
Links:
FreeBSD 12.4-RELEASE schedule URL:
https://www.freebsd.org/releases/12.4R/ schedule/
FreeBSD 13.2-RELEASE schedule URL:
https://www.freebsd.org/releases/13.2R/ schedule/
FreeBSD 14.0-RELEASE schedule URL:
https://www.freebsd.org/releases/14.0R/ schedule/
FreeBSD development snapshots URL:
https://download.freebsd.org/snapshots/ ISO-IMAGES/
Contact: FreeBSD Release Engineering Team, <
re@FreeBSD.org>
The FreeBSD Release Engineering Team is responsible for setting and publishing release schedules for official project releases of FreeBSD, announcing code freezes and maintaining the respective branches, among other things.
During the third quarter of 2022, the Release Engineering Team continued providing weekly development snapshot builds for the main, stable/13, and stable/12 branches.
Additionally, the schedules for the upcoming 12.4, 13.2, and 14.0 release cycles were published on the Project website.
Sponsor: Rubicon Communications, LLC ("Netgate") Sponsor: The FreeBSD Foundation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Cluster Administration Team
Links:
Cluster Administration Team members URL:
https://www.freebsd.org/administration /#t-clusteradm
Contact: Cluster Administration Team <
clusteradm@FreeBSD.org>
FreeBSD Cluster Administration Team members are responsible for managing the machines the Project relies on to synchronise its distributed work and communications. In this quarter, the team has worked on the following:
• Added additional storage to the CI system. It will help store more
artifacts.
• VuXML deployed in all official mirrors. It speeds up the pkg audit
functionality.
• A new (and additional) monitoring system is in place.
• A few old and faulty machines were decommissioned.
• Moved several services to newer hardware.
• Regular cluster-wide software upgrades
• Regular support for FreeBSD.org user accounts
• Regular disk and parts support (and replacement) for all physical hosts and
mirrors.
Work in progress:
• git infra: Add --filter support.
• Work with the PowerPC team to improve the package builders, universal, and
reference machines.
• Site audit at our primary site: inventory of spares and other miscellanea
occupying space in our cabinets.
• Discussions with Juniper about a donation of new switches for our primary
site.
• Plan for a large scale network upgrade at our primary site.
• Cluster refresh (more extended project). Most cluster machines are running
FreeBSD 13-STABLE or 14-CURRENT as of 2022-09-30. Only a handful of
machines are still on FreeBSD 12-STABLE.
We are looking for an additional full mirror site (five servers) in Europe. See generic mirrored layout for our needs. Offers of additional single-server mirrors are always welcome too, especially in Europe.
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Continuous Integration
Links:
FreeBSD Jenkins Instance URL:
https://ci.FreeBSD.org
FreeBSD CI artifact archive URL:
https://artifact.ci.FreeBSD.org
FreeBSD Jenkins wiki URL:
https://wiki.freebsd.org/Jenkins
Hosted CI wiki URL:
https://wiki.freebsd.org/HostedCI
3rd Party Software CI URL:
https://wiki.freebsd.org/3rdPartySoftwareCI
Tickets related to freebsd-testing@ URL:
https://preview.tinyurl.com/y9maauwg FreeBSD CI Repository URL:
https://github.com/freebsd/freebsd-ci
dev-ci Mailing List URL:
https://lists.freebsd.org/subscription/dev-ci
Contact: Jenkins Admin <
jenkins-admin@FreeBSD.org>
Contact: Li-Wen Hsu <
lwhsu@FreeBSD.org>
Contact: freebsd-testing Mailing List
Contact: IRC #freebsd-ci channel on EFNet
The FreeBSD CI team maintains the continuous integration system of the FreeBSD project. The CI system checks the committed changes can be successfully built, then performs various tests and analysis over the newly built results. The artifacts from those builds are archived in the artifact server for further testing and debugging needs. The CI team members examine the failing builds and unstable tests and work with the experts in that area to fix the code or adjust test infrastructure.
During the third quarter of 2022, we continued working with the contributors and developers in the project to fulfill their testing needs and also keep collaborating with external projects and companies to improve their products and FreeBSD.
Important completed tasks:
• Expand the artifact storage space for adding more types of artifacts and
longer retention period.
• Present Testing/CI Status Update in EuroBSDcon 2022 Developer Summit
• Add main-powerpc-images and main-powerpcspe-images
Work in progress tasks:
• Designing and implementing pre-commit CI building and testing (to support
the workflow working group)
• Designing and implementing use of CI cluster to build release artifacts as
release engineering does
• Testing and merging pull requests in the FreeBSD-ci repo
• Simplifying CI/test environment setting up for contributors and developers
• Setting up the CI stage environment and putting the experimental jobs on it
• Organizing the scripts in freebsd-ci repository to prepare for merging to
src repository
• Updating documents on wiki
Open or queued tasks:
• Collecting and sorting CI tasks and ideas
• Setting up public network access for the VM guest running tests
• Implementing use of bare-metal hardware to run test suites
• Adding drm ports building tests against -CURRENT
• Planning to run ztest tests
• Adding more external toolchain related jobs
• Improving maturity of the hardware lab and adding more hardware for testing
• Helping more software get FreeBSD support in its CI pipeline (Wiki pages:
3rdPartySoftwareCI, HostedCI)
• Working with hosted CI providers to have better FreeBSD support
Please see freebsd-testing@ related tickets for more WIP information, and don’t
hesitate to join the effort!
Sponsor: The FreeBSD Foundation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Ports Collection
Links:
About FreeBSD Ports URL:
https://www.FreeBSD.org/ports/
Contributing to Ports URL:
https://docs.freebsd.org/en/articles/contributing/# ports-contributing
FreeBSD Ports Monitoring URL:
http://portsmon.freebsd.org/
Ports Management Team URL:
https://www.freebsd.org/portmgr/
Ports Tarball URL:
http://ftp.freebsd.org/pub/FreeBSD/ports/ports/
Contact: René Ladan <
portmgr-secretary@FreeBSD.org>
Contact: FreeBSD Ports Management Team <
portmgr@FreeBSD.org>
The Ports Management Team is responsible for overseeing the overall direction of the Ports Tree, building packages, and personnel matters. Below is what happened in the last quarter.
Currently there are just over 30,500 ports in the Ports Tree. There are currently just under 2,800 open ports PRs of which 750 are unassigned. The last quarter saw 9,137 commits by 151 committers on the main branch and 589 commits by 61 committers on the 2022Q3 branch. Compared to two quarters ago, this means a slight increase in the number of ports, but also a slight increase in the number of (unassigned) ports PRs and a slight decrease in the number of commits made.
In the last quarter, we welcomed Felix Palmen (zirias@) as a new ports committer, welcomed back Akinori MUSHA (knu@), and said goodbye to Olli Hauer (ohauer@). We also welcomed Luca Pizzamiglio (pizzamig@) as an official member of portmgr.
Some large changes in the Ports Tree were made during the last quarter:
• "Created by" lines have been removed from the top of each Makefile, as a
lot of those were outdated.
• WWW: has been moved from each pkg-descr into each Makefile as a variable;
the below write-up is from Stefan Eßer (se@) who did the work:
The description of a port’s functionality should end with the URL of a web page
that provides further information, such as best practices for usage or configuration. This information can be displayed with pkg query -e for installed packages or pkg rquery -e for available packages. The URL used to be appended to the end of the ports' pkg-descr files, with the prefix "WWW: ", so that tools could extract the URL from the description. Over time, many of these URLs have become stale, since port updates generally change only the Makefile, not the pkg-descr file. By moving the definition of these URLs into the Makefiles, maintainers are more likely to update the URL along with other port changes, and tools have easier access to them. The URLs are now assigned to the WWW macro in the Makefile and can be queried with make -V WWW in the port directory. Tools that process the description contained in the package files still work because the "WWW: " lines at the end are generated from the WWW values in the Makefiles.
During EuroBSDCon, portmgr@ had a discussion about improving the situation for kernel module packages. Various possibilities have been discussed.
The following happened under the hood:
• one new USES, "vala", was added.
• The default version of Go got bumped to 1.19
• CMake is now a meta-port
• Initial support for Qt 6 was added, at version 6.3.2
• Vim no longer installs a system-wide vimrc
• A number of major ports got updated:
□ pkg 1.18.4
□ Chromium 106.0.5249.91
□ Firefox 105.0.1
☆ Firefox ESR 102.3.0
□ KDE Applications 22.8.1
□ KDE Frameworks 5.98
□ Rust 1.63.0
□ SDL 2.24.0
□ Xorg server 21.1.4 (overhaul)
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Projects
Projects that span multiple categories, from the kernel and userspace to the Ports Collection or external projects.
OpenStack on FreeBSD
Links:
OpenStack URL:
https://www.openstack.org/
OpenStack on FreeBSD URL:
https://github.com/openstack-on-freebsd
Contact: Chih-Hsin Chang <
starbops@hey.com>
Contact: Li-Wen Hsu <
lwhsu@FreeBSD.org>
OpenStack is an open-source cloud operating system for different types of resources like virtual and bare-metal machines. Users can spawn FreeBSD instances on the open cloud platform, but it is not currently possible to run OpenStack control plane on FreeBSD hosts. The goal of this project is to port key OpenStack components so that FreeBSD can function as an OpenStack host.
Academic and industrial research groups have been evaluating CHERI-enabled Morello boards since mid-2022. A resource orchestration platform like OpenStack can improve the speed and cost of provisioning, managing, and recycling those boards.
Starting in January 2022, Chih-Hsin Chang has been working to port several OpenStack components to run on FreeBSD, including:
• Keystone (identity service)
• Glance (image service)
• Placement (resource tracking and inventory service)
• Neutron (networking service)
• Nova (compute service)
Some of the items are still under heavy development. For instance, due to the design of Neutron, the DHCP servers are placed inside Linux network namespaces. It is necessary to find an alternative, e.g. vnet, on FreeBSD and adapt it. Most of the time the porting strategy is to make as small of an impact as possible by working around obstacles. But something like oslo.privsep deserves a true porting. oslo.privsep is rooted in Linux capabilities to do the privilege separation work. Right now we just bypassed any Linux capabilities-related operation inside oslo.privsep. So there is plenty of hackish spots in the source code and configurations currently. All of these along with the building and installation steps will be collected in the project repositories.
In Q4 Chih-Hsin plans to focus on porting Neutron and Nova in order to complete the VM lifecycle operations. The highlights include:
• DHCP integration
• FreeBSD bridge driver/agent
• Bhyve + Libvirt integration
Sponsor: The FreeBSD Foundation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
FreeBSD as a Tier 1 cloud-init Platform
Links:
cloud-init Website URL:
https://cloud-init.io/
cloud-init Documentation URL:
https://cloudinit.readthedocs.io/en/latest/ cloud-init ongoing refactorization URL: link:
https://github.com/canonical/ cloud-init/blob/main/WIP-ONGOING-REFACTORIZATION.rst
Contact: Mina Galić <
me+FreeBSD@igalic.co>
cloud-init is the standard way of provisioning servers in the cloud. Unfortunately, cloud-init support for operating systems other than Linux is rather poor, and the lack of cloud-init support on FreeBSD is a hindrance to cloud providers who want to offer FreeBSD as a Tier 1 platform. To remedy the situation, this project aims to bring FreeBSD cloud-init support on par with Linux support. The broader plan is to lift support across all BSDs.
The project deliverables include completing an extraction of certain networking classes, implementing ifconfig(8) and login.conf(5) parsers, implementing IPv6 configuration, creating devd.conf(5) rules for Azure, and FreeBSD Handbook documentation about productionizing FreeBSD.
On the way there, any BSD-related bugs found in modules and documentation will also be fixed.
People interested in helping with the project can help with testing new features and fixes through net/cloud-init-devel, which will be updated on a weekly basis. Further, people with access to, and experience with, OpenBSD and NetBSD are also highly welcome to help.
Sponsor: The FreeBSD Foundation
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Userland
Changes affecting the base system and programs in it.
bhyve debug server enhancements
Links:
link: Wiki project page
link: Differential
Contact: Bojan Novković <
bojan.novkovic@kset.org>
The goal of this project was to enhance the functionality of bhyve’s debug server. Several existing features related to single-stepping are tied to Intel-specific VM mechanisms, which severely impairs bhyve’s debugging functionality on other x86 platforms. The first goal dealt with extending single-stepping support to AMD hosts. The second goal was to add support for hardware watchpoints using the guest OS’s hardware debugging registers.
The project was carried out under Google’s Summer of Code program and was finished around the end of July. The project’s wiki also contains detailed documentation regarding several implemented mechanisms.
The changes can be summarized as follows:
• Support for placing software breakpoints inside virtual machines on AMD
platforms,
• Support for single-stepping virtual machines on AMD platforms,
• Support for placing hardware watchpoints inside virtual machines on Intel
and AMD platforms.
Any feedback, comments and discussions are welcome and would be greatly appreciated.
Sponsor: Google Summer of Code
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
Rewrite of pjdfstest
Links:
Github URL:
https://github.com/musikid/pjdfstest
Blog URL:
https://musikid.github.io/blog/rewrite-pjdfstest/
Contact: Alan Somers <
asomers@FreeBSD.org>
Back in 2007, Pawel Jakub Dawidek <
pjd@FreeBSD.org> wrote pjdfstest, a POSIX file system conformance test tool. He originally wrote it to validate the port of ZFS to FreeBSD, but it has subsequently been used for other file systems and
[continued in next message]
--- SoupGate-Win32 v1.05
* Origin: fsxNet Usenet Gateway (21:1/5)