FreeBSD Status Report - Fourth Quarter 2024
28 February, 2025 by salvadore@freebsd.org | freebsd
FreeBSD Status Report Fourth Quarter 2024 Here is the fourth and last 2024 status report, with 44 entries. It shows: 2024 has been a tremendously successful and busy year. Usually, one would expect the final months in a year to be less busy, with people leaving for holidays and New Years celebration. We still managed to deliver and see great progress on so many things! Collecting and compiling this report took longer than planned, but it was worth the wait. Thank you to the whole community for your amazing work and an especially big thanks to those who contributed updates to this report! Enjoy the read! Chris Moerz, on behalf of the Status Team. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ A rendered version of this report is available here: https://www.freebsd.org/status/report-2024-10-2024-12/ ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Table of Contents • FreeBSD Team Reports □ FreeBSD Core Team □ FreeBSD Foundation □ FreeBSD Release Engineering Team □ Cluster Administration Team □ Continuous Integration □ Ports Collection □ Bugmeister Team □ New srcmgr team • Projects □ Infrastructure Modernization □ Laptop Support and Usability Improvements Project □ Security engineering at the FreeBSD Foundation □ Security Audits □ Framework Laptop support • Userland □ PkgBase-motivated improvements to pkg □ Progress on the FreeBSD installer • Kernel □ Audio Stack Improvements □ mac_do(4), setcred(2), mdo(1) □ Suspend/Resume Improvements □ umb(4) driver for MBIM USB 4G/5G modems □ LinuxKPI 802.11 Wireless Update □ Wireless Update □ Syzkaller Improvement on FreeBSD • Architectures □ Pinephone Pro Support • Cloud □ FreeBSD on Microsoft HyperV and Azure □ OpenStack on FreeBSD □ Containers and FreeBSD: Cloud Native Buildpacks □ FreeBSD on EC2 • Documentation □ Documentation Engineering Team • Ports □ Ports Collection Accessibility - Colors Low Vision □ Containers and FreeBSD: AppJail, Director, OCI and more □ Improving Common Lisp Infrastructure in FreeBSD Ports □ FreeBSD Erlang Ecosystem Ports update □ Improve OpenJDK on FreeBSD □ Xfce on FreeBSD □ LXQt on FreeBSD □ GCC on FreeBSD □ Tor-Browser □ Greenbone Vulnerability Management Community Edition □ Wazuh on FreeBSD □ A bhyve management GUI written in Freepascal/Lazarus □ BSD-USER 4 LINUX • Third Party Projects □ Laptop and Desktop Work Group (LDWG) □ 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. Following up with the FreeBSD Foundation Core had a video conference with the FreeBSD Foundation on 2024-12-12 to follow-up on their in-person meeting held in Dublin during EuroBSDCon. Core and the Foundation continue discussing how to improve the collaboration and how to support developers and contributors: • The next round of community survey • Identifying projects where core would like help from the Foundation • Work on the technical roadmap with the Foundation Work in Progress Core is currently working on the following items: • Policy on generative AI created code and documentation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FreeBSD Foundation Links: FreeBSD Foundation URL: https://freebsdfoundation.org/ Technology Roadmap URL: https://freebsdfoundation.org/blog/technology-roadmap/ Donate URL: https://freebsdfoundation.org/donate/ Foundation Partnership Program URL: https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/ FreeBSD Journal URL: https://freebsdfoundation.org/journal/ Foundation Events URL: https://freebsdfoundation.org/our-work/events/ Contact: Deb Goodkin <deb@FreeBSDFoundation.org> The FreeBSD Foundation is a 501(c)(3) non-profit organization dedicated to advancing FreeBSD through technical and non-technical support. Funded entirely by donations, the Foundation supports software development, infrastructure, security, and collaboration efforts; organizes events and developer summits; provides educational resources; and represents the FreeBSD Project in legal matters. The following report covers just some of the ways we supported FreeBSD in Q4. Deb Goodkin here. On behalf of the Foundation, I want to start out by saying thank you to this amazing community! Your financial contributions have allowed us to step up and take on some significant projects, including large, multi-phase software development work, greater security improvements, and important infrastructure improvements that will continue through 2025. We also increased our FreeBSD advocacy efforts over many different technical and social media platforms, including creating more content to promote and advocate for FreeBSD. You’ll find more information about all of this work below. For a more in-depth look at our efforts in 2024, be sure to check out the year-end blog posts and my year-end reflections in the advocacy section below. We are hiring! Check out our jobs page here for our Solutions Specialist and Technical Marketing Manager job postings. Plus, we are looking for part-time technical writers and will be opening up another position soon, so keep an eye on this page https://freebsdfoundation.org/open-positions/. We are still finalizing our 2024 fundraising numbers, but at this writing, we have raised around $1,324,000. You might be thinking, why do not we have a final tally now that it is 2025? First, we have not yet received all the checks postmarked 2024 . We are also waiting on a few payments from invoices issued last year. We will have a final report in the next quarterly status report. Thank you to the individuals and organizations that made a financial contribution in Q4! We received 325 donations from individuals totaling $120,841 and six financial contributions from organizations totaling $326,000. We also received a grant from the Silicon Valley Community Fund. I would also like to send a shoutout to the anonymous donor who wanted us to help get Framework laptops into developers' hands. Pietro Cerutti has been coordinating that effort, and we are close to finalizing the process with Framework so developers can place their orders directly with them. We also funded almost $5,000 worth of AV equipment for the BSDCon AV team to minimize the amount of equipment needed to rent at each of the two main BSD conferences. Now, back to our financials. We will be publishing 2024 financial documents and reports in Q1. Our updated Q1-Q3 2024 Financial reports will be published by the end of January and will better match the budget format. The Final 2024 financial reports will be published in early Q2. Going forward, our budget and financial reports will provide more details on how funding is allocated to the major software development projects. For example, we will include how much was spent on the laptop project each quarter. We are working with our accountant to improve our accounting systems to be more transparent on how we spend our money. We are excited about the opportunities for FreeBSD in 2025 and beyond, and are growing our team to help support the work needed to take advantage of these opportunities. However, we need your help to sustain this. Our investments will only carry on this work for a year or two at most. If your company is invested in the long-term sustainability of FreeBSD, please consider giving a financial contribution so we can ensure it stays the secure, reliable, and innovative platform you depend on. Not sure how to go about asking? Please reach out. We can help you navigate the process. Please go here to make a donation: https://freebsdfoundation.org/donate/. To find out more about our Partnership Program, go here: https://freebsdfoundation.org/our-donors/freebsd-foundation-partnership-program/. Advocacy During the 4th quarter of 2024, we continued to raise awareness, advocate for the project, showcase users, while also providing educational content to the FreeBSD community. Here are some highlights of those efforts. • Sponsored and helped to organize the Fall 2024 FreeBSD Summit which took place November 7-8, 2024 in San Jose, CA. Check out the event recap. Videos are available on the FreeBSD YouTube channel. • Updated the community on two of the new releases: □ FreeBSD 13.4: What’s new, and how did we get here? □ FreeBSD 14.2: What’s new, and how did we get here? • Published the NYI Case Study • Shared the FreeBSD Foundation 2024 Report on the Security Audit of the Capsicum and bhyve subsystems. Learn more in the Security Audit. • Created a series of year end retrospectives on the work we did in 2024. □ Your Impact on FreeBSD: 2024 Milestones and What’s Next □ 2024: A Year of Advocacy and Growth for the FreeBSD Foundation □ Celebrating 2024’s Collaborative Achievements at the FreeBSD Foundation □ FreeBSD Foundation: A Year of Sponsored Development in 2024 □ Reflecting on a Successful 2024 • Published additional blogs including: □ Why Your Open Source Project Should Prioritize Security: Lessons from FreeBSD’s Proactive Approach □ Why FreeBSD Should Be the Foundation for Your Security Product □ Celebrating FreeBSD Day with Tara Stella: A Journey from Linux to FreeBSD □ Advancing Cloud Native Containers on FreeBSD: Podman Testing Highlights • Participated in the following contributed articles, interviews and podcasts: □ All Things Open Blog: Prioritizing Security: Lessons from FreeBSD’s Proactive Approach □ FreeBSD Foundation Releases Bhyve and Capsicum Security Audit Funded by Alpha-Omega Project □ Why We Use FreeBSD Over Linux: A CTO’s Perspective • Published the October 2024, November 2024, and December 2024 FreeBSD Foundation Newsletters. • Released the September/October 2024 issue of the FreeBSD Journal with HTML versions of the articles. OS Improvements During the fourth quarter of 2024, 382 src, 135 ports, and 17 doc tree commits identified The FreeBSD Foundation as a sponsor. The Foundation and its investment partners supported four major projects: • Konstantin Belousov continued work on an AMD IOMMU driver for FreeBSD, a project jointly funded by AMD and the Foundation. This effort aims to enhance support for large-core AMD systems and other scenarios requiring interrupt remapping. The driver was pushed to the src tree in early November and continues to undergo testing and refinement. • Alpha-Omega and the Foundation have been jointly funding a project to improve FreeBSD security. For the latest updates, refer to the Security Engineering at the FreeBSD Foundation entry for the latest updates. • A project to improve FreeBSD laptop usability began this quarter. For details, refer to the Laptop Support and Usability Improvements Project report entry. • Work commissioned by the Sovereign Tech Agency to modernize FreeBSD’s infrastructure continued this quarter. The goal of this work is to help achieve and sustain a manageable bug backlog. As part of this effort, The Foundation worked with Bitergia to analyze and assess open Bugzilla bugs. Muhammad Moinur Rahman finished porting Grimoirelab and deploying Grimoire in the FreeBSD cluster. Other projects: • Alfonso S. Siciliano provided a FreeBSD Accessibility Project update. • Aymeric Wibo began implementing suspend-to-idle and S0ix sleep support. • Bjoern A. Zeeb shared a LinuxKPI 802.11 Wireless Update. • Chih-Hsin Chang continued work to improve OpenStack on FreeBSD. • Christos Margiolis shared an update on work to improve the FreeBSD audio stack. • Harald Eilersten began working on a project to improve OpenJDK on FreeBSD. • Isaac Freund worked on PkgBase-motivated improvements to pkg. • Jian-Lin Li began a project to improve Syzkaller on FreeBSD. • Joseph Mingrone spent time on a personal project to improve Common Lisp support in the ports tree. • Olivier Certner submitted a report entry describing the work he completed with Baptiste Daroussin to allow controlled process credentials transitions using the MAC framework. • Pierre Pronchery returned to working on a umb(4) driver for MBIM USB 4G/5G modems and he shared an update on work to improve the FreeBSD Installer. • Tom Jones started porting the iwx WiFi driver from OpenBSD (via Haiku). Other members of the Foundation’s development team contributed to FreeBSD development efforts. For example: • Mitchell Horne worked with community contributor Julien Cassette to add a RISC-V Allwinner D1 clock and reset driver. • Chuck Tuffli, John Baldwin, and Pierre Pronchery fixed a few bhyve issues: □ bounds checks in hda_codec □ out-of-bounds read in NVMe log page □ infinite loop in queue processing □ buffer overflow in pci_vtcon_control_send □ robustness of TRIM handling. • In the ports tree, Muhammad Moinur Rahman converted USE_OCAML and USE_JAVA to the USES framework. • Ed Maste squashed a couple of makefs(8) bugs related to creating ISO9660 filesystems via the cd9660(4) driver: □ cd9660 filename buffer maximum length □ cd9660 duplicate directory names. Continuous Integration and Workflow Improvement As part of our continued support of the FreeBSD Project, the Foundation supports a full-time staff member dedicated to improving the Project’s continuous integration system and test infrastructure. 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://freebsdfoundation.org to find more about how we support FreeBSD and how we can help you! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FreeBSD Release Engineering Team Links: FreeBSD 14.2-RELEASE announcement URL: https://www.freebsd.org/releases/14.2R/announce/ FreeBSD 13.5-RELEASE schedule URL: https://www.freebsd.org/releases/13.5R/schedule/ FreeBSD releases URL: https://download.freebsd.org/releases/ISO-IMAGES/ 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. The Team managed 14.2-RELEASE, leading to the official RELEASE build and announcement in December. Planning has started for the upcoming 13.5-RELEASE cycle, which is expected to be the final release from the legacy stable/13 branch; as such it will include updates to "contrib" code and some bug fixes, but is not expected to have any significant new features. In addition to previously shipped release artifacts (ISO and memory stick images, VM images, cloud offerings, etc.) the Team is now also providing OCI compatible container images. The Release Engineering Team continued providing weekly development snapshot builds for the main, stable/14, and stable/13 branches. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 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 synchronize its distributed work and communications. In this quarter, the team has worked on the following: • Regular support for FreeBSD.org user accounts. • Regular disk and parts support (and replacement) for all physical hosts and mirrors. • Cluster software refresh. • Moving more cluster services to Chicago. • Supporting the Grimoirelab dashboard effort. Cluster software refresh Except for the package builders and developer-facing ("dogfood") machines, the FreeBSD cluster mostly tracks stable/X branches. At the time of this writing, there are 131 physical machines in the cluster. We have 54 machines on current, 61 on stable/14 and 14 on stable/13. Work continues to upgrade the remaining stable/13 machines to stable/14. The stable/ 12 machines have been slated for decommissioning for a while; they do not run production workloads. The remaining machines are slated for upgrading or decommissioning in the near future. Of the 297 jails in the cluster, 222 are now on stable/14. 12.x: Regular 2, Jails 7 13.x: Regular 14, Jails 59 14.x: Regular 61, Jails 222 >15.x: Regular 54, Jails 9 Total: Regular 131, Jails 297 Total installations: 428 Running -RELEASE|{-p*}: 0 Total geographic sites: 15 Moving cluster services to Chicago Earlier this year, we started building up our new site in Chicago. This quarter, we began decommissioning older machines in New Jersey and moving services to the newer machines in Chicago. Our long-term goal is for Chicago to become our primary location. This work will take several more months to complete. FreeBSD Official Mirrors Overview Current locations are Australia, Brazil, Germany, Japan (two full mirror sites), Malaysia, South Africa, Sweden, Taiwan, United Kingdom (full mirror site), United States of America — California, Chicago, New Jersey (primary site), and Washington. Our mirror site in Taiwan is experiencing an extended outage. We hope to have it back online during the first quarter of 2025. Also during the first quarter of 2025, we expect a second mirror site in California, generously hosted by Sonic. The hardware and network connection have been generously provided by: • Cloud and SDN Laboratory at BroadBand Tower, Inc • Department of Computer Science, National Yang Ming Chiao Tung University • Equinix • Internet Association of Australia • Internet Systems Consortium • INX-ZA • KDDI Web Communications Inc • Malaysian Research & Education Network • MetaPeer • New York Internet • NIC.br • Teleservice Skåne AB • Your.Org New official mirrors are always welcome. We have noted the benefits of hosting single mirrors at Internet Exchange Points globally, as evidenced by our existing mirrors in Australia, Brazil, and South Africa. If you are affiliated with or know of any organizations willing to sponsor a single mirror server, please contact us. We are particularly interested in locations on the United States West Coast and throughout Europe. See generic mirrored layout for full mirror site specs and tiny-mirror for a single mirror site. Sponsors: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Continuous Integration Links: FreeBSD Jenkins Instance URL: https://ci.FreeBSD.org FreeBSD CI Tinderbox view URL: https://tinderbox.freebsd.org FreeBSD CI artifact archive URL: https://artifact.ci.FreeBSD.org 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://bugs.freebsd.org/bugzilla/buglist.cgi?bug_status=open&email1=testing%40FreeBSD.org&emailassigned_to1=1&emailcc1=1&emailtype1=equals 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 In the fourth quarter of 2024, we worked with the project contributors and developers to address their testing requirements. Concurrently, we collaborated with external projects and companies to enhance their products by testing more on FreeBSD. Important completed tasks: • Update main and stable/14 build environment to 14.2-RELEASE • Update stable/13 build environment to 13.4-RELEASE • Fixed an old but not revealed bug about pw(1) usage in jail setup. Work in progress tasks: • Designing and implementing pre-commit CI building and testing and pull/ merge-request based system (to support the workflow working group) □ Improving the src/tests/ci work to support running test suites ☆ Merging CI: Add full test support □ Merging Pre-commit CI with CIRRUS-CI • Designing and implementing use of CI cluster to build release artifacts as release engineering does, starting with snapshot builds • Simplifying CI/test environment setting up for contributors and developers • Setting up the CI stage environment and putting the experimental jobs on it • Redesigning the hardware test lab and adding more hardware for testing 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 • 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 do not 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 Ports Management Team URL: https://www.freebsd.org/portmgr/ Ports Tarball URL: http://ftp.freebsd.org/pub/FreeBSD/ports/ports/ Contact: Tobias C. Berner <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. In the last quarter, we welcomed Xavier Beaudouin (kiwi@) as a new ports committer. According to INDEX, there are currently 36,332 (down from 36,504) ports in the Ports Collection. There are currently about 3,368 (down from 3,379) open ports PRs, of which 809 are unassigned. The last quarter saw 10,640 commits (down from 11,594) by 155 committers (one less) on the main branch and 733 commits (down from 832) by 61 committers (down from 78) on the 2024Q4 branch. The number of ports also decreased (down from 36,504). The most active committers to main were: • 3867 sunpoet@FreeBSD.org • 1156 yuri@FreeBSD.org • 368 jbeich@FreeBSD.org • 361 bofh@FreeBSD.org • 273 fuz@FreeBSD.org • 247 fluffy@FreeBSD.org • 209 vvd@FreeBSD.org • 206 eduardo@FreeBSD.org • 201 rene@FreeBSD.org • 157 uzsolt@FreeBSD.org A lot has happened in the ports tree in the last three months, an excerpt of the major software upgrades are: • Default version of Lazarus switched to 3.6.0 • Default version of PHP switched to 8.3 • Chromium 131.0.6778.204 • Electron 33.3.0 • Firefox 134.0 • Firefox-esr 128.6.0 • KDE Frameworks 6.9.0 • KDE Plasma 6.2.4 • Qt6 6.8.1 • Python 3.9.21 • Python 3.10.16 • Python 3.11.11 • Ruby 3.2.6 • Ruby 3.3.6 • Rust 1.83.0 • SDL 2.30.10 • SDL 3.1.6 • Sway 1.10 Three new USES were introduced: • cl to provide support for Common Lisp ports. • java to provide support for Java. • sbrk to handle ports requiring sbrk() During the last quarter, pkgmgr@ ran 14 exp-runs to test various ports upgrades and changes to bsd.port.mk. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Bugmeister Team Links: FreeBSD Bugzilla URL: https://wiki.freebsd.org/Bugzilla Contact: Bugmeister <bugmeister@FreeBSD.org> In this quarter we came even closer to steady-state; we are dealing with incoming PRs more quickly these days. For reference: https://bugs.freebsd.org/bugzilla/page.cgi?idshboard.html&days The overall number of PRs came down from slightly over 11,600 to right at 11,000. This was due to work from several people to go over entire groups of PRs (see below). Mark Linimon attended several video calls with various src committers. They are doing some experimentation to learn what kind of effort is sustainable. The most recent effort was to evaluate the latest incoming src PRs; you will note that many of them from the past few weeks have been marked as requesting feedback. Bugmeister folks also did some passes through the database to clean up metadata: • reassigned bugs away from committers who had had their commit bits safekept over the last year. • cleaned up bugs for Product: Base System Status: In Progress. A number of these were not being actively worked on. The count is down to 184. □ In particular, Mark Linimon believes "assigned to mailing list" means "it is not really In Progress". Perhaps it has been discussed, but we do not really have a state for that. (We can make an argument that that itself is a bug.) □ We are now down to only a handful of the above, from "too many". The concept is to make sure In Progress has some real meaning. • evaluated PRs for mfc-stableN. In particular, any having mfc-stable12 had that flag cleared. □ The concept is to make sure these metadata have some real meaning as well: e.g. "a commit has been made and should be evaluated for MFCs". □ There are now a much smaller number of these. • closed numerous PRs as "Overcome By Events": □ (old version) + (contains the string "boot") □ (old version) + (contains the strings "alpha" or "beta") • evaluated "PR shows a commit" (possibly via Phabricator)" and "there was no trailing discussion". □ In a few cases of the above we simply assigned them and made sure that mfc-stable[13|14] was set, if it seemed appropriate. □ This does leave many that have a commit and then have trailing discussion. I think we will need more volunteers to go through those. • removed many of the 'patch' keywords from PRs. In the optimal case these should now be imputed by metadata in each attachment. In a few cases where patches are submitted inline instead of as an attachment, the keyword stays. There may be a few of these left over from the GNATS conversion. The use of inline patches should be discouraged, as automation has no way to detect them. Thanks to our triagers, especially Alexander Ziaee. There were various discussions about bug futures that came up in various video chats. One is that there is a (supported) successor to Phabricator, which itself is now no longer developed. Multiple groups will need to coordinate to evaluate it. Jan Bramkamp has volunteered to help with the task "automate harvesting PRs and evaluating whether they still apply". Mark Linimon to collaborate. Clusteradm@ helped us fend off yet another crawler site. While that was ongoing, bugzilla was nearly unusable due to timeouts, as were other services hosted on the same machine (wiki and cgit among others). We also welcomed our newest Triage member, Lexi (aka 'ivy' on Discord). Finally, glebius was added to bugmeister@ alias as core.13 liaison. See also: https://wiki.freebsd.org/Bugzilla/SearchQueries ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ New srcmgr team Contact: srcmgr <srcmgr@FreeBSD.org> A new source management team has been ratified by core@ to handle management of the FreeBSD src tree, akin to portmgr@ and doceng@ for the ports and docs trees, respectively. The initial members are Ed Maste, Mark Johnston, John Baldwin, and Warner Losh. srcmgr@ is currently focused on finding ways to make src developers more productive, and to try and manage the large numbers of bug reports and pull requests that we receive. The team meets every two weeks to discuss src-related issues and spend time triaging bug reports and pull requests. Meeting minutes are available on GitHub. The srcmgr@ team has a charter and is working on developing and documenting policies to help manage the src tree. In December, srcmgr@ ran an online bug-busting session, attended by 15 developers. We spent time going through recent bug reports, plus a list of older ones with patches. The team plans to host monthly sessions of this type, and aims to open them to a wider audience in the future. The team plans to develop a lurker program similar to portmgr@'s in the first half of 2025. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Projects Projects that span multiple categories, from the kernel and userspace to the Ports Collection or external projects. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Infrastructure Modernization Contact: Ed Maste <emaste@FreeBSD.org> Contact: Alice Sowerby <alice@freebsdfoundation.org> The project started in Q3 of 2024 and was commissioned by the Sovereign Tech Agency with a budget of $745,000, to be spent over about one year. The main goals are to improve security tools for the base system, ports, and packages, update the project’s infrastructure to speed up development, enhance build security, and make it easier for new developers to get started. Q4 update • Work Package A: Technical Debt reduction. The Foundation collaborated with the Source Management team to commission and deploy a number of dashboards that characterize the bug backlog for the FreeBSD Project. These were created to the team’s specifications by our project partner, Bitergia, who used an open source tool called GrimoireLab to create the dashboards. Foundation staff have hosted the dashboards on a FreeBSD deployment and they can be seen at https://grimoire.freebsd.org/. More information about the dashboards can be found at https://github.com/freebsd/grimoire. The Source Management team has also used these dashboards to support their new, evolving approach to bug triage and it has been included as a key tool for collaborative bug-squashing events. • Work Package B: Zero Trust Builds, and Work Package C: CI/CD Automation. The Foundation collaborated with various key management and administration teams within the FreeBSD Project to co-create the details of the scope for these two projects. They are scheduled to start in January and will conclude in Q2/3. • Work Package D: Security Controls in Ports and Packages, and Work Package E: Improve Software Bill of Materials (SBOM). These have not started yet as they are scheduled for February and March starts respectively. Commissioning body: Sovereign Tech Agency ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Laptop Support and Usability Improvements Project Contact: Ed Maste <emaste@FreeBSD.org> Contact: Alice Sowerby <alice@freebsdfoundation.org> The project began in Q4 of 2024 and is funded by the FreeBSD Foundation and Quantum Leap Research. It has a budget of $750,000, which will be used over one to two years. The goal is to improve key features like WiFi, audio usability, suspend and resume functions, graphics, and Bluetooth. The team will also create clear documentation and step-by-step guides to help people use the new features. Q4 Update • The Foundation initiated the project, created a public roadmap, and allocated contractors to relevant workstreams. December was the first monthly iteration of development, covering: □ Implement S0ix low power states □ Put a VM into hibernation □ Create a list of supported laptops □ Create a translation layer for Linux drivers on FreeBSD □ Create a list of supported window environments □ wireless_update,POC driver for Intel WiFi interfaces (based on OpenBSD/ Haiku) □ Resolve tech debt in pkg to enable PkgBase development □ Document how to update graphic drivers □ Implement s2idle low power state □ Bring in camera code donation from Dell • The FreeBSD project started a community group called the "Laptop and Desktop Working Group" (LDWG) to help people working on Laptop- and Desktop-related projects to connect and collaborate with others in the community working on similar efforts. The group held its first monthly meeting in December 2024. To stay updated on LDWG activities, you can join the Desktop mailing list. Sponsor: The FreeBSD Foundation Sponsor: Quantum Leap Research ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Security engineering at the FreeBSD Foundation Links: FreeBSD Foundation Releases Bhyve and Capsicum Security Audit Funded by Alpha-Omega Project URL: https://freebsdfoundation.org/news-and-events/latest-news/ freebsd-foundation-releases-bhyve-and-capsicum-security-audit-funded-by-alpha-omega-project / How FreeBSD security audits have improved our security culture URL: https://fosdem.org/2025/schedule/event/fosdem-2025-6152-how-freebsd-security-audits-have-improved-our-security-culture / Home of the ORC WG URL: https://github.com/orcwg/orcwg FreeBSD Foundation: Contact Us URL: https://freebsdfoundation.org/about-us/contact-us/ Open Source Vulnerability schema (OSV Schema) URL: https://openssf.org/projects/osv-schema/ ossf/osv-schema tools: import a conversion tool to and from VuXML (#237) URL: https://github.com/ossf/osv-schema/pull/237 Contact: Pierre Pronchery <pierre@freebsdfoundation.org> My tasks at the FreeBSD Foundation continue to revolve around Security Engineering for the FreeBSD Project. First, we keep working on the outcome of the source code audit on bhyve and Capsicum, documenting and researching how to prevent and mitigate similar issues from occurring again in the future. This includes the processes relevant for contributions to the FreeBSD Project, as well as the preparation of a joint presentation with Alpha-Omega at the BSD Devroom during the coming FOSDEM conference in 2025. At the same time, I am liaising with the Open Regulatory Compliance Working Group (ORC WG), where an FAQ is being elaborated jointly by a number of stakeholders on the European Union’s newly introduced Cyber Resilience Act (CRA). This is all related to our ongoing collaboration with OpenSSF, notably the self-assessment initiative; note that the FreeBSD Foundation can provide assistance in this regard for projects deploying FreeBSD. Finally, possibilities around the integration of OSV tooling into the FreeBSD ecosystem are under investigation as well. Sponsored by: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Security Audits Contact: Ed Maste <emaste@FreeBSD.org> Contact: Alice Sowerby<alice@freebsdfoundation.org> The project began in Q2 of 2024 and was funded by Alpha Omega with a budget of $137,500, which was used over about six months and is now complete. The focus was on conducting a code audit for key subsystems, bhyve and Capsicum, as well as performing a security audit of the development process. The funds were used to hire a specialist offensive security firm to perform the code audit, to contract developers to address issues found, and for Foundation staff’s work on both audits. Q4 update The project is complete. The Code Audit and subsequent reports were released after the related Security Advisories were published. The Process Audit is complete. It was created by FreeBSD Foundation staff who ran an outreach exercise to gather information about the current FreeBSD development process. The teams consulted were: Security Team, Source Management Team, Cluster Administrators, Release Engineering Team. Information was gathered through an online long-form survey which was structured around existing frameworks for analysing security in software development. Teams were asked to describe current development processes and appraise the current security practices, as well as to make suggestions for improvements. The responses were collated and synthesised into the report by Foundation staff. The report was reviewed for accuracy by the original respondents. The report will now be made available to the Security Team and other teams previously mentioned, as well as to the Foundation executive team. This will be a useful tool in identifying areas for investment and prioritisation going forward as more security projects are planned and funded. The report is intended primarily for FreeBSD Project and Foundation planning purposes and as such there is no plan to promote it to an external audience. Interested readers should contact the Security Team to request a copy of the report. To learn about the project, and to see historical monthly updates visit: https://github.com/ossf/alpha-omega/tree/main/alpha/engagements/2024/FreeBSD. Sponsor: Alpha Omega Project ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Framework Laptop support Links: Framework Laptop page on FreeBSD Wiki URL: https://wiki.freebsd.org/Laptops/Framework_Laptop/ Guide on installing and using FreeBSD on Framework systems URL: https://github.com/FrameworkComputer/freebsd-on-framework Tracking ticket: Framework Laptop: Feature support, bugs and improvements URL: https://bugs.freebsd.org/262152 Contact: Daniel Schaefer <dhs@frame.work> Contact: Li-Wen Hsu <lwhsu@FreeBSD.org> Contact: Sheng-Yi Hong <aokblast@FreeBSD.org> For a long time, Framework Laptop Inc is friendly to the FreeBSD project in many aspects, including providing engineering samples to Foundation for testing and working on support. Since 2024 summer, there are several small hackathons in Framework’s Taipei office on testing FreeBSD on different models of Framework laptop, and the peripheral devices. Sheng-Yi is using the laptop provided by Framework Computer to add more device support, e.g. d3b05d0ea10a: Add smbus and i2c device IDs for Meteor Lake. Daniel from Framework Computer Inc started a repository under Framework Computer’s GitHub organization to keep the notes of installation and miscellaneous information. He fixed fingerprint readers (libfprint) not just for Framework, but in general on FreeBSD. And working on the support and fix to many related drivers on FreeBSD. In November, Foundation people and some FreeBSD developers visited Framework’s San Francisco office and had a meeting for checking the current FreeBSD support status and discussing the possible future collaboration plans. Foundation will continue working on improving the general laptop support and using Framework as one of the target platforms for the Laptop Support and Usability Project. Sponsor: The FreeBSD Foundation for Li-Wen’s work Sponsor: Framework Computer Inc for Daniel’s work, hardware and space support ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Userland Changes affecting the base system and programs in it. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ PkgBase-motivated improvements to pkg Contact: Isaac Freund <ifreund@freebsdfoundation.org> Some problems blocking progress on the PkgBase project are caused by shortcomings of pkg(8). The primary goal of my work on pkg is to unblock PkgBase progress. However, all users of pkg will benefit even if they do not use PkgBase. The scheduler for pkg’s install/upgrade/delete jobs has been rewritten, motivated by solving PR259785. The new scheduler models the scheduling problem as a directed graph and splits upgrade jobs into delete/install halves only when necessary to break a cycle in the graph. This formal model gives strong guarantees about ordering that the old scheduler was not able to provide and prevents unnecessary splitting of upgrade jobs. It also fixes longstanding bugs where the old scheduler would bail out and cause the entire upgrade to fail. The new scheduler is included in pkg version 1.21.99.3 (pkg-devel). The rest of my work this quarter has been related to pkg’s automatic tracking of shared library dependencies, which PkgBase heavily relies on. The initial motivating problem was PR265061 but it was necessary to make more fundamental changes to how pkg tracks shlibs before cleanly solving that problem became possible. When a package is created with pkg-create(8), pkg scans the included files and generates shlibs_provided/shlibs_required lists based on the executables/shared libraries found. Before my changes, pkg would use the elf hints file of the host system as an input to pkg-create in order to filter out shlibs provided by the base system from the generated shlibs_required list. An ALLOW_BASE_SHLIBS option disabled this filtering for the purpose of building PkgBase packages. After my changes, pkg-create no longer reads the elf hints file of the host system and base system shlibs are included in the generated shlibs_required list. When pkg-install(8)/pkg-upgrade(8)/etc. invoke the solver on an non-PkgBase system, pkg generates a list of shlibs provided by the base system as an input to the solver by scanning /lib and /usr/lib. On a PkgBase system, the PkgBase packages provide all base system shlibs. This allows the ALLOW_BASE_SHLIBS option to be eliminated. It also gives better integration between the ports packages and PkgBase packages as shlib dependencies of ports packages on PkgBase packages are now tracked rather than ignored. Finally, this change significantly simplifies the pkg codebase and improves portability. This change was implemented in https://github.com/freebsd/pkg/pull/2386 and is not yet included in a pkg release. With that change and other internal improvements I was able to add support for tracking lib32 and Linuxulator shlibs, which should resolve the problem that originally motivated my work on pkg’s shlib handling (PR265061). This support is implemented in https://github.com/freebsd/pkg/pull/2387 and is not yet included in a pkg release. Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Progress on the FreeBSD installer Links: Improving Repair Ability of the FreeBSD Installer URL: https://wiki.freebsd.org/SummerOfCode2024Projects/ImprovingRepairAbilityOfTheFreeBSDInstaller GSoC 2024 - Improving Installer with Repair and Upgrade Ability (#1395) URL: https://github.com/freebsd/freebsd-src/pull/1395 bsdinstall: Add pkg install support in live env (#1424) URL: https://github.com/freebsd/freebsd-src/pull/1424 bsdinstall: Add repair scripts to installer menu (#1427) URL: https://github.com/freebsd/freebsd-src/pull/1427 Laptop and Desktop Working Group URL: https://wiki.freebsd.org/LaptopDesktopWorkingGroup Contact: Pierre Pronchery <pierre@freebsdfoundation.org> As part of 2024’s GSoC Project on the FreeBSD installer, I had the pleasure to mentor Chun Cheng Yeh (aka "Leaf") with his implementation of additional capabilities. The aim was to add support for repairing or updating an existing installation of FreeBSD, as well as allowing packages to be installed in the Live environment. This work has been consolidated into three distinct pull-requests, available on GitHub. While some aspects probably still require additional polishing before a possible merge, the possibility to significantly extend the installer images into a potentially life-saving tool is within reach. This is particularly relevant given the ongoing efforts to improve support for laptop and desktop use of FreeBSD. In this context, I am currently resuming work on the graphical version of the installer. The most immediate challenge includes shaping it suitably for integration into the next major release. Combining the two initiatives above should help FreeBSD close some gaps with its competition amongst other modern Operating Systems, for the enterprise as well as for laptop and desktop use. Sponsored by: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Kernel Updates to kernel subsystems/features, driver support, filesystems, and more. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Audio Stack Improvements Contact: Christos Margiolis <christos@FreeBSD.org> The FreeBSD audio stack is one of those fields that does not attract the same attention and development as others do, since it has been left largely unmaintained, and, although high in quality, there is still room for improvement — from lack of audio development frameworks, to missing userland utilities and kernel driver-related bugs. This project is meant to touch on all those areas, and as such, is more of a general improvement project, than an implementation of a specific feature. Important work since last report: • sound(4) and driver bug fixes, including panics and races. Several cleanup and refactor patches. • Committed mididump(1). Ships with 14.2-RELEASE and 14-STABLE. • Implementing AFMT_FLOAT support. This fixes ports, such as emulators/wine, that require AFMT_FLOAT support from OSS. Related bug reports: PR 184380, PR 281390, PR 264973, PR 157050. Future work includes: • More bug fixes, optimizations and general improvements. • Implement a generic MIDI layer, similar to pcm/, and improve/modernize the MIDI codebase in general. • Implement a bluetooth device management utility. • virtual_oss patches and improvements. • Attempt to automate snd_hda(4) pin-patching. • Investigate SOF/DMIC support. You can also follow the development process in freebsd-multimedia@, where I post regular reports. Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ mac_do(4), setcred(2), mdo(1) Contact: Olivier Certner <olce.freebsd.statusreports@certner.fr> Contact: Baptiste Daroussin <bapt@FreeBSD.org> This project aims at allowing controlled process credentials transitions without using setuid executables but instead leveraging our MAC framework. For an overall presentation, we refer the reader to the previous quarter’s report. As this is a progress report, we only recall the outline here. In a nutshell, this project comprises two components: • mac_do(4) is the kernel module that checks credentials transition requests and authorizes those that match rules configured by the administrator. • mdo(1) is the userland program playing the role of a mediator between processes wanting to launch other processes with changed credentials and mac_do(4), whose function is to authorize only specific such changes. setcred(2) is the new system call at the interface between them. It enables userland to request various credentials changes atomically, allowing mac_do (4) to base its decision on the transition between the initial and desired final credentials. Both prerequisite commits and changes in MAC/do proper have been reviewed and all commits have finally been pushed to FreeBSD’s main branch, including documentation in the form of a new manual page for setcred(2) and changes to the mac_do(4) one to match the new sysctl(8) knobs and rules syntax. Rules can now express finely which groups are allowed in the resulting credentials for a given UID or GID, notably making it possible to specify which target primary and supplementary groups the final credentials can, or must, or must not include. Please consult mac_do(4) for a description of the new syntax and examples. Future work, in no particular order and timeframe, may include: • For the mac_do(4) component: □ Currently, it can only grant credentials transitions for processes spawned from the /usr/bin/mdo executable. The possibility to tweak this path may be interesting for custom thin jail layouts. The ability to have several such paths is one of the missing pieces to be able to use mac_do(4) in conjunction with other credentials-granting programs such as sudo(1) and doas(1). □ mac_do(4) currently can only grant new credentials if they are requested via the new setcred(2), as it needs to see the current and desired final credentials to make a decision. However, each call to traditional and standard credentials-changing functions, such as setuid (2), seteuid(2), etc., can be considered as a (limited) full transition on its own, which mac_do(4) could decide upon. This functionality could allow to more finely control transitions to root and, combined with that of the previous point, to install and use credentials-granting programs without the "setuid" bit. However, the full power of this new mac_do(4) module version cannot be harnessed without modifying these programs to use setcred(2). • For the mdo(1) component: □ The credentials transitions that can be requested are fairly limited compared to what mac_do(4)'s rules can allow. It would be useful to make it possible to: ☆ Specify any list of target groups (primary or supplementary), possibly based on user names (with the implicit list coming from the contents of /etc/passwd and /etc/group) but allowing some tweaks (such as excluding a particular group in the final credentials). ☆ Allow changes of groups only. ☆ Request a password before calling setcred(2) in certain cases. This weakens the security paradigm of the mac_do(4)/mdo(1) combination, as it would now rely on userland for part of the gating process, but seems acceptable in many cases. ☆ Grow a mode producing the target part of rules corresponding to the contents of the password and group databases for some users. We welcome any feedback on this new version and the future-work list above. Sponsor: The FreeBSD Foundation Sponsor: Kumacom SARL ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Suspend/Resume Improvements Links: Blog URL: https://obiw.ac/s0ix/ Working Branch URL: https://github.com/obiwac/freebsd-s0ix Contact: obiwac <obiwac@freebsd.org> Suspend-to-idle and support for S0ix sleep is in the process of being added to FreeBSD. This will allow modern Intel and AMD laptops (e.g. AMD and newer Intel Framework laptops), some of which do not support ACPI S3 sleep, to enter low power states to increase battery life. Ben Widawsky from Intel started working on this in 2018 but his work was never finished and is now outdated. His work has now been picked up and the first goal is to get suspend/resume working on the Framework 13 AMD Ryzen 7040 series by end of January. There are plans for presenting initial results at a talk at FOSDEM. Currently, all device power constraints on AMD can already be parsed to enter a system’s low power states. Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ umb(4) driver for MBIM USB 4G/5G modems Links: UMB(4) - OpenBSD Device Drivers Manual URL: https://man.openbsd.org/umb UMB(4) - NetBSD Kernel Interfaces Manual URL: https://man.netbsd.org/umb.4 Bug 263783 - USB MBIM: Support for LTE/4G USB modems URL: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id&3783 Introduce the USB umb(4) network driver URL: https://reviews.freebsd.org/D48167 Contact: Pierre Pronchery <pierre@freebsdfoundation.org> The Mobile Broadband Interface Model (MBIM) is a protocol for communication with network USB devices, transmitting packet data over mobile broadband networks. Implementing this protocol adds support for a whole range of USB devices providing connectivity to mobile networks, such as 4G, 5G, and their subsequent technological evolutions. A first implementation for this protocol was performed for OpenBSD in 2016, under the name umb(4). I have ported it myself to NetBSD under the same name, back in 2019. I was then contracted to make it work with OPNSense, and authorized to publish it as Open Source in 2022. Unfortunately, by this time, some changes in FreeBSD effectively broke the driver, and it could not be merged until fixed. This quarter I have managed to offer an updated version and confirmed it working (thanks Mike and Zhenlei!). This version is now under review in Phabricator as D48167. The submission is still based on code from 2020, and behind progress made by OpenBSD since that time. As such, it is currently restricted to IPv4. However, I believe it makes sense to keep the review simple and focus on the design decisions and integration, before progressively importing the improvements made upstream since then in OpenBSD (notably IPv6 support). In its current form, the driver was modified from being out of tree and available as a plug-in for OPNSense, into a kernel module and its companion binary, umbconfig(8). This management binary effectively allows the umb(4) driver to be configured beyond the capabilities of ifconfig(8): the PIN or PUK code, APN, username/password, or roaming parameters can be setup, and the connectivity tracked as well (network provider, speed…). Should you want to give it a spin yourself and get hardware supported by this driver, the single most important feature to look for is support for the MBIM specification. The manual page for OpenBSD provides a list of devices that should be compliant; note that some of them require preliminary configuration in order to effectively expose the MBIM interface. The exact procedure is vendor-specific, and can also depend on the model and current configuration of the device. You should refer to the documentation offered for your device for any steps necessary. Sponsored by: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ LinuxKPI 802.11 Wireless Update Links: Categorised Wireless Problem Reports URL: https://bugs.freebsd.org/bugzilla/showdependencytree.cgi?id'7512&hide_resolved=0 Overview of drivers URL: https://people.freebsd.org/~bz/wireless/ Contact: Bjoern A. Zeeb <bz@FreeBSD.org> Contact: The FreeBSD wireless mailing list <wireless@FreeBSD.org> With multiple wireless projects ongoing, this report focuses on the efforts using permissively licensed Linux wireless drivers mostly unmodified on FreeBSD. Drivers previously committed directly to FreeBSD src.git were retroactively imported in vendor branches and merged to main. This makes maintenance and identifying local changes a lot easier. The iwlwifi(4), rtw88(4), and rtw89(4) drivers got updated in main to match Linux 6.11. The rtw89(4) driver, which had been ported and in the tree for a while, got connected to the build. Thanks for that goes to the efforts of the community finding two bugs preventing it from working before. Wireless firmware in ports got updated and a release flavor was added. The release building framework got enhanced to install the firmware packages onto the release media. The installer grew support to run fwget(8) on the installed system to install the firmware. This all together ensures that (wireless) drivers with external firmware can be used from the installer and right away on the installed system without the need for alternate connectivity. With the framework in place for iwlwifi(4), rtw88(4), and rtw89(4) support for more drivers can easily be added in the future. These changes shipped the first time with 14.2-RELEASE. Having a lot of these requested necessities out of the way, time was spent on HT(802.11n) and VHT(802.11ac) improvements to the LinuxKPI framework synching between driver and net80211. Hardware crypto offload got sorted along with A-MPDU RX/BA offload right at the end of the year. Both were needed towards the goal to achieve higher throughput with iwlwifi(4). A half-year old bug, which stayed unnoticed preventing packets to be sent beyond scanning with rtw88(4) in main and stable/14, received a patch to fix the situation. Work for the first quarter of 2025 should include: • finishing basic HT and VHT support, and • looking at finishing the code for generic LinuxKPI 802.11 suspend/resume support Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Wireless Update Contact: Tom Jones <thj@FreeBSD.org> Contact: The FreeBSD wireless mailing list <wireless@FreeBSD.org> With Support from the FreeBSD Foundation this quarter I started working on porting the iwx WiFi driver from OpenBSD (via Haiku). The iwx driver supports many of the chipsets supported by iwlwifi, but rather than make that driver more complex the OpenBSD developers decided to support these devices in a new driver. iwx on OpenBSD currently supports running as a station in 80211abgn and ac, it does not yet support ax rates. The goals of this project are to import a maintainable driver from OpenBSD and to gradually increase support until we have a native driver in FreeBSD with support for 80211ac (and potentially 80211ax). Currently the driver supports 80211a and 80211g and is able to saturate the practical limits of the rates these standards offers (roughly 28Mbit down and 25 Mbit up). The driver is under active development and moving quite quickly. The plan for the next quarter is to add support for high throughput rates, implement monitor mode and stabilise the driver for a public call for testing. Once the driver is stable enough a call for testing will be posted to the freebsd-current and freebsd-wireless mailing lists. Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Syzkaller Improvement on FreeBSD Links: google/syzkaller URL: https://github.com/google/syzkaller Contact: Jian-Lin Li <ljianlin99@gmail.com> Contact: Li-Wen Hsu <lwhsu@FreeBSD.org> Syzkaller is an operating system kernel fuzzer that can look for vulnerabilities in the kernel. This project aims to improve the support of Syzkaller on FreeBSD. Based on the existing WiFi fuzzer designed for Linux, we drafted a WiFi fuzzer for FreeBSD. We planned to use wtap(4), a virtual wifi driver for testing, in order to support WiFi fuzzing. Some of the design details include: • Introduce a new netlink command to wtap in order to realize frame injection, which is essential for WiFi fuzzing. • Initialize wtap devices in Syzkaller before WiFi fuzzing. We are developing some prototypes and discussing the feasible design plan with some experts. There is not much progress yet. We hope to have more progress on this project in the next few months. Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Architectures Updating platform-specific features and bringing in support for new hardware platforms. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Pinephone Pro Support Links: Repository on Codeberg URL: https://codeberg.org/Honeyguide/freebsd-pinephonepro Contact: Toby Kurien <toby@tobykurien.com> The project to port FreeBSD over to the Pinephone Pro is progressing. The aim of this project is to step by step support components of the Pinephone Pro in FreeBSD so that the device one day might be usable as a highly mobile FreeBSD device. In this quarter: • A driver for the RK818 power management IC was implemented, enabling the device regulators. • A driver for the real-time clock was also implemented, allowing the system to keep time between reboots. • A driver for the RK818 battery charger and battery monitor was written to allow the battery to be charged via USB, and to retrieve some battery information like voltage and charging status via sysctl. • The code repository has been updated with scripts and documentation on how to compile the custom kernel and device tree, and patch a FreeBSD 15-CURRENT image with them so that it boots on the Pinephone Pro. The next steps are to enable UEFI-based framebuffer support to enable output to the screen, and to enable USB on-the-go functionality, which might allow for plugging in a USB keyboard and/or Ethernet. Porting the Linux driver for WiFi will also be looked into. Any developers wanting to assist are encouraged to get in touch. Additional feedback and testers are welcome. Also see this thread on the FreeBSD Forum if you want to participate. Sponsor: Honeyguide Group ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Cloud Updating cloud-specific features and bringing in support for new cloud platforms. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FreeBSD on Microsoft HyperV and Azure Links: Microsoft Azure article on FreeBSD wiki URL: https://wiki.freebsd.org/MicrosoftAzure Microsoft HyperV article on FreeBSD wiki URL: https://wiki.freebsd.org/HyperV Contact: Microsoft FreeBSD Integration Services Team <bsdic@microsoft.com> Contact: freebsd-cloud Mailing List Contact: The FreeBSD Azure Release Engineering Team <releng-azure@FreeBSD.org> Contact: Wei Hu <whu@FreeBSD.org>, <weh@microsoft.com> Contact: Souradeep Chakrabarti <schakrabarti@microsoft.com> Contact: Colin Su <yuas@microsoft.com> Contact: Li-Wen Hsu <lwhsu@FreeBSD.org> In this quarter, we have published the 14.2-RELEASE on Azure Marketplace. Colin Su has presented at the FreeBSD 2024 Fall Summit about Azure DevOps Pipeline. Souradeep Chakrabarti from Microsoft has added a feature to use hypercalls for TLB shootdown on Hyper-V and Azure. Wei Hu root-caused an issue on missing CDROM device when booting FreeBSD on the latest Azure v6 VM SKU. V6 type only offers NVMe disks to guest OS. He also continues bug fixing for FreeBSD MANA NIC device. Work in progress tasks: • Automating the image publishing process and merging to src/release/. (Li-Wen Hsu) • Colin Su is testing adding FreeBSD support in Azure Pipelines □ https://github.com/microsoft/azure-pipelines-agent/pull/3266 □ Building and publishing snapshot builds to Azure community gallery. Open tasks: • Update FreeBSD-related doc at Microsoft Learn • Update sysutils/azure-agent to the latest version • Upstream local modifications of Azure agent • Port Linux Virtual Machine Extensions for Azure Sponsor: Microsoft for people in Microsoft, and for resources for the rest Sponsor: The FreeBSD Foundation for everything else ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 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> The OpenStack on FreeBSD project aims to merge the capabilities of the OpenStack cloud infrastructure with the robust features of FreeBSD. Our objective is to harness FreeBSD’s unique features while ensuring compatibility with OpenStack’s operations. In the fourth quarter, our primary goal was to finalize the tasks promised under milestone 1 by establishing a new environment for a demonstrable Proof of Concept (POC) site. However, the simultaneous aim to set up another deployment based on FreeBSD Jail within the same environment led us to spend considerable time on network design and tuning. Fortunately, we successfully established external network connectivity for guest VMs by the end of this period. The remaining challenge now is to enable guest VMs to automatically acquire IP addresses through cloud-init. On another note, we attempted to obtain the domain XML of VMs from the Linux-based OpenStack to compare with the XML used for bhyve VMs. These domain XMLs are utilized by Libvirt, defining each virtual machine’s configuration and operational parameters. Comparing the differences between the two will aid in developing the "bhyve serial console over TCP" work. In the first quarter of the upcoming year, we will continue to conclude the tasks related to milestone 1 of our project. Additionally, we will persist in developing FreeBSD Ports for OpenStack components, further integrating and enhancing the system’s capabilities. Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Containers and FreeBSD: Cloud Native Buildpacks Contact: Robert Gogolok <gogolok@gmail.com> Cloud Native Buildpacks (CNBs) transform application source code into container images. Those images can run on any cloud. With buildpacks, organizations can concentrate the knowledge of container build best practices within a specialized team, instead of having application developers across the organization individually maintain their own Dockerfiles. A few weeks ago, I’ve started to look into FreeBSD support for buildpacks. My goal is to have working versions of the tools lifecycle and pack in the next few months. There were previous attempts to bring support for FreeBSD to buildpacks, for example to lifecycle: • Add support for FreeBSD #1087 • Add FreeBSD Support #1271 After looking into those changes, I’ve decided to first introduce some general cleanup steps to keep the required changes for FreeBSD small. This resulted in the following changes that were successfully integrated: • Remove obsolete // +build lines #1431 • Use unix build constraint #1432 • Support FreeBSD build phase #1439 With these steps, it is now possible to compile lifecycle under FreeBSD. The next steps are: • Provide missing FreeBSD functionality to lifecycle. • Further investigate FreeBSD as a build target in lifecycle. • Investigate and get the tool pack to compile and run under FreeBSD. • Provide lifecycle and/or pack via FreeBSD ports. • Investigate the idea of FreeBSD buildpacks for some popular languages, similar to paketo buildpacks. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FreeBSD on EC2 Links: EC2 Boot performance over time URL: https://www.daemonology.net/freebsd-ec2-boot-performance/ Contact: Colin Percival <cperciva@FreeBSD.org> FreeBSD is available on both amd64 (Intel and AMD) and arm64 (Graviton) EC2 instances. In the past quarter, first boot performance of ZFS AMIs has been significantly improved, e.g. from about 22 seconds to about 11 seconds for 15.0 "base" AMIs on amd64. Graphs of boot performance over time are now being generated and published automatically; typical times are around 9-12 seconds for "base" and "small" AMIs and 14-18 seconds for "cloud-init" AMIs. On Graviton systems, the EC2 "shutdown" and "reboot" operations now work as intended (starting with FreeBSD 14.2). On Graviton systems, adding new devices (e.g. EBS volumes) while the system is running now works in HEAD and support is expected to be merged in time for FreeBSD 14.3. Sponsor: Amazon Sponsor: https://www.patreon.com/cperciva ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Documentation Noteworthy changes in the documentation tree, manual pages, or new external books/documents. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Documentation Engineering Team Link: FreeBSD Documentation Project URL: https://www.freebsd.org/docproj/ Link: FreeBSD Documentation Project Primer for New Contributors URL: https://docs.freebsd.org/en/books/fdp-primer/ Link: Documentation Engineering Team URL: https://www.freebsd.org/administration/#t-doceng Contact: FreeBSD Doceng Team <doceng@FreeBSD.org> The doceng@ team is a body to handle some of the meta-project issues associated with the FreeBSD Documentation Project; for more information, see FreeBSD Doceng Team Charter. Document changes • Handbook: □ Add warning about custom kernel configurations. □ Mention Rocky Linux 9 userland. □ Add notes to VMWare related setup guide. • Committer’s guide: Document "Discussed with" Improve "Fixes:" metadata. • Porter’s Handbook: Document new TCL_ variables. • Website: Remove Turkish links. • Documentation repository: □ Added OpenBSD 7.6 manual pages. □ Updated Debian 11/12 manpages. FreeBSD Translations on Weblate Link: Translate FreeBSD on Weblate URL: https://wiki.freebsd.org/Doc/Translation/Weblateurl Link: FreeBSD Weblate Instance URL: https://translate-dev.freebsd.org/url Q3 2024 Status • 18 team languages • 215 registered users 1 new translator joined Weblate: • Sean Markham (ES) Languages • Chinese (Simplified) (zh-cn) (progress: 14%) • Chinese (Traditional) (zh-tw) (progress: 11%) • Dutch (nl) (progress: 1%) • French (fr) (progress: 1%) • German (de) (progress: 1%) • Greek (el) (progress: 1%) • Indonesian (id) (progress: 1%) • Italian (it) (progress: 11%) • Korean (ko) (progress: 30%) • Norwegian (nb-no) (progress: 1%) • Persian (fa-ir) (progress: 6%) • Polish (progress: 2%) • Portuguese (progress: 0%) • Portuguese (pt-br) (progress: 31%) • Sinhala (progress: 1%) • Spanish (es) (progress: 39%) • Spanish (Chile) (progress: 0%) • Turkish (tr) (progress: 5%) We want to thank everyone who contributed, translating, or reviewing documents. And please, help promote this effort on your local user group; we always need more volunteers. Packages maintained by DocEng During this quarter the following work was done in packages maintained by doceng@: • www/gohugo: update to 0.140.2 • misc/freebsd-doc-ja: fix build Open issues There is 1 open PR in Bugzilla assigned to doceng@: • 276923 www/gohugo link error under poudriere ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Ports Changes affecting the Ports Collection, whether sweeping changes that touch most of the tree, or individual ports themselves. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Ports Collection Accessibility - Colors Low Vision Link: Project wiki page URL: https://wiki.freebsd.org/portconfig Contact: FreeBSD Accessibility mailing list <freebsd-accessibility@FreeBSD.org> Contact: Alfonso Sabato Siciliano <asiciliano@FreeBSD.org> FreeBSD provides the Ports Collection to give users and administrators a simple way to install applications. The collection provides tens of thousands of ports; port configuration is a key feature. It is possible to configure a port before the building and installation. The command "make config" uses a text user interface (TUI) to set up port options interactively. Recently low vision users (mainly with cataracts) have requested new features to easily change the colors of the TUI. Several features have been implemented to allow changing colors, for example: a new environment variable to set the UI to black and white, or the ability to set colors by reading a configuration file at runtime. All features have been described in portconfig(1) since version 0.6.2. To note, blind users can refer to PortOptsCLI - Ports Collection Accessibility, Status Report Third Quarter 2023 to use the Ports Collection. Tips and new ideas are welcome. If possible, send reports to the FreeBSD Accessibility mailing list, to share and to track discussions in a public place. Sponsored by: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Containers and FreeBSD: AppJail, Director, OCI and more Links: AppJail on GitHub URL: https://github.com/DtxdF/AppJail Director on GitHub URL: https://github.com/DtxdF/Director LittleJet on GitHub URL: https://github.com/DtxdF/LittleJet Reproduce on GitHub URL: https://github.com/DtxdF/reproduce Contact: Jesús Daniel Colmenares Oviedo <DtxdF@disroot.org> AppJail is an open-source BSD-3 licensed framework entirely written in POSIX shell and C to create isolated, portable and easy to deploy environments using FreeBSD jails that behaves like an application. Director is a tool for running multi-jail environments on AppJail using a simple YAML specification. A Director file is used to define how one or more jails that make up your application are configured. Once you have a Director file, you can create and start your application with a single command: appjail-director up. LittleJet is an open source, easy-to-use orchestrator for managing, deploying, scaling and interconnecting FreeBSD jails anywhere in the world. Their goals are to simplify life for sysadmins and developers by providing a unified interface that automates the jail workflow by combining the base FreeBSD tools. AppJail and all its meta-projects extensively follow The Ephemeral Concept which helps update/upgrade jails more easily as they become disposable. I have used this extensively to deploy my jails with services since this concept was implemented in AppJail. Although there have been great people working on OCI for a long time, this month the featured topic is OCI, and the advances related to this technology in FreeBSD make it possible to implement it in AppJail. The latest release adds more useful features, improves on existing things and implements OCI. I’m continually adding more Makejails, a simple text file that automates the deployment of services in jails. There is an organization on GitHub that I call The Centralized Repository if you want to make a contribution. The last improvement was to implement BuildBot as the CI/CD of AppJail images, so any change made to a repository that is tracked by BuildBot will generate a new task to build and deploy an image to the mirrors. And if mirrors are not an option, appjail-reproduce can be used to build images using your own resources. Sponsor: https://www.patreon.com/appjail ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Improving Common Lisp Infrastructure in FreeBSD Ports Contact: Joe Mingrone <jrm@FreeBSD.org> Common Lisp (CL) is a general-purpose, multi-paradigm programming language first conceived in the early 1980s. Although it predates many modern programming languages, it remains a viable option for many different projects. One contemporary example is Grammarly, a widely used grammar engine reportedly implemented in CL and capable of processing over a thousand sentences per second. The FreeBSD ports tree has provided CL support for many years. The initial work was contributed by Henrik Motakef in 2003, and then enhanced and maintained by Jimmy Olgeni. The infrastructure facilitated building and installing CL libraries using ASDF so that multiple CL implementations could load compiled object code files (fasl) at run-time without conflicts. However, many issues crept in over the years. Support dwindled to only one CL implementation, SBCL, and users encountered longstanding bugs such as conflicting ASDF versions and write errors when loading libraries outside the ports tree. Also, managing dependencies was cumbersome because most infrastructure code was included as part of the devel/cl-asdf port. A long overdue update of the FreeBSD CL infrastructure was completed this quarter. The primary outcome is that users can, once again, easily and reliably work with CL on FreeBSD. For example, installing and loading the popular Alexandria library under SBCL requires only a few simple steps. % pkg install cl-alexandria-sbcl % sbcl * (asdf:load-system :alexandria) Similar steps can be used to load libraries for the other two newly supported implementations: CCL, and CLISP. Most users will likely prefer to work with the fasl ports, although there is no obligation to do so. Because ASDF is now configured to fall back to its default caching mechanism of writing fasl to a cache under ${HOME}, users can also install CL source ports without the associated fasl port or load CL sources from outside of the ports tree. Other highlights of the update include: • decoupling ASDF initialization from devel/cl-asdf by creating a dedicated port: devel/freebsd-cl-asdf-init • creating USES=cl • adding and updating various CL library ports for the three supported implementations • updating and modernizing lang/ccl and lang/clisp For details, refer to these commit logs: • 4c954c1522cbf4d05013caaf40c36458d82f1480 • f6a75a8f9bf20dbf1e9a4d5bc171d58f595c1ec1 • 1d7c75a5cde6792b3872340edeaf8f278add291a • 148251b431b8d972623bb3adaa5a71355f47ac26 • 7f68336ed19be61027dfb7b461aacd056733eba4 The tentative plan is to add support for ECL after an ASDF output translation issue is solved and to create ports for other CL libraries. Feedback, testing, and contributions are welcome. Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ FreeBSD Erlang Ecosystem Ports update Links: FreeBSD Erlang wiki URL: https://wiki.freebsd.org/Erlang Erlang/OTP language URL: https://erlang.org/ Elixir language URL: https://elixir-lang.org/ Gleam language URL: https://gleam.run/ Contact: FreeBSD Erlang mailing list <erlang@FreeBSD.org> The Erlang runtime system, commonly known as the BEAM, provides a runtime that is used by a number of programming languages and applications in the FreeBSD ports collection. In the final update for 2024, the Erlang ecosystem team has been busy: • Regular updates to all Erlang/OTP releases, to stay current • Elixir 1.18.1, Gleam 1.6.3, and RabbitMQ updates Users of RabbitMQ need to update each quarter to avoid being stuck on an unsupported release of Erlang/OTP + RabbitMQ, without a supported migration path. Note that as the upstream Erlang OTP team only commit to supporting the two latest major releases, more and more point updates are arriving for OTP26-27, but not for the older Erlang runtime releases, which are now unlikely to get security and bug fixes. The Erlang team will be updating the default Erlang runtime to OTP26, to lang/ erlang, along with the usual dependencies and tooling. Additional testing and community contributions are welcome; please reach out on the mailing list, especially if you are able to help testing of specific port updates. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Improve OpenJDK on FreeBSD Links: Project description URL: https://freebsdfoundation.org/project/ improving-openjdk-on-freebsd/ Contact: Harald Eilertsen <haraldei-fbsd@anduin.net> The aim of this project is to improve support for Java in FreeBSD, by working with the upstream OpenJDK community, as well as the FreeBSD community in getting the changes and additions needed for fully supporting FreeBSD accepted upstream. As this is a new project, there is not much to report yet, but here’s what has been achieved so far: • The Java Test Regression harness (jtreg) now builds and runs on FreeBSD, and the process of upstreaming the changes has started. • OpenJDK 23 builds and runs on FreeBSD, and work on adding it to the ports collection has started; this is still considered experimental. https://reviews.freebsd.org/D48194 • Work on porting the next OpenJDK (version 24) has started. https://github.com/snake66/jdk/tree/jdk24-freebsd Sponsor: The FreeBSD Foundation ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Xfce on FreeBSD Links: Xfce 4.20 Upstream Release Announcement URL: https://xfce.org/about/news/?post34220800 Xfce meta-port on FreshPorts URL: https://www.freshports.org/x11-wm/xfce4 Contact: Xfce team <xfce@FreeBSD.org> Contact: Guido Falsi <madpilot@FreeBSD.org> The FreeBSD Xfce team (xfce@) works to ensure the Xfce desktop environment is maintained and fully functional on FreeBSD. This quarter the Xfce team members are pleased to welcome Xfce 4.20 to the FreeBSD ports tree! This new release adds many stability improvements and some new functionality. Upstream work for this release was focused on getting the code base ready for Wayland support. This release brings experimental Wayland support, although not all components have been migrated, so it may not work for you. For further details, refer to the Xfce 4.20 Upstream Release Announcement. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ LXQt on FreeBSD Links: LXQt Project URL: https://lxqt-project.org/ LXQt Project GitHub URL: https://github.com/lxqt Contact: LXQt Team <lxqt@FreeBSD.org> LXQt is an advanced, easy-to-use, and fast desktop environment based on Qt technologies. It has been tailored for users who value simplicity, speed, and an intuitive interface. Unlike most desktop environments, LXQt also works fine with less powerful machines. During this quarter, the x11-wm/lxqt metaport was updated to 2.1.0. This update adds initial Wayland support to the LXQt desktop. You can read some release highlights here. Anyone interested in helping with the project is welcome. Current version: 2.1.0 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ GCC on FreeBSD Links: GCC Project URL: https://gcc.gnu.org/ GCC 11 release series URL: https://gcc.gnu.org/gcc-11/ GCC 12 release series URL: https://gcc.gnu.org/gcc-12/ GCC 13 release series URL: https://gcc.gnu.org/gcc-13/ GCC 14 release series URL: https://gcc.gnu.org/gcc-14/ Contact: Lorenzo Salvadore <salvadore@FreeBSD.org> The exp-run to update GCC default version from 13 to 14 is getting forward. As usual, thanks to everyone involved. If you maintain any of the affected ports or want to give a hand preparing and testing some patches, you can consider trying adding -fpermissive to CFLAGS in affected ports as a temporary solution: GCC 14 has transformed some warnings into errors, which is the cause of many of the failed builds. The -fpermissive flag switches those errors back to warnings. However, it is preferable that upstream updates its code to remove those warnings completely so that -fpermissive is not necessary, possibly with FreeBSD ports maintainers support. If the code is not maintained upstream anymore, the time might have come to deprecate the port. Work has been done on some bugs too, mainly upstream: • https://gcc.gnu.org/bugzilla/show_bug.cgi?id7210 has been fixed: a recent change in the FreeBSD headers caused a regression in the GCC 15 development version; • https://gcc.gnu.org/bugzilla/show_bug.cgi?id5008 has been fixed: this was an issue with posix_fallocate failing on FreeBSD on a ZFS filesystem; • an attempt to fix bug https://bugs.freebsd.org/bugzilla/show_bug.cgi?id(2797 specific to aarch64 for -devel ports has failed. If you are able to give a hand on this, it would be very much appreciated. Thanks to everyone who has helped with these issues. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Tor-Browser Links: Tor Project Homepage URL: https://www.torproject.org/ GitLab Repository URL: https://gitlab.torproject.org/tpo/applications/ tor-browser Contact: Martin Filla <freebsd@sysctl.cz> Since the last report, significant progress has been made in building and packaging Tor Browser for FreeBSD. Additionally, the Tor Browser version has been updated to 14.0.3, which is now available from the Tor Browser download page and also from our distribution directory. This update includes important security updates to Firefox, ensuring that users benefit from enhanced security and privacy features. Expanding FreeBSD compatibility remains a priority to provide seamless and native privacy solutions for the platform. What is new: Tor Browser version 14.0.3 includes: • Rebase to Firefox 128.5.0esr. • Backporting of security fixes from Firefox 133. • Platform-specific updates such as disabling Microsoft SSO on macOS and updating GeckoView for Android. • Updated Go to version 1.22.9 in the build system. Help Needed: To move forward, assistance is required in the following areas: Code Review: Ensure patches meet the required coding and security standards. Testing: Volunteers are needed to test Tor Browser 14.0.3 on FreeBSD to identify edge cases. Bug Fixing: Developers familiar with FreeBSD and Firefox’s codebase are encouraged to resolve known issues. Feedback: If you find a bug or have suggestions for improving this release, please let us know through the GitLab Repository or the provided contact email. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Greenbone Vulnerability Management Community Edition Links: Greenbone URL: https://www.greenbone.net/en/ Greenbone GitHub URL: https://github.com/greenbone/ Contact: José Alonso Cárdenas Márquez <acm@FreeBSD.org> The Greenbone Community Edition (GVM) covers the actual source code of the Greenbone Vulnerability Management software stack, which is also known as OpenVAS scanner, a security feed with more than 160.000 vulnerability tests, a vulnerability management application, and much more. During this quarter, security/gvm metaport was updated to 24.1.2. This update includes the following: • databases/pg-gvm: Updated to 22.6.6 • security/gsa: Updated to 24.1.0 (Only amd64 and aarch64) • security/gsad: Updated to 24.1.0 • security/openvas: Updated to 23.14.0 • security/gvmd: Updated to 24.1.2 • security/gvm-libs: Updated to 22.15.0 • security/py-notus-scanner: Updated to 22.6.5 • security/py-greenbone-feed-sync: Updated to 24.9.0 • security/py-ospd-openvas: Bump PORTREVISION • security/py-gvm-tools: Updated to 24.12.1 • security/py-python-gvm: Updated to 24.12.0 A quick GVM jail installation to test it can be done using AppJail, makejail, or https://github.com/AppJail-makejails/greenbone-openvas. Anyone interested in helping with the project or interested in aarch64 device donation for testing is welcome. Current version: 24.1.2 ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Wazuh on FreeBSD Links: Wazuh URL: https://www.wazuh.com/ Contact: José Alonso Cárdenas Márquez <acm@FreeBSD.org> Wazuh is a free and open source platform used for threat prevention, detection, and response. It is capable of protecting workloads across on-premises, virtualized, containerized, and cloud-based environments. Wazuh solution consists of an endpoint security agent, deployed to the monitored systems, and a management server, which collects and analyzes data gathered by the agents. Besides, Wazuh has been fully integrated with the Elastic Stack or OpenSearch Stack, providing a search engine and data visualization tool that allows users to navigate through their security alerts. After a long break, ports has been updated to include Wazuh version 4.9.2. This version of Wazuh uses Python 3.11 instead of 3.10, and it includes some new features: • support to get ports info, • support to get processes info, • improved memory info, • FreeBSD decoder and rule files, and • FreeBSD Security Configuration Assessment files for 13.x, 14.x and 15-CURRENT. Also, FreeBSD ports include a custom version of wazuh-dashboard-plugins for a better integration with FreeBSD. Wazuh can easily be installed in a jail by following the Wazuh AppJail-Makejails tutorial. Anyone interested in helping with the project or interested in aarch64 device donation for testing/packaging is welcome. Current version: 4.9.2 TODO • Add Wazuh cluster-mode infrastructure AppJail makejails • Add vulnerability detection support to FreeBSD Wazuh agent • Add FreeBSD as officially supported platform by Wazuh Inc • Update FreeBSD SCA Policies to new FreeBSD CIS Benchmark ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ A bhyve management GUI written in Freepascal/Lazarus Links: Bhyvemgr URL: https://github.com/alonsobsd/bhyvemgr/ Contact: José Alonso Cárdenas Márquez <acm@FreeBSD.org> Bhyvemgr is a bhyve management GUI written in Freepascal/Lazarus on FreeBSD. It needs a bunch of tools mostly installed on base system and some installed from ports/packages. The application is being developed for desktop users to easily and quickly setup and run virtual machines on FreeBSD hosts. During this quarter, there were many bugfixes and improvements to Bhyvemgr. These are some new features that were added: • Support for Trusted Platform Module (TPM through software via swtpm) on CURRENT • Bootvars support • Bios, system, board and chassis information can be modified • Systray icon support on almost all desktop environment (tested on Plasma, Gnome, Xfce, LXQt and IceWM) Bhyvemgr supports aarch64 only on 15-CURRENT and amd64 from FreeBSD 13.x to 15-CURRENT. Also bhyvemgr can be • compiled and installed from ports, • installed as binaries through pkg with gtk2, qt5 or qt6 interface support. Anyone interested in helping or supporting the project are welcome. Current version: 1.3.1 TODO • Testing on real aarch64 hardware (aarch64 device donation for testing is welcome) • Add uart device support ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ BSD-USER 4 LINUX Contact: Maksym Sobolyev <sobomax@FreeBSD.org> Links: Project Page URL: https://github.com/sobomax/qemu-bsd-user-l4b Tooling URL: https://github.com/sobomax/qemu_l4b The bsd-user-4-linux project ports BSD user-mode emulation for QEMU to Linux. The primary goal is to enable unmodified FreeBSD binaries to run on modern Linux systems. Additionally, the project aims to provide multi-platform container images with a functional FreeBSD environment and ready-to-use GitHub Actions templates. Current Status: • The initial port successfully runs make -jN buildworld. • Most command-line tools are working as expected (sh, bash, find, grep, git, clang, etc). • A GitHub Actions pipeline builds x86_64 emulation images for: □ linux/386 □ linux/amd64 □ linux/arm/v5 □ linux/arm64/v8 Next Steps: * Implement container integration. How You Can Help: • Test with your preferred toolchain, report issues, or contribute fixes. • Build and test non-x86_64 emulation images (e.g., FreeBSD/arm64 on Linux/ x86_64). The code works on BSD but needs testing on Linux. • Support us on Patreon. Sponsor: Sippy Software, Inc. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Third Party Projects Many projects build upon FreeBSD or incorporate components of FreeBSD into their project. As these projects may be of interest to the broader FreeBSD community, we sometimes include brief updates submitted by these projects in our quarterly report. The FreeBSD project makes no representation as to the accuracy or veracity of any claims in these submissions. ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Laptop and Desktop Work Group (LDWG) Links: Desktop mailing list URL: https://lists.freebsd.org/archives/freebsd-desktop/ Wiki Page URL: https://wiki.freebsd.org/LaptopDesktopWorkingGroup Contact: Chris Moerz <freebsd@ny-central.org> October 2024 marked the inception of the Laptop and Desktop Work Group (LDWG), affectionately known as "Ludwig". This initiative provides a collaborative platform for the community to engage in development, testing, knowledge exchange, and advocacy for FreeBSD on laptops and desktops. Everyone is welcome to join, if interested. Scope of Work: • Content Creation: Develop recordings, articles, tutorials, documentation, and system configurations for stakeholders interested in FreeBSD on laptops and desktops. • Encouraging Contributions: Invite developers, testers, and industry experts to enhance the usability of FreeBSD on laptops and desktops. • Facilitating Collaboration: Promote code contributions, testing initiatives, operational support, and hardware insights. • Supporting User Stories and Ongoing Projects: Assist in the creation, validation, prioritization, and delivery of user stories identified in the FreeBSD Foundation’s “Laptop” investment work package. On November 16, 2024, the LDWG held its inaugural virtual meeting. The strong interest in FreeBSD for laptops and desktops was evident from the diverse group of participants, including developers, contributors, Discord community moderators, users, and FreeBSD Foundation members. Meeting slides, minutes, and recordings are available on the Group’s wiki page. During the meeting, the group identified prioritized gaps and potential improvements in the following areas: • Console • Desktop Environment • Documentation • Hardware □ Graphics □ Wireless (WiFi and Bluetooth) □ USB/Thunderbolt • Installer • Performance • Software and Port Availability All activities are documented on the Group’s worksheet. The Group encourages anyone interested in contributing to add their name. If there is any planned or ongoing work, please include it in the worksheet. Alice Sowerby provided an update on the The Foundation’s Laptop project, highlighting the need for volunteers to support testing efforts. The Group is running an online survey to gather input from non-participants. The survey will remain open until the next call in January, where results will be presented and discussed. Hope to see you there! ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ Containers and FreeBSD: Pot, Potluck and Potman Links: Pot organization on GitHub URL: https://github.com/bsdpot Contact: Luca Pizzamiglio (Pot) <pizzamig@FreeBSD.org> Contact: Bretton Vine (Potluck) <bv@honeyguide.eu> Contact: Michael Gmelin (Potman) <grembo@FreeBSD.org> Pot is a jail management tool that also supports orchestration through Nomad. Potluck aims to be to FreeBSD and Pot what Dockerhub is to Linux and Docker: a repository of Pot flavours and complete container images for usage with Pot and in many cases Nomad. During this quarter, there was no new Pot release. The tool is stable and used in production for quite some time already. Potluck got a new Netbox image. Additionally, various images have received improvements and bug fixes, e.g. improving their syslog-ng integration. Last not least, all images have been rebuilt several times: for FreeBSD 14.1, to include security fixes, then again for 14.2 and also for the new quarterly packages. As always, feedback and patches are welcome. Sponsors: Nikulipe UAB, Honeyguide Group