<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="https://blog.netbsd.org/roller-ui/styles/rss.xsl" media="screen"?><rss version="2.0" 
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:atom="http://www.w3.org/2005/Atom" >
<channel>
  <title>NetBSD Blog</title>
  <link>https://blog.netbsd.org/tnf/</link>
      <atom:link rel="self" type="application/rss+xml" href="https://blog.netbsd.org/tnf/feed/entries/rss" />
    <description></description>
  <language>en-us</language>
  <copyright>Copyright 2026</copyright>
  <lastBuildDate>Mon, 6 Apr 2026 14:13:39 +0000</lastBuildDate>
  <generator>Apache Roller (incubating) 5.0.3 (1388864191739:dave)</generator>
        <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_11_0_rc3_available</guid>
    <title>NetBSD 11.0 RC3 available!</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_11_0_rc3_available</link>
        <pubDate>Mon, 6 Apr 2026 14:13:39 +0000</pubDate>
    <category>Release engineering</category>
    <category>11.0</category>
    <category>release-candidate</category>
    <category>netbsd-11</category>
    <atom:summary type="html">&lt;p&gt;
The NetBSD project is pleased to announce the third (and probably final)
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC3/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 11.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-11/NetBSD-11.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
The NetBSD project is pleased to announce the third (and probably final)
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC3/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 11.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-11/NetBSD-11.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;
&lt;p&gt;The netbsd-11 release branch is nearly a year old now, so it is high time the 11.0 release makes it to the front stage.&lt;/p&gt;
&lt;p&gt;Unfortunately the first release candidate had a few defects that we had to fix, including speed enhancements for the ftp(1) client
when downloading large files, an updated tmux(1), reliability fixes for blocklistd(8) and fixes for the Mesa library.
See the  &lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC3/CHANGES-11.0&quot;&gt;changes document&lt;/a&gt; for details.
&lt;/p&gt;
&lt;p&gt;
Please note that various ISO images have been split into small ones for CD/R media and full featured DVD ones.
If you are not restricted by the size limits of a CD/R medium, make sure to pick the image with &quot;-dvd.iso&quot; in the name.
&lt;/p&gt;
&lt;p&gt;
If you want to test 11.0 RC3 please check the &lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC3/amd64/INSTALL.html&quot;&gt;installation notes&lt;/a&gt; for your architecture and download the preferred 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC3/images/&quot;&gt;install image&lt;/a&gt; from the CDN or if you are using an ARM based device from the netbsd-11 builds from the &lt;a href=&quot;https://armbsd.org&quot;&gt;bootable ARM images&lt;/a&gt; page.
&lt;/p&gt;
&lt;p&gt;
If you have any issues with installation or run into issues with the system during use, please contact us on one of the
&lt;a href=&quot;https://mail-index.NetBSD.org&quot;&gt;mailing lists&lt;/a&gt; or file a &lt;a href=&quot;https://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd&quot;&gt;problem report&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_11_0_rc2_available</guid>
    <title>NetBSD 11.0 RC2 available!</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_11_0_rc2_available</link>
        <pubDate>Fri, 6 Mar 2026 20:58:23 +0000</pubDate>
    <category>Release engineering</category>
    <category>netbsd-11</category>
    <category>release-candidate</category>
    <category>11.0</category>
    <atom:summary type="html">&lt;p&gt;
The NetBSD project is pleased to announce the second
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC2/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 11.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-11/NetBSD-11.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
The NetBSD project is pleased to announce the second
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC2/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 11.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-11/NetBSD-11.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;
&lt;p&gt;The netbsd-11 release branch is nearly a year old now, so it is high time the 11.0 release makes it to the front stage.&lt;/p&gt;
&lt;p&gt;Unfortunately the first release candidate had a few defects that we had to fix, including speed enhancements for the ftp(1) client
when downloading large files, an updated tmux(1), reliability fixes for blocklistd(8) and fixes for the Mesa library.
See the  &lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC2/CHANGES-11.0&quot;&gt;changes document&lt;/a&gt; for details.
&lt;/p&gt;
&lt;p&gt;
Please note that various ISO images have been split into small ones for CD/R media and full featured DVD ones.
If you are not restricted by the size limits of a CD/R medium, make sure to pick the image with &quot;-dvd.iso&quot; in the name.
&lt;/p&gt;
&lt;p&gt;
If you want to test 11.0 RC2 please check the &lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC2/amd64/INSTALL.html&quot;&gt;installation notes&lt;/a&gt; for your architecture and download the preferred 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC2/images/&quot;&gt;install image&lt;/a&gt; from the CDN or if you are using an ARM based device from the netbsd-11 builds from the &lt;a href=&quot;https://armbsd.org&quot;&gt;bootable ARM images&lt;/a&gt; page.
&lt;/p&gt;
&lt;p&gt;
If you have any issues with installation or run into issues with the system during use, please contact us on one of the
&lt;a href=&quot;https://mail-index.NetBSD.org&quot;&gt;mailing lists&lt;/a&gt; or file a &lt;a href=&quot;https://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd&quot;&gt;problem report&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/gsoc2026_tnf</guid>
    <title>The NetBSD Foundation will participate in Google Summer of Code 2026!</title>
    <dc:creator>Leonardo Taccari</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/gsoc2026_tnf</link>
        <pubDate>Mon, 23 Feb 2026 11:32:46 +0000</pubDate>
    <category>General</category>
    <category>pkgsrc</category>
    <category>netbsd</category>
    <category>gsoc</category>
            <description>&lt;img alt=&quot;Google Summer of Code logo&quot; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/GSoC-Horizontal.png&quot; /&gt;

&lt;p&gt;
We are happy to announce that &lt;a href=&quot;https://summerofcode.withgoogle.com/programs/2026/organizations/the-netbsd-foundation&quot;&gt;The NetBSD Foundation&lt;/a&gt; will participate in &lt;a href=&quot;https://g.co/gsoc&quot;&gt;Google Summer of Code 2026&lt;/a&gt;!
&lt;/p&gt;

&lt;p&gt;
Would you like to learn how to contribute to open source? Google Summer of Code is a great chance to contribute to NetBSD and/or pkgsrc!
&lt;/p&gt;

&lt;p&gt;
You can find a list of possible projects at &lt;a href=&quot;https://wiki.NetBSD.org/projects/gsoc/&quot;&gt;Google Summer of Code project page&lt;/a&gt;. Please do not limit yourself to the project list... If have any cool idea/project about NetBSD and/or pkgsrc please also propose your one!
&lt;/p&gt;

&lt;p&gt;
Please reach us via #netbsd-code IRC channel on &lt;a href=&quot;https://libera.chat/&quot;&gt;Libera.Chat&lt;/a&gt; and/or via &lt;a href=&quot;https://www.NetBSD.org/mailinglists/&quot;&gt;mailing lists&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
If you are more interested about Google Summer of Code, please also check the homepage at &lt;a href=&quot;https://g.co/gsoc&quot;&gt;g.co/gsoc&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Looking forward to a great Summer!
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_11_0_rc1_available</guid>
    <title>NetBSD 11.0 RC1 available!</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_11_0_rc1_available</link>
        <pubDate>Sun, 8 Feb 2026 17:30:05 +0000</pubDate>
    <category>Release engineering</category>
    <category>11.0</category>
    <category>netbsd-11</category>
    <category>release-candidate</category>
    <atom:summary type="html">&lt;p&gt;
The NetBSD project is pleased to announce the first
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC1/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 11.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-11/NetBSD-11.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
The NetBSD project is pleased to announce the first
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC1/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 11.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-11/NetBSD-11.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;
&lt;p&gt;The netbsd-11 release branch is nearly a year old now, so it is high time the 11.0 release makes it to the front stage.
&lt;/p&gt;
&lt;p&gt;
Please note that various ISO images have been split into small ones for CD/R media and full featured DVD ones.
If you are not restricted by the size limits of a CD/R medium, make sure to pick the image with &quot;-dvd.iso&quot; in the name.
&lt;/p&gt;
&lt;p&gt;
If you want to test 11.0 RC1 please check the &lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC1/amd64/INSTALL.html&quot;&gt;installation notes&lt;/a&gt; for your architecture and download the preferred 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-11.0_RC1/images/&quot;&gt;install image&lt;/a&gt; from the CDN or if you are using an ARM based device from the netbsd-11 builds from the &lt;a href=&quot;https://armbsd.org&quot;&gt;bootable ARM images&lt;/a&gt; page.
&lt;/p&gt;
&lt;p&gt;
If you have any issues with installation or run into issues with the system during use, please contact us on one of the
&lt;a href=&quot;https://mail-index.NetBSD.org&quot;&gt;mailing lists&lt;/a&gt; or file a &lt;a href=&quot;https://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd&quot;&gt;problem report&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/gsoc2025_bubblewrap_sandboxing</guid>
    <title>Google Summer of Code 2025 Reports: Using bubblewrap to add sandboxing to NetBSD</title>
    <dc:creator>Leonardo Taccari</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/gsoc2025_bubblewrap_sandboxing</link>
        <pubDate>Sat, 8 Nov 2025 15:00:19 +0000</pubDate>
    <category>General</category>
    <category>kernel</category>
    <category>gsoc</category>
    <atom:summary type="html">&lt;p&gt;This report was written by Vasyl Lanko as part of Google Summer of Code 2025.&lt;/p&gt;

&lt;p&gt;As of the time of writing, there is no real sandboxing technique available to NetBSD. There is &lt;a href=&quot;https://man.netbsd.org/chroot.8&quot;&gt;chroot&lt;/a&gt;, which can be considered a weak sandbox because it modifies the root directory of the process, effectively restricting the process&apos; view of the file system, but it doesn&apos;t isolate anything else, so all networking, IPC, and mounts inside this restricted file system are the same as of the system, and are accessible.&lt;/p&gt;
&lt;p&gt;There has already been some research on implementing kernel-level isolation in NetBSD with tools like &lt;a href=&quot;http://2008.asiabsdcon.org/papers/P3A-paper.pdf&quot;&gt;gaols&lt;/a&gt;, &lt;a href=&quot;http://2008.asiabsdcon.org/papers/P5A-paper.pdf&quot;&gt;mult&lt;/a&gt; and &lt;a href=&quot;https://github.com/smherwig/netbsd-sandbox&quot;&gt;netbsd-sandbox&lt;/a&gt;, but they haven&apos;t been merged to NetBSD. Other operating systems have their own ways to isolate programs, &lt;a href=&quot;https://www.freebsd.org/&quot;&gt;FreeBSD&lt;/a&gt; has &lt;a href=&quot;https://docs.freebsd.org/en/books/handbook/jails/&quot;&gt;jails&lt;/a&gt;, and &lt;a href=&quot;https://www.linux.org/&quot;&gt;Linux&lt;/a&gt; has &lt;a href=&quot;https://man7.org/linux/man-pages/man7/namespaces.7.html&quot;&gt;namespaces&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The goal of this project is to bring a new way of sandboxing to NetBSD. More specifically, we want to implement a mechanism like Linux namespaces. These namespaces allow the isolation of parts of the system from a namespace, or, as the user sees it, from an application.&lt;/p&gt;
&lt;p&gt;NetBSD has &lt;a href=&quot;https://man.netbsd.org/compat_linux.8&quot;&gt;compat_linux&lt;/a&gt; to run Linux binaries on NetBSD systems, and the implementation of namespaces can also be utilized to emulate namespace-related functionality of Linux binaries.&lt;/p&gt;
&lt;p&gt;A simple example to visualize our intended result is to consider an application running under an isolated UTS namespace that modifies the hostname. From the system&apos;s view, the hostname remains the same old hostname, but from the application&apos;s view it sees the modified hostname.&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;This report was written by Vasyl Lanko as part of Google Summer of Code 2025.&lt;/p&gt;

&lt;h1&gt;Introduction&lt;/h1&gt;
&lt;p&gt;As of the time of writing, there is no real sandboxing technique available to NetBSD. There is &lt;a href=&quot;https://man.netbsd.org/chroot.8&quot;&gt;chroot&lt;/a&gt;, which can be considered a weak sandbox because it modifies the root directory of the process, effectively restricting the process&apos; view of the file system, but it doesn&apos;t isolate anything else, so all networking, IPC, and mounts inside this restricted file system are the same as of the system, and are accessible.&lt;/p&gt;
&lt;p&gt;There has already been some research on implementing kernel-level isolation in NetBSD with tools like &lt;a href=&quot;http://2008.asiabsdcon.org/papers/P3A-paper.pdf&quot;&gt;gaols&lt;/a&gt;, &lt;a href=&quot;http://2008.asiabsdcon.org/papers/P5A-paper.pdf&quot;&gt;mult&lt;/a&gt; and &lt;a href=&quot;https://github.com/smherwig/netbsd-sandbox&quot;&gt;netbsd-sandbox&lt;/a&gt;, but they haven&apos;t been merged to NetBSD. Other operating systems have their own ways to isolate programs, &lt;a href=&quot;https://www.freebsd.org/&quot;&gt;FreeBSD&lt;/a&gt; has &lt;a href=&quot;https://docs.freebsd.org/en/books/handbook/jails/&quot;&gt;jails&lt;/a&gt;, and &lt;a href=&quot;https://www.linux.org/&quot;&gt;Linux&lt;/a&gt; has &lt;a href=&quot;https://man7.org/linux/man-pages/man7/namespaces.7.html&quot;&gt;namespaces&lt;/a&gt;.&lt;/p&gt;
&lt;h1&gt;Project Goals&lt;/h1&gt;
&lt;p&gt;The goal of this project is to bring a new way of sandboxing to NetBSD. More specifically, we want to implement a mechanism like Linux namespaces. These namespaces allow the isolation of parts of the system from a namespace, or, as the user sees it, from an application.&lt;/p&gt;
&lt;p&gt;NetBSD has &lt;a href=&quot;https://man.netbsd.org/compat_linux.8&quot;&gt;compat_linux&lt;/a&gt; to run Linux binaries on NetBSD systems, and the implementation of namespaces can also be utilized to emulate namespace-related functionality of Linux binaries.&lt;/p&gt;
&lt;p&gt;A simple example to visualize our intended result is to consider an application running under an isolated UTS namespace that modifies the hostname. From the system&apos;s view, the hostname remains the same old hostname, but from the application&apos;s view it sees the modified hostname.&lt;/p&gt;
&lt;h1&gt;Project Implementation&lt;/h1&gt;
&lt;p&gt;Linux has 8 namespace types, in this project we will focus on only 2 of them:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;UTS namespace, it is the simplest so we can focus on building the general namespace infrastructure with little namespace-specific details&lt;/li&gt;
&lt;li&gt;mount namespace, it is a prerequisite to most other namespace types because UNIX follows the philosophy of &amp;quot;everything is a file&amp;quot;, so we need a separate mount namespace to have different configuration files on the same location as the system.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Linux creates namespaces via the &lt;a href=&quot;https://man7.org/linux/man-pages/man2/unshare.2.html&quot;&gt;unshare&lt;/a&gt; or &lt;a href=&quot;https://man7.org/linux/man-pages/man2/clone.2.html&quot;&gt;clone&lt;/a&gt; system calls, and it will also be our way of calling the namespace creation logic.&lt;/p&gt;
&lt;p&gt;We setup the base for implementing Linux namespaces in the NetBSD kernel using &lt;a href=&quot;https://man.netbsd.org/kauth.9&quot;&gt;kauth&lt;/a&gt;, the subsystem managing all authorization requests inside the kernel. It associates credentials with objects, and because the namespace lifecycle management is related to the credential lifecycle it handles all the credential inheritance and reference counting for us. (Thanks kauth devs!)&lt;/p&gt;
&lt;p&gt;We separate the implementation of each namespace in a different &lt;a href=&quot;https://man.netbsd.org/secmodel.9&quot;&gt;secmodel&lt;/a&gt;, resulting in a similar framework to Linux which allows the isolation of a single namespace type. Our implementation also allows users to pick whether they want to have namespace support, and of what kind, via compilation flags, just like in Linux.&lt;/p&gt;
&lt;h2&gt;UTS namespace&lt;/h2&gt;
&lt;p&gt;UTS stands for UNIX &lt;a href=&quot;https://en.wikipedia.org/wiki/Time-sharing&quot;&gt;Timesharing&lt;/a&gt; System, because it allows multiple users to share a single computer system. Isolating the &lt;code&gt;utsname&lt;/code&gt;  can be useful to give users the illusion that they have control over the system&apos;s hostname, and also, for example, to give &lt;a href=&quot;https://lwn.net/Articles/179345/&quot;&gt;different hostnames to virtual servers&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The UTS namespace stores the namespace&apos;s hostname, domain name, and their lengths. To isolate the &lt;code&gt;utsname&lt;/code&gt; we need to first create a copy of the current UTS information, plus we need a variable containing the number of credentials referencing this namespace, or, in simpler terms, the reference count of this namespace.&lt;/p&gt;
&lt;p&gt;This namespace specific information needs to be saved somewhere, and for that we use the credential&apos;s &lt;code&gt;private_data&lt;/code&gt; field, so we can use a &lt;code&gt;UTS_key&lt;/code&gt; to save and retrieve &lt;code&gt;UTS&lt;/code&gt; related information from the secmodel. The key specifies the type of information we want to retrieve from the &lt;code&gt;private_data&lt;/code&gt;, hence using a &lt;code&gt;UTS_key&lt;/code&gt; for the UTS namespace. The key for each namespace is a fixed value (we don&apos;t create a new key for every credential), but the retrieved value for that key from different credentials may be different.&lt;/p&gt;
&lt;p&gt;We had to modify kernel code that was directly accessing  the &lt;code&gt;hostname&lt;/code&gt; and &lt;code&gt;domainname&lt;/code&gt; variables, to instead call &lt;code&gt;get_uts()&lt;/code&gt;, which retrieves the UTS struct for the namespace of the calling process. We didn&apos;t modify occurrences in kernel drivers because drivers are not part of any namespace, so they should still access the system&apos;s resources directly.&lt;/p&gt;
&lt;h2&gt;MNT namespace&lt;/h2&gt;
&lt;p&gt;The MNT namespace isolates mounts across namespaces. It is used to have different versions of mounted filesystems across namespaces, meaning a user inside a mount namespace can mount and unmount whatever they want without affecting or even breaking the system.&lt;/p&gt;
&lt;p&gt;The mount namespace structure in Linux is fairly &lt;a href=&quot;https://elixir.bootlin.com/linux/v6.17.7/source/fs/mount.h#L10&quot;&gt;complicated&lt;/a&gt;. To have something similar in NetBSD we need to be able to control the mounts accessed by each namespace, and for that we need to control what is each namespace&apos;s &lt;a href=&quot;https://nxr.netbsd.org/xref/src/sys/kern/vfs_mount.c#125&quot;&gt;mountlist&lt;/a&gt;, this is also enough for unmounting file systems, because in practice we can just hide them.&lt;/p&gt;
&lt;p&gt;For the mount_namespace, mountlist structure and the number of credentials using the mount namespace are stored in the credential&apos;s private data with the &lt;code&gt;MNT_key&lt;/code&gt;. Similarly to the UTS namespace, we had to modify kernel code to not directly access the &lt;code&gt;mountlist&lt;/code&gt;, but instead go through a wrapper called &lt;code&gt;get_mountlist()&lt;/code&gt; which returns the correct mountlist for the namespace the calling process resides in.&lt;/p&gt;
&lt;p&gt;Implementation for the mount namespace is immensely more complex than for the UTS namespace, it involves having a good understanding of both Linux and NetBSD behaviour, and I would frequently find myself wondering how to implement something after reading the Linux man pages, which would lead to me looking for it in the Linux source code, understanding it, then going back to NetBSD source code, trying to implement it, and seeing it&apos;s too different to implement in the same way.&lt;/p&gt;
&lt;h1&gt;Project Status&lt;/h1&gt;
&lt;p&gt;You can find all code written during this project in GitHub at &lt;a href=&quot;https://github.com/maksymlanko/netbsd-src/tree/gsoc-bubblewrap&quot;&gt;maksymlanko/netbsd-src &lt;code&gt;gsoc-bubblewrap&lt;/code&gt; branch&lt;/a&gt;. Because I intend to continue this work outside of GSoC, I want to reinforce that &lt;a href=&quot;https://github.com/maksymlanko/netbsd-src/commit/d4f5da46735525ed18c9d3e8f053d2875b2bd36c&quot;&gt;this&lt;/a&gt; was the last commit still during GSoC on &lt;code&gt;gsoc-bubblewrap&lt;/code&gt; branch and &lt;a href=&quot;https://github.com/maksymlanko/netbsd-src/commit/81a80d18a8fcce239d6c05fce0d3eb1228941fe9&quot;&gt;this&lt;/a&gt; was the last one for the &lt;code&gt;mnt_ns&lt;/code&gt; still WIP branch.&lt;/p&gt;
&lt;p&gt;The link includes implementation of general namespace code via secmodels, implementation of the UTS namespace and related ATF-tests, and the work-in-progress implementation of mount namespaces.&lt;/p&gt;
&lt;p&gt;The mount namespace functionality is not finished as it would require much more work than the time available for this project. To complete it, it would be required invasive and non-trivial changes to the original source code, and, of course, more time.&lt;/p&gt;
&lt;h1&gt;Future Work&lt;/h1&gt;
&lt;p&gt;As previously mentioned, Linux has 8 namespace types, it is important to see which of the missing namespaces are considered useful and feasible to implement.&lt;/p&gt;
&lt;p&gt;I believe that after mount namespaces it would be interesting to implement PID namespaces as this in combination with mount namespaces would permit process isolation from this sandbox. Afterwards, implementing user namespaces would allow users to get capabilities similar to &lt;code&gt;root&lt;/code&gt; in the namespace, giving them &lt;code&gt;sudo&lt;/code&gt; permissions while still restricting system-wide actions like shutting down the machine.&lt;/p&gt;
&lt;p&gt;A lower hanging fruit is to implement the namespace management functionality, which in Linux is &lt;a href=&quot;https://man7.org/linux/man-pages/man8/lsns.8.html&quot;&gt;lsns&lt;/a&gt; to list existing namespaces, and &lt;a href=&quot;https://man7.org/linux/man-pages/man2/setns.2.html&quot;&gt;setns&lt;/a&gt; to move the current process to an already existing namespace.&lt;/p&gt;
&lt;h1&gt;Challenges&lt;/h1&gt;
&lt;ul&gt;
&lt;li&gt;Semantics. Did you know the unmount system call with MNT_FORCE flag in Linux (usually) returns EBUSY, and in NetBSD it forces the unmounting? One of them makes it easier to implement mount namespaces.&lt;/li&gt;
&lt;li&gt;The behaviour of namespaces is not fully specified in the man pages. If something is not clear from the man pages you need to read the source code.&lt;/li&gt;
&lt;li&gt;Unexpected need to learn a lot of VFS concepts and their differences in NetBSD and Linux.&lt;/li&gt;
&lt;li&gt;There was a much bigger research component than I anticipated.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;In the end, Linux and NetBSD are different operating systems, implemented in different ways. Linux is complex and it is not trivial to port namespaces to NetBSD.&lt;/p&gt;
&lt;h1&gt;Notes&lt;/h1&gt;
&lt;p&gt;The project is called &amp;quot;Using bubblewrap to add sandboxing to NetBSD&amp;quot; and was initially projected to emulate the &lt;code&gt;unshare&lt;/code&gt; system call into &lt;code&gt;compat_linux&lt;/code&gt;, but, seeing that having namespaces could be useful for NetBSD, and that it would be easy to add to &lt;code&gt;compat_linux&lt;/code&gt; afterwards, we decided to instead implement namespaces directly in the NetBSD kernel. Implementing other system calls necessary to make the &lt;code&gt;bwrap&lt;/code&gt; linux binary work correctly also wouldn&apos;t be as satisfying as implementing namespaces directly into NetBSD, so this was why the project was initially called &amp;quot;Using bubblewrap to add sandboxing to NetBSD&amp;quot; but nowadays it would be more accurate to call it &amp;quot;Sandboxing in NetBSD with Linux-like namespaces&amp;quot;.&lt;/p&gt;
&lt;h1&gt;Thanks&lt;/h1&gt;
&lt;p&gt;I am very grateful to Google for Google Summer of Code, because without it I wouldn&apos;t have learned so much this summer, wouldn&apos;t have met with smart and interesting people, and for sure wouldn&apos;t have tried to contribute to a project like NetBSD, even if I always wanted to write operating systems code...
But, the biggest thing I will take with me from this project is the confidence to be able to contribute to NetBSD and other open source projects.&lt;/p&gt;
&lt;p&gt;I would also like to thank the members of the NetBSD organization for helping me throughout this project, and more specifically:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Taylor R. Campbell, Harold Gutch and Nia Alarie from IRC, for helping me fix a nasty &lt;code&gt;LD_LIBRARY_PATH&lt;/code&gt; bug I had on my system which wouldn&apos;t let me finish compiling NetBSD, and general GSoC recomendations.&lt;/li&gt;
&lt;li&gt;Emmanuel Dreyfus from &lt;code&gt;tech-kern&lt;/code&gt;, with whom I discussed ideas for projects and proposal suggestions, and in the end inspired the namespaces project.&lt;/li&gt;
&lt;li&gt;Christoph Badura and Leonardo Taccari who volunteered to be my mentors. They took time to research and answer my questions, anticipated possible problems in my approaches, and always pointed me in the right direction, daily, during all of GSoC&apos;s period. This project is from the 3 of us.&lt;/li&gt;
&lt;/ul&gt;
</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/gsoc2025_mentor_summit</guid>
    <title>Google Summer of Code 2025 Mentor Summit in Munich, Germany: travel notes</title>
    <dc:creator>Leonardo Taccari</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/gsoc2025_mentor_summit</link>
        <pubDate>Fri, 31 Oct 2025 11:41:23 +0000</pubDate>
    <category>General</category>
    <category>gsoc</category>
    <atom:summary type="html">&lt;p&gt;I just came back home from &lt;a href=&quot;https://sites.google.com/view/2025mentorsummit&quot;&gt;Google Summer of Code 2025 Mentor
Summit&lt;/a&gt;.
We were 185 mentors from 133 organizations and it was amazing!&lt;/p&gt;

&lt;p&gt;After nearly a decade being part of GSoC for The NetBSD Foundation,
first as student and then as mentor and org admin, I finally attended
my first GSoC Mentor Summit! That was a fantastic, very intense and fun
experience! I met with a lot of new folks and learned about a lot of
other cool open source projects.&lt;/p&gt;

&lt;p&gt;Let&apos;s share my travel notes!&lt;/p&gt;

</atom:summary>        <description>&lt;p&gt;I just came back home from &lt;a href=&quot;https://sites.google.com/view/2025mentorsummit&quot;&gt;Google Summer of Code 2025 Mentor
Summit&lt;/a&gt;.
We were 185 mentors from 133 organizations and it was amazing!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://summerofcode.withgoogle.com/&quot;&gt;Google Summer of Code (GSoC)&lt;/a&gt; is
a program organized by &lt;a href=&quot;https://www.google.com/&quot;&gt;Google&lt;/a&gt; with the focus
to bring new developers to open source projects.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.NetBSD.org/foundation/&quot;&gt;The NetBSD Foundation&lt;/a&gt; has been
participating in GSoC since 2005.&lt;/p&gt;
&lt;p&gt;After nearly a decade being part of GSoC for The NetBSD Foundation,
first as student and then as mentor and org admin, I finally attended
my first GSoC Mentor Summit! That was a fantastic, very intense and fun
experience! I met with a lot of new folks and learned about a lot of
other cool open source projects.&lt;/p&gt;
&lt;p&gt;Let&apos;s share my travel notes!&lt;/p&gt;
&lt;h2&gt;Wednesday 22, October 2025: arriving in Munich&lt;/h2&gt;
&lt;p&gt;Going to Munich is relatively doable by train from my hometown. I departed
from &lt;a href=&quot;https://it.wikipedia.org/wiki/Stazione_di_Urbisaglia-Sforzacosta&quot;&gt;Urbisaglia-Sforzacosta&lt;/a&gt;
at 6:59 in the morning. I had around 25 minutes to wait for the change
from &lt;a href=&quot;https://en.wikipedia.org/wiki/Ancona&quot;&gt;Ancona&lt;/a&gt; to
&lt;a href=&quot;https://en.wikipedia.org/wiki/Bologna&quot;&gt;Bologna&lt;/a&gt;. I arrived in
Bologna at around 11:30 where I met Andrea, my friend and
favorite music pusher since childhood. We had lunch together, eating
tasty miso veggie ramen, drank some hot sake and then we had coffee.
He then accompanied me back to the station where I had the train to
&lt;a href=&quot;https://en.wikipedia.org/wiki/M%C3%BCnchen_Hauptbahnhof&quot;&gt;Munich Central
Station&lt;/a&gt; at
13:50.&lt;/p&gt;
&lt;p&gt;The scenery from the train was really nice. Near
&lt;a href=&quot;https://en.wikipedia.org/wiki/Trento&quot;&gt;Trento&lt;/a&gt; and
&lt;a href=&quot;https://en.wikipedia.org/wiki/Bolzano&quot;&gt;Bolzano/Bozen&lt;/a&gt;, full of vineyards and
apple orchards with mountains in the background.
It was cloudy for most of the travel but starting from
&lt;a href=&quot;https://en.wikipedia.org/wiki/Brixen&quot;&gt;Bressanone/Brixen&lt;/a&gt; I
began to see &#171;beautiful blue skies and golden sunshine&#187;.
After Bressanone the scenery was more uncontaminated with light green
grazing lands.
Unfortunately when reaching
&lt;a href=&quot;https://en.wikipedia.org/wiki/Brenner,_South_Tyrol&quot;&gt;Brennero/Brenner&lt;/a&gt;
(last Italian city before
&lt;a href=&quot;https://en.wikipedia.org/wiki/Austria&quot;&gt;Austria&lt;/a&gt;) it started to get
dark and I had not enjoyed the rest of the scenery in Austria
and &lt;a href=&quot;https://en.wikipedia.org/wiki/Germany&quot;&gt;Germany&lt;/a&gt;.
I arrived in Munich at 20:50 and checked in at my hotel which was
around 1km from the station.&lt;/p&gt;
&lt;p&gt;For this journey I was not alone! Also Christoph Badura (&lt;code&gt;&amp;lt;bad@&amp;gt;&lt;/code&gt;) was
a delegate for Google Summer of Code and we had been in touch to get
dinner and beers together. Christoph had some train delays but at 21:40
we were able to meet and went for a walk a bit to the south-east to find
some places to eat and drink.
I had done my homework for the beer places (obviously!) but the place
in my TODO list to visit on Wednesday did not have a lot of food so we
decided to first go to a restaurant and we found &lt;a href=&quot;https://isarvorstadt.haveggie.de/&quot;&gt;Ha Veggie -
Vietnamese Cuisine&lt;/a&gt;. I had some
&lt;a href=&quot;https://en.wikipedia.org/wiki/Edamame&quot;&gt;Edamame&lt;/a&gt; and &lt;a href=&quot;https://en.wikipedia.org/wiki/Vietnamese_cuisine&quot;&gt;B&#242; x&#224;o s&#7843;
&#7899;t&lt;/a&gt;, a delicious dish
with seitan, vegetables, lemongrass and chili pepper.&lt;/p&gt;
&lt;p&gt;We then stopped at &lt;a href=&quot;https://www.frischesbier-muenchen.de/&quot;&gt;Frisches
Bier&lt;/a&gt;, a bit too late, but the
publican was kind enough and she permitted us a last round. I had a
pint of a refreshing Hoppebr&#228;u Wuide Hehna Session IPA.&lt;/p&gt;
&lt;p&gt;We then took a walk back to our hotels, talked a bit and went to sleep.&lt;/p&gt;
&lt;h2&gt;Thursday 23, October 2025: 1st day of Mentor Summit&lt;/h2&gt;
&lt;p&gt;Thursday was the first day of the Mentor Summit. The summit was in
&lt;a href=&quot;https://www.marriott.com/en-us/hotels/mucno-munich-marriott-hotel/&quot;&gt;Munich Marriott
Hotel&lt;/a&gt;,
more in the north of the city, around 5km from the central station.&lt;/p&gt;
&lt;p&gt;I checked out of my hotel and walked to the city center in
&lt;a href=&quot;https://en.wikipedia.org/wiki/Marienplatz&quot;&gt;Marienplatz&lt;/a&gt; and nearby.
I also stopped in a couple of shops to grab some souvenirs for my
family and friends and then took a long walk in the direction of Munich
Marriott Hotel, to hopefully be there at 13:00 sharp for the
start of check-in of GSoC Mentor Summit.&lt;/p&gt;

&lt;p&gt;
&lt;img alt=&apos;Rear of the Siegestor showing its inscription that can be translated to &quot;Dedicated to victory, destroyed by war, urging peace&quot;&apos; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/gsoc2025-siegestor.jpg&quot; height=&quot;700&quot; width=&quot;700&quot; /&gt;
&lt;br /&gt;
Rear of the Siegestor showing its inscription that can be translated to &quot;Dedicated to victory, destroyed by war, urging peace&quot;
&lt;/p&gt;

&lt;p&gt;I walked through
&lt;a href=&quot;https://en.wikipedia.org/wiki/Ludwigstra%C3%9Fe&quot;&gt;Ludwigstra&#223;e&lt;/a&gt; and
enjoyed the architecture around me, walking near &lt;a href=&quot;https://en.wikipedia.org/wiki/Ludwig_Maximilian_University_of_Munich&quot;&gt;LMU
University&lt;/a&gt;
and &lt;a href=&quot;https://en.wikipedia.org/wiki/Siegestor&quot;&gt;Siegestor&lt;/a&gt;.
I then proceeded through
&lt;a href=&quot;https://en.wikipedia.org/wiki/Leopoldstra%C3%9Fe&quot;&gt;Leopoldstra&#223;e&lt;/a&gt; and
&lt;a href=&quot;https://en.wikipedia.org/wiki/Ungererstra%C3%9Fe&quot;&gt;Ungererstra&#223;e&lt;/a&gt; and then
arrived to the Munich Marriott Hotel.&lt;/p&gt;

&lt;p&gt;Chris was already in the lobby and he had already checked in. We talked a
bit and then I checked in as well. The room was huge and
comfy! I quickly went back down to the lobby. We then checked in
for Mentor Summit and I finally met Stephanie, Mary and Lucy, the GSoC
Program Admins. I also took with me from home some classical and
specialty Italian chocolate (&lt;a href=&quot;https://en.wikipedia.org/wiki/Cioccolato_di_Modica&quot;&gt;Cioccolato di
Modica&lt;/a&gt;) for the
chocolate room (more about that later!) and left the bars in the
chocolate room.&lt;/p&gt;
&lt;p&gt;The time from 13:00-17:00 was reserved to actually permit mentors to
arrive. At 13:00 there were still not a lot of mentors around so
with Chris we decided to have lunch. We had lunch in a
&lt;a href=&quot;https://en.wikipedia.org/wiki/Trattoria&quot;&gt;trattoria&lt;/a&gt; where we had an
&lt;a href=&quot;https://en.wikipedia.org/wiki/Antipasto&quot;&gt;antipasto&lt;/a&gt; of grilled vegetables,
&lt;a href=&quot;https://en.wikipedia.org/wiki/Arrabbiata_sauce&quot;&gt;penne all&apos;arrabbiata&lt;/a&gt; with
red wine from &lt;a href=&quot;https://en.wikipedia.org/wiki/Montepulciano&quot;&gt;Montepulciano&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;While eating Chris talked about the
&lt;a href=&quot;https://en.wikipedia.org/wiki/Tantris&quot;&gt;Tantris&lt;/a&gt; but we were already
full. We had not tasted the haute cuisine but walked there to just
look at the restaurant building. O:)&lt;/p&gt;


&lt;p&gt;
&lt;img alt=&apos;Tables full of chocolate and sweets from the chocolate room&apos; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/gsoc2025-chocolate_room.jpg&quot; height=&quot;1000&quot; width=&quot;750&quot; /&gt;
&lt;br /&gt;
Tables full of chocolate and sweets from the chocolate room
&lt;/p&gt;

&lt;p&gt;When we came back to Munich Marriott Hotel, I went to the chocolate
room to taste some chocolate/sweets.
In GSoC Mentor Summit it is a tradition to bring great quality
chocolate - or other sweets for places where chocolate is less usual -
so folks can taste sweets from all over the world. That&apos;s a very nice
initiative! I was curious more about non-chocolate sweets completely
new to me so I had some &lt;a href=&quot;https://en.wikipedia.org/wiki/Laddu&quot;&gt;Laddu&lt;/a&gt;
and &lt;a href=&quot;https://en.wikipedia.org/wiki/Kaju_katli&quot;&gt;Kaju katli&lt;/a&gt;, both
delicious!&lt;/p&gt;
&lt;p&gt;I spent the rest of the afternoon down at the Champions Bar
socializing with other mentors.&lt;/p&gt;
&lt;p&gt;We had dinner at around 19:00 with good food accompanied by a couple
of glasses of &lt;a href=&quot;https://en.wikipedia.org/wiki/Zinfandel&quot;&gt;Primitivo&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;At 20:15 we had the Opening Session.
Stephanie, Mary and Robert warmly welcomed us.
They shared the schedule and introduced to the
&lt;a href=&quot;https://scottberkun.com/2006/how-to-run-a-great-unconference-session/&quot;&gt;unconference&lt;/a&gt;
format of the sessions.
We then had dessert and played the GSoC 2025 Mentor Summit Scavenger Hunt.
The Scavenger Hunt is a game where you can meet and find 25
different folks with something that could be common (e.g. &#171;prefers
spaces (not tabs)&#187;) to something pretty rare (e.g. &#171;has jumped out of a
helicopter&#187;).
This game was nice because it was also a great conversation starter.
I met a lot of mentors both of open source software that I
regularly use but also learned about new interesting open source software and
organizations while doing that!&lt;/p&gt;
&lt;p&gt;We had time until Friday 12:30 and 10 lucky mentors who completed it
(at the end around 60 of 185 were able to complete) got randomly
selected and they got special prizes.&lt;/p&gt;
&lt;p&gt;I stayed up until probably 1am or so, socializing a bit more in
the lobby and then went back to my room to have some sleep,
knowing that Friday was completely packed with Lightning talks and
sessions!&lt;/p&gt;
&lt;h2&gt;Friday 24, October 2025: 2nd day of Mentor Summit&lt;/h2&gt;
&lt;p&gt;I had breakfast around 8:20 at the Green&apos;s Restaurant. I sat at a
table together with other folks and after a minute I saw a known
name in front of me: Lourival Pereira Vieira Neto &lt;code&gt;&amp;lt;lneto@&amp;gt;&lt;/code&gt;! I was
very happy to meet another NetBSD developer and that was a complete
surprise. He was there as a mentor of the
&lt;a href=&quot;http://www.lua.inf.puc-rio.br/&quot;&gt;LabLua&lt;/a&gt; organization.&lt;/p&gt;
&lt;p&gt;GSoC Program Admins welcomed us for the day and recapped the schedule
for Friday and Saturday.&lt;/p&gt;
&lt;h3&gt;Lightning talks, round 1&lt;/h3&gt;
&lt;p&gt;The lightning talks consisted of mentors presenting their best GSoC 2025
projects. The format was fast and fun: a maximum of 3 minutes for the
talk and a maximum of 4 slides! We had presentations from 18 different
mentors and orgs and all of them were able to stay under 3 minutes!&lt;/p&gt;
&lt;p&gt;That was a great occasion also to learn about open source projects, new
orgs and the experiences shared were interesting too.&lt;/p&gt;
&lt;h3&gt;GSoC Feedback Session&lt;/h3&gt;
&lt;p&gt;After the 1st round of Lightning Talks I attended the GSoC Feedback
Session. That was a Q&amp;amp;A session with program admins and org
admins/mentors.&lt;/p&gt;
&lt;p&gt;Hot topics this year were AI usage and spam applications that were not
discussed as part of this session because there were two other separate
sessions regarding that later.&lt;/p&gt;
&lt;p&gt;If I only have one sentence to summarize this session... I should
quote Robert sharing that Google Summer of Code is about the journey
for the contributors and mentors to get involved in open source.
The coding is only the means to an end.&lt;/p&gt;
&lt;h3&gt;&amp;quot;Hallway track&amp;quot;, lunch and group photo&lt;/h3&gt;
&lt;p&gt;After the first session I decided to take a break and instead stay
in the &amp;quot;hallway track&amp;quot; where I met new folks and socialized a
bit. Another funny and at the same time a bit embarrassing for me thing of GSoC is
that I often met someone and after a couple of minutes of talk I
can associate the face with a name and I figured out that I&apos;m an avid
user / pkgsrc MAINTAINER of the software they contribute to! :)&lt;/p&gt;
&lt;p&gt;At 12:30 we had lunch at Green&apos;s Restaurant and then at 13:40 we had a
group photo and it was pretty tricky to put around 200 folks (program
admins and mentors) on the stage of the Ballroom! :)&lt;/p&gt;
&lt;h3&gt;Let&apos;s talk about improving diversity + inclusion in FOSS!&lt;/h3&gt;
&lt;p&gt;In the afternoon I joined the session about improving diversity.
In open source unfortunately there are a lot of underrepresented
groups and we should fix that.&lt;/p&gt;
&lt;p&gt;There were a lot of experiences shared from several orgs, food for
thought for me! Only to name few topics:
&lt;a href=&quot;https://www.outreachy.org/&quot;&gt;Outreachy&lt;/a&gt;, how to know and create safe
spaces, importance of localization in software and documentation, be
sure to make underrepresented folk as part of key people and also try
to take the burden of other tasks off them.&lt;/p&gt;
&lt;h3&gt;GSoC and AI&lt;/h3&gt;
&lt;p&gt;Artificial Intelligence (AI), in particular &lt;a href=&quot;https://en.wikipedia.org/wiki/Generative_artificial_intelligence&quot;&gt;Generative AI
(GenAI)&lt;/a&gt; has
been a hot topic since project proposals opened this year!&lt;/p&gt;
&lt;p&gt;Some people consider it a speed-up for researching but at the same time it
impedes learning.&lt;/p&gt;
&lt;p&gt;In NetBSD - according to our &lt;a href=&quot;https://www.NetBSD.org/developers/commit-guidelines.html&quot;&gt;Commit
Guidelines&lt;/a&gt; -
code generated by large language model (LLM) or similar technologies is
considered tainted code because such models can be trained on
copyrighted materials and such resulting code can then violate
copyright.&lt;/p&gt;
&lt;p&gt;More than 80% of GSoC contributors who filled an anonymous survey used
AI, mainly for code generation, code completion, text generation,
debugging and error detection.&lt;/p&gt;
&lt;p&gt;Most mentors are usually not happy with the outcomes of AI with code
often resulting in buggy/vulnerable and poor quality, violating
copyright and some mentors also pointed out that as part of mentoring
we should also make contributors aware of environmental/ecological
impact of such use.&lt;/p&gt;
&lt;p&gt;However, both contributors&apos; and mentors&apos; surveys on AI are relatively small
dataset (around 90 mentors and 90 contributors).&lt;/p&gt;
&lt;h3&gt;Lightning talks, round 2&lt;/h3&gt;
&lt;p&gt;At 16:00 we had the 2nd and last round of Lightning talks. That was
another great opportunity to learn more about more projects and
organizations!&lt;/p&gt;
&lt;h4&gt;Asynchronous I/O by Ethan Miller&lt;/h4&gt;

&lt;p&gt;
&lt;img alt=&apos;Christoph presenting his lightning talk&apos; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/gsoc2025-bad_lightning_talk.jpg&quot; height=&quot;700&quot; width=&quot;700&quot; /&gt;
&lt;br /&gt;
Christoph Badura (&lt;code&gt;&amp;lt;bad@&amp;gt;&lt;/code&gt;) presenting his lightning talk
&lt;/p&gt;

&lt;p&gt;Christoph Badura (&lt;code&gt;&amp;lt;bad@&amp;gt;&lt;/code&gt;) did a lightning talk too and he presented
work done by Ethan Miller. Ethan also blogged about his work, please
read &lt;a href=&quot;https://blog.netbsd.org/tnf/entry/gsoc2025_asynchronous_i_o_framework&quot;&gt;Google Summer of Code 2025 Reports: Asynchronous I/O
Framework&lt;/a&gt;
if you missed it!&lt;/p&gt;
&lt;p&gt;This code was also imported by Christos Zoulas (&lt;code&gt;&amp;lt;christos@&amp;gt;&lt;/code&gt;), thanks
Christos!, and is now part of &lt;code&gt;-current&lt;/code&gt; and it will be in NetBSD
12.0.&lt;/p&gt;
&lt;h3&gt;GSoC spammy proposals&lt;/h3&gt;
&lt;p&gt;After the Lightning talks there was a break and then at 17:30 I
joined the session about GSoC spammy proposals.&lt;/p&gt;
&lt;p&gt;This year most organizations received many more proposals, mostly due
contributors starting to massively use GenAI.&lt;/p&gt;
&lt;p&gt;A lot of suggestions and tips were shared to make the mentor
review job smooth and easy as possible.&lt;/p&gt;
&lt;p&gt;The most important suggestion is that mentors must do a 1:1
conversation with potential contributors before accepting them.
The weight of the project proposal is like 2/10 and the actual 8/10
weight is on conversations between mentors and contributor.&lt;/p&gt;
&lt;h3&gt;Dinner and social event&lt;/h3&gt;
&lt;p&gt;Around 19:00 we had dinner, desserts and socialized.
Stephanie also did a final talk recapping GSoC 2025 and thanking
all mentors for making that possible.&lt;/p&gt;
&lt;p&gt;We then had drinks and it then started the karaoke session (and there
were a lot of pro folks doing that, very nice!).&lt;/p&gt;
&lt;p&gt;The karaoke session at Ballroom closed with the waiter singing Closing
Time (not the one by Tom Waits that is mostly instrumental, but the one
by Semisonics!, I did not know it but that&apos;s melancholic as well for
me, just smells a little bit less of whisky and cigs compared to the
Tom Waits one ;)).&lt;/p&gt;
&lt;p&gt;We went downstairs to the Champions Bar, had two rounds of some good
Higgins Ale Works IPA and socialized a bit more. Time passed pretty
quickly and also the barman there at Champions Bar started singing
Closing Time!&lt;/p&gt;
&lt;p&gt;We went a bit outside and in the lobby talking with other mentors
and then I went back to my room to get some sleep for the last day of
the summit.&lt;/p&gt;
&lt;h2&gt;Saturday 25, October 2025: 3rd day of Mentor Summit&lt;/h2&gt;
&lt;p&gt;I had breakfast around 8:00, a bit earlier, given that on Saturday the
first session started at 9:00.&lt;/p&gt;
&lt;h3&gt;Porting &amp;amp; Packaging&lt;/h3&gt;
&lt;p&gt;At 9:00 I joined a session about porting and packaging. We had
both FreeBSD porters, pkgsrc maintainers and other package systems
maintainers on one side. On the other side there were also a lot of
upstreams.&lt;/p&gt;
&lt;p&gt;We shared do-s and don&apos;t-s on packaging.&lt;/p&gt;
&lt;h3&gt;How to get students to engage with the community&lt;/h3&gt;
&lt;p&gt;Christoph Badura (&lt;code&gt;&amp;lt;bad@&amp;gt;&lt;/code&gt;) proposed a session to share
experiences on how to get contributors to engage with the community and
a lot of mentors provided a lot of great suggestions.&lt;/p&gt;
&lt;p&gt;One thing that most mentors agreed on and worked well was to invite
contributors regular (or less regular, to avoid putting too much
pressure on contributors) blog posts / status updates.&lt;/p&gt;
&lt;p&gt;Some organizations also did that as part of their weekly / bi-weekly
updates that are often video meetings. In that case they reserved a slot for
the contributor so that they can share their status updates.&lt;/p&gt;
&lt;p&gt;These are great opportunities for the contributor to get in touch with
the community.&lt;/p&gt;
&lt;h3&gt;Open source tools for supply chain security&lt;/h3&gt;
&lt;p&gt;I then joined a session about open source tools for supply chain
security.&lt;/p&gt;
&lt;p&gt;We discussed about &lt;a href=&quot;https://en.wikipedia.org/wiki/Software_supply_chain&quot;&gt;Software Bill of Materials
(SBOM)&lt;/a&gt; and its
importance in the context of regulations like EU Cyber Resilience Act
(CRA).&lt;/p&gt;
&lt;p&gt;We also discussed &lt;a href=&quot;https://en.wikipedia.org/wiki/Common_Platform_Enumeration&quot;&gt;Common Platform Enumeration
(CPE)&lt;/a&gt; and
&lt;a href=&quot;https://github.com/package-url&quot;&gt;Package URL (PURL)&lt;/a&gt; schemas&lt;/p&gt;
&lt;p&gt;We talked about vulnerability management and I
shared a bit my experience in &lt;code&gt;pkgsrc-security@&lt;/code&gt; and how often the
metadata in CVEs (like vendor, product and versions affected) is not
that good. Most package systems have their own workflows and usually
add extra metadata only for their vulnerability DB.&lt;/p&gt;
&lt;p&gt;I also learned about &lt;a href=&quot;https://cyclonedx.org/capabilities/vex/&quot;&gt;Vulnerability Exploitability eXchange
(VEX)&lt;/a&gt; that some package
systems use.&lt;/p&gt;
&lt;p&gt;There were also mentors from &lt;a href=&quot;https://aboutcode.org/&quot;&gt;AboutCode&lt;/a&gt; and
&lt;a href=&quot;https://eclipse.dev/sw360/&quot;&gt;SW360&lt;/a&gt;, projects that looks very
interesting and I should learn more about them!&lt;/p&gt;
&lt;h3&gt;Vintage computing&lt;/h3&gt;
&lt;p&gt;Before lunch I joined the Vintage computing session.&lt;/p&gt;
&lt;p&gt;Everyone presented themselves and talked about the most vintage
computer they had, how running old machines is both fun and productive
and we also talked about old Unix-es and &lt;a href=&quot;https://www.tuhs.org/&quot;&gt;The Unix Heritage
Society&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;Lunch&lt;/h3&gt;
&lt;p&gt;I had lunch at Green&apos;s Restaurant with other mentors and then
socialized a bit outside Ballroom.&lt;/p&gt;
&lt;h3&gt;Waitlisted Lightning talk and funny stories&lt;/h3&gt;
&lt;p&gt;At 14:00 we had the last sessions. I went to the waitlisted Lightning
talk, that can be considered the Lightning talk, round 3! :)&lt;/p&gt;
&lt;p&gt;Mentors from different organizations shared interesting projects.&lt;/p&gt;
&lt;p&gt;After the lightning talks several of us shared funny stories/hacks.
Like learning languages in interesting ways, taking photographs of
garbage to train and realize a robot that cleans it, a sort of
Tinder for food... And much more! :)&lt;/p&gt;
&lt;h3&gt;Closing session&lt;/h3&gt;
&lt;p&gt;At 15:30 we had the closing session.&lt;/p&gt;
&lt;p&gt;Some of us stayed for another 1 or 2 hours and talked, socialized a
bit more and said see you soon to each other.&lt;/p&gt;
&lt;h3&gt;Going near Munich East Station and dinner with Chris&lt;/h3&gt;
&lt;p&gt;Around 17:00 I left the Munich Marriott hotel to check in
to my hotel for Saturday night near &lt;a href=&quot;https://en.wikipedia.org/wiki/Munich_East_station&quot;&gt;Munich East
Station&lt;/a&gt;.
It was raining for most of the morning and afternoon but luckily around
17:00 it stopped and the sky seemed fine. I decided to take a walk - a
bit more than 6km - to reach the hotel.
Also that time I&apos;m happy that I took a long walk because I was able to
stay for most of my walk in the &lt;a href=&quot;https://en.wikipedia.org/wiki/Englischer_Garten&quot;&gt;Englischer
Garten&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;
&lt;img alt=&apos;Glass of Camba Island (NEIPA) beer and list of draft beers&apos; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/gsoc2025-tap-house.jpg&quot; height=&quot;1000&quot; width=&quot;750&quot; /&gt;
&lt;br /&gt;
Glass of Camba Island (NEIPA) beer and list of draft beers
&lt;/p&gt;

&lt;p&gt;I checked in at my hotel and then went to
&lt;a href=&quot;https://tap-house-munich.de/en/&quot;&gt;Tap-House&lt;/a&gt; where with Christoph we
planned to have dinner and a couple of beers. Tap-House had a really
huge choice of craft beers with 40 drafts! We had a pinsa
&lt;a href=&quot;https://en.wikipedia.org/wiki/Marinara_sauce&quot;&gt;marinara&lt;/a&gt;, a flatbread
similar to pizza and I had a couple of small IPAs from Camba Bavaria
and Yankee &amp;amp; Kraut Pure HBC 630, a DNEIPA.&lt;/p&gt;
&lt;p&gt;We decided to take a walk and went to
&lt;a href=&quot;https://brewsli.de/&quot;&gt;BrewsLi&lt;/a&gt; for some last good night beers. BrewsLi
was a very nice brew pub. We sat at a table and near us there were
several board games. Chris took one of this board game &lt;a href=&quot;https://en.wikipedia.org/wiki/Mensch_%C3%A4rgere_Dich_nicht&quot;&gt;Mensch &#228;rgere Dich
nicht&lt;/a&gt; and
explained to me the rules. A lot of aleatory is involved but there is also some
strategy and it was funny to play and we probably played for 40 minutes or so
because most of our game pieces returned to the &amp;quot;out&amp;quot; section.
I took a walk with Chris back to the nearest metro station and I came
back to my hotel around 2:00.&lt;/p&gt;

&lt;p&gt;
&lt;img alt=&apos;Mensch &#228;rgere Dich nicht board game&apos; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/gsoc2025-mensch_argere_dich_nicht.jpg&quot; height=&quot;1000&quot; width=&quot;750&quot; /&gt;
&lt;br /&gt;
Mensch &#228;rgere Dich nicht board game
&lt;/p&gt;

&lt;h2&gt;Sunday 26, October 2025: stop in Bolzano/Bozen&lt;/h2&gt;
&lt;p&gt;On Sunday I took a train from Munich East Station to
&lt;a href=&quot;https://en.wikipedia.org/wiki/Bolzano&quot;&gt;Bolzano/Bozen&lt;/a&gt; because it was
unfeasible to go back home by train to
&lt;a href=&quot;https://en.wikipedia.org/wiki/Marche&quot;&gt;Marche region&lt;/a&gt; without a stop
somewhere in Italy.&lt;/p&gt;

&lt;p&gt;
&lt;img alt=&apos;View of Bolzano from St. Oswald Promenade&apos; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/gsoc2025-bolzano.jpg&quot; height=&quot;700&quot; width=&quot;700&quot; /&gt;
&lt;br /&gt;
View of Bolzano from St. Oswald Promenade
&lt;/p&gt;

&lt;p&gt;I went for a walk Passeggiata di Sant&apos;Osvaldo (St. Oswald Promenade)
uphill to be able to enjoy a view of the city from the top until
sunset.&lt;/p&gt;
&lt;p&gt;I had a simple but very tasty onion soup and a Gose (really good, one
of the best Gose I&apos;ve drunk!) and Session IPA at &lt;a href=&quot;https://www.batzen.it/&quot;&gt;Batzen
H&#228;usl&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I was not able to visit anything else in the night because I was pretty
tired so I went to sleep earlier.&lt;/p&gt;
&lt;h2&gt;Monday 27, October 2025: back home&lt;/h2&gt;
&lt;p&gt;In the morning I took a walk to Walther Square and nearby. I got some
souvenirs for the family and then I took the trains back home and spent
most of my day on the trains.&lt;/p&gt;
&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;&lt;a href=&quot;https://sites.google.com/view/2025mentorsummit&quot;&gt;Google Summer of Code 2025 Mentor
Summit&lt;/a&gt; was an amazing
experience!&lt;/p&gt;
&lt;p&gt;I had the chance to participate in very interesting talks, sessions and
discussions. I met a lot of mentors from all over the world and
learned about new open source projects and organizations. All the folks
were also extremely positive, easy to talk to and I had a lot of fun.&lt;/p&gt;
&lt;p&gt;Thanks to program admins and all the mentors who made this possible!
Thanks a lot also to &lt;a href=&quot;https://www.google.com&quot;&gt;Google&lt;/a&gt; for organizing it
and thanks to &lt;a href=&quot;https://www.NetBSD.org/foundation/&quot;&gt;The NetBSD
Foundation&lt;/a&gt; that permitted me to
go!&lt;/p&gt;

&lt;p&gt;
&lt;img alt=&apos;NetBSD hand-written logo on the GSoC guest book&apos; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/gsoc2025-netbsd_guestbook.jpg&quot; height=&quot;700&quot; width=&quot;700&quot; /&gt;
&lt;br /&gt;
NetBSD hand-written logo on the GSoC guest book
&lt;/p&gt;

&lt;p&gt;If you are new to open source, consider applying for it! If you are a
seasoned open source contributor, consider participating as a mentor!
You can learn more about GSoC at &lt;a href=&quot;https://summerofcode.withgoogle.com/&quot;&gt;Google Summer of Code
(GSoC) website&lt;/a&gt;.&lt;/p&gt;
</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/gsoc2025_nat64_protocol_translation_part2</guid>
    <title>Google Summer of Code 2025 Reports: Enhancing Support for NAT64 Protocol Translation in NetBSD, part 2</title>
    <dc:creator>Leonardo Taccari</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/gsoc2025_nat64_protocol_translation_part2</link>
        <pubDate>Mon, 20 Oct 2025 14:19:28 +0000</pubDate>
    <category>General</category>
    <category>gsoc</category>
    <category>netbsd</category>
    <category>npf</category>
    <atom:summary type="html">&lt;p&gt;
This report was written by Dennis Onyeka as part of Google Summer of Code 2025.
&lt;/p&gt;

&lt;p&gt;
This is the 2nd blog post about his work. If you have missed the first blog post please read &lt;a href=&quot;https://blog.netbsd.org/tnf/entry/gsoc2025_nat64_protocol_translation&quot;&gt;Google Summer of Code 2025 Reports: Enhancing Support for NAT64 Protocol Translation in NetBSD&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
This report will dig on how the &lt;code&gt;npf.conf(5)&lt;/code&gt; syntax will looks like and details of its implementation.
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
This report was written by Dennis Onyeka as part of Google Summer of Code 2025.
&lt;/p&gt;

&lt;p&gt;
This is the 2nd blog post about his work. If you have missed the first blog post please read &lt;a href=&quot;https://blog.netbsd.org/tnf/entry/gsoc2025_nat64_protocol_translation&quot;&gt;Google Summer of Code 2025 Reports: Enhancing Support for NAT64 Protocol Translation in NetBSD&lt;/a&gt;.
&lt;/p&gt;

&lt;h2&gt;Overview&lt;/h2&gt;

&lt;p&gt;
Typical rules looks like:
&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;map wm0 algo &amp;quot;nat64&amp;quot; 64:ff9b:2a4:: -&amp;gt; 192.0.2.33
map wm0 algo nat64 plen 96 64:ff9b::8c52:7903 &amp;lt;- 140.82.121.3
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt; This tells NPF to translate outgoing IPv6 packets using the prefix
&lt;code&gt;64:ff9b:2a4::/96&lt;/code&gt;, rewriting them to use the IPv4 address
&lt;code&gt;192.0.2.33&lt;/code&gt;. When the packet returns and hits NPF, it
changes source from GitHub&apos;s IPv4 to GitHub&apos;s IPv6 address and then it
rewrites the header.&lt;/p&gt;

&lt;h3&gt;When an IPv6 packet from a client hits the NPF machine&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;The NAT64 translation routine (&lt;code&gt;npf_nat64_rwrheader()&lt;/code&gt;) rewrites the IPv6 header to an IPv4 header.
&lt;ul&gt;
&lt;li&gt;The source becomes the host&apos;s IPv4 address or any pool of IPv4 addresses.&lt;/li&gt;
&lt;li&gt;The destination becomes the IPv4 address of &lt;code&gt;github.com&lt;/code&gt; extracted from IPv4 embedded IPv6 address defined in the rule configuration. (e.g. &lt;code&gt;140.82.121.3&lt;/code&gt; from &lt;code&gt;64:ff9b::8c52:7903&lt;/code&gt;).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;TCP/UDP/ICMP checksums are recalculated using &lt;code&gt;in4_cksum()&lt;/code&gt; or &lt;code&gt;in6_cksum()&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;The packet is then routed out to the IPv4 network.&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;When a reply packet comes back from the IPv4 server&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;NPF performs the reverse translation, embedding the IPv4 address inside the NAT64 prefix to form a valid IPv6 address using &lt;code&gt;npf_embed_ipv4()&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;The IPv6 packet is then delivered back to the IPv6 client.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Project Accomplishments&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Core Translation Path: Implemented IPv6 -&amp;gt; IPv4 header and reverse rewriting (&lt;code&gt;npf_nat64_rwrheader()&lt;/code&gt; routines).&lt;/li&gt;
&lt;li&gt;Address Mapping: Added functions for embedding and extracting IPv4 addresses within IPv6 prefixes.&lt;/li&gt;
&lt;li&gt;Checksum Recalculation: Integrated checksum updates for IPv4/IPv6 and transport layers.&lt;/li&gt;
&lt;li&gt;Rule Parsing: Extended &lt;code&gt;npf.conf(5)&lt;/code&gt; syntax and parser to accept NAT64 configuration parameters.&lt;/li&gt;
&lt;li&gt;Userland and Kernel Integration: Updated kernel headers, userland utilities, and rule constructors.&lt;/li&gt;
&lt;li&gt;Testing: Verified translation with &lt;code&gt;ping&lt;/code&gt;, &lt;code&gt;curl&lt;/code&gt; and &lt;code&gt;dig&lt;/code&gt;, observing packets using &lt;code&gt;tcpdump&lt;/code&gt; and Wireshark.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;Summary&lt;/h2&gt;
&lt;p&gt;This project successfully integrates NAT64 along with a separate
DNS64 configuration into NPF, enabling IPv6-only clients to reach
IPv4-only servers through seamless translation.  Although there&apos;s a
need for additional changes and implementation.&lt;/p&gt;

&lt;p&gt;This is indeed the end of my GSoC Program, it was indeed an exciting
moment working with system developers and certainly I&apos;d be an active
contributor to the NetBSD codebase.&lt;/p&gt;

&lt;p&gt;
Source code of the Google Summer of Code project can be found at the following
&lt;a href=&quot;https://github.com/dchidindu5/src/tree/gsoctest&quot;&gt;branch&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/gsoc2025_nat64_protocol_translation</guid>
    <title>Google Summer of Code 2025 Reports: Enhancing Support for NAT64 Protocol Translation in NetBSD</title>
    <dc:creator>Leonardo Taccari</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/gsoc2025_nat64_protocol_translation</link>
        <pubDate>Mon, 15 Sep 2025 16:19:01 +0000</pubDate>
    <category>Development</category>
    <category>npf</category>
    <category>gsoc</category>
    <atom:summary type="html">&lt;p&gt;
This report was written by Dennis Onyeka as part of Google Summer of Code 2025.
&lt;/p&gt;

&lt;p&gt;The goal of the NAT64 project is to implement IPv6-to-IPv4 translation inside NPF (NetBSD Packet Filter).
NAT64 enables IPv6-only clients to communicate with IPv4-only servers by embedding/extracting IPv4 addresses in IPv6 addresses as per RFC 6052 and RFC 6145.
We are using a 1:1 mapping for now, to implement NAT64 translation.&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
This report was written by Dennis Onyeka as part of Google Summer of Code 2025.
&lt;/p&gt;

&lt;h2&gt;Introduction &amp;amp; Description&lt;/h2&gt;
&lt;p&gt;The goal of the NAT64 project is to implement IPv6-to-IPv4 translation inside NPF (NetBSD Packet Filter).
NAT64 enables IPv6-only clients to communicate with IPv4-only servers by embedding/extracting IPv4 addresses in IPv6 addresses as per RFC 6052 and RFC 6145.
We are using a 1:1 mapping for now, to implement NAT64 translation.
Whereby an IPv6 host will use its IPv4 address to communicate with an IPv4 only server. As an example of IPv4, we will use github.com (140.82.121.3) that supports only IPv4.
In order to enable NAT64 on NPF we will have a rule like this:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;map wm0 algo &amp;quot;nat64&amp;quot; 64:ff9b:2a4:: -&amp;gt; 192.0.2.33
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;This means we want to use the host IPv4 address associated to &lt;code&gt;wm0&lt;/code&gt; interface 192.0.2.33 to access the public internet in order to communicate with GitHub&apos;s IPv4 server.
During this process, IPv6 header will be rewritten to IPv4. Part of the IP structure requires source and destination address so our new IPv4 source address will be the Host IPv4 address (which is likely to change during further improvement) and the IPv4 destination address will be gotten from GitHub&#8217;s IPv4 embedded IPv6 address i.e. the IPv4 address embedded into IPv6 address (64:ff9b::8c52:7903) gotten from the DNS resolver.
Note that NPF is our router so we will have to enable and configure a DNS caching resolver like &lt;a href=&quot;https://man.NetBSD.org/unbound.8&quot;&gt;unbound&lt;/a&gt; on the NetBSD machine. The job of the DNS64 is to synthesize AAAA responses from IPv4-only A records using the well-known prefix (64:ff9b::/96), then embed the Github&#8217;s IPv4 address (140.82.121.3) into it which will be (64:ff9b::8c52:7903). The hexadecimal values represent Github&#8217;s IPv4 address.
When the packet is returning from GitHub, it uses the IPv6 interface, so the IPv4 address part will be embedded back into its required position based on the prefix length passed by the user on the configuration. Then it will be sent to the IPv6 interface of the host machine.
So far, I&#8217;ve been focusing on the core translation path, making sure headers are rewritten correctly and transport checksums are updated. This also requires changes in the userland and kernel.&lt;/p&gt;
&lt;h2&gt;Current Status&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Address Embedding and Extraction: Implemented functions that are responsible to extract IPv4 from IPv6 and embed IPv4 back into IPv6. Supports prefix lengths 32&#8211;96, with 96 as default.&lt;/li&gt;
&lt;li&gt;IP Header Rewrite: Added a functionality that enables headers rewriting by stripping off the old IP header and creating a new header along with structures.&lt;/li&gt;
&lt;li&gt;Rule Parsing: Added keyword support in &lt;code&gt;npf.conf&lt;/code&gt;, so users can specify NAT64 prefix length.&lt;/li&gt;
&lt;li&gt;Checksum Handling: Integrated checksum recalculation for IPv4, IPv6, and transport layers (TCP/UDP/ICMP).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;More functionalities to be added (In the coming weeks)&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;State Integration: Hooked into NPF&#8217;s connection tracking so NAT64 works with stateful packet filtering.&lt;/li&gt;
&lt;li&gt;Fine tune the checksum handling&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Development Environment &amp;amp; Test Environment&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Running NetBSD in a VM (on Windows host) for test implementation&lt;/li&gt;
&lt;li&gt;Editing and building code on WSL (Windows Subsystem for Linux).&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Testing&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Testing traffic with &lt;code&gt;ping&lt;/code&gt;, &lt;code&gt;nc&lt;/code&gt; (&lt;code&gt;netcat&lt;/code&gt;), &lt;code&gt;curl&lt;/code&gt;, &lt;code&gt;dig&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Using &lt;code&gt;tcpdump&lt;/code&gt;/&lt;code&gt;tshark&lt;/code&gt;/Wireshark on NetBSD to inspect packets before/after translation.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Debugging&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Building kernel and userland via &lt;code&gt;build.sh&lt;/code&gt; with kernel debug logs enabled&lt;/li&gt;
&lt;li&gt;Tracing packet flow via &lt;code&gt;ktrace&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;Incremental testing/unit: Test functions one by one.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Experience, Observation, Impressions&lt;/h2&gt;
&lt;p&gt;Experience: Working deep inside NetBSD&#8217;s kernel networking stack has been challenging but rewarding. It gave me hands-on experience with &lt;code&gt;mbuf&lt;/code&gt;s, packet parsing, and kernel-level checksums.&lt;/p&gt;
&lt;h2&gt;Observation&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Testing NAT64 also requires real network setups, not just unit tests, since correctness depends on seeing the actual wire-format packets.&lt;/li&gt;
&lt;li&gt;Prefix length handling is subtle, user input must be validated and handled gracefully (defaulting to 96).&lt;/li&gt;
&lt;li&gt;The separation between userland rule parser and kernel execution path is strict, everything is serialized into structures properly.&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Impressions about NetBSD&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;The codebase is clean and modular, but sometimes well-documented to an extent.&lt;/li&gt;
&lt;li&gt;NetBSD&#8217;s networking stack is solid and flexible, NPF feels light and extensible.&lt;/li&gt;
&lt;li&gt;The build system is stable.&lt;/li&gt;
&lt;/ul&gt;
</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/gsoc2025_asynchronous_i_o_framework</guid>
    <title>Google Summer of Code 2025 Reports: Asynchronous I/O Framework</title>
    <dc:creator>Leonardo Taccari</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/gsoc2025_asynchronous_i_o_framework</link>
        <pubDate>Sat, 30 Aug 2025 17:56:23 +0000</pubDate>
    <category>General</category>
    <category>kern</category>
    <category>gsoc</category>
    <atom:summary type="html">&lt;p&gt;This report was written by Ethan Miller as part of Google Summer of Code 2025.&lt;/p&gt;

&lt;p&gt;The goal is to improve the capabilities of asynchronous IO within NetBSD.
Originally the project espoused a model that pinned a single worker thread
to each process. That thread would iterate over pending jobs and complete
blocking IO. From this, the logical next step was to support an arbitrary
number of worker threads. Each process now has a pool of workers recycled
from a freelist, and jobs are grouped per-file so that we do not thrash
multiple threads on the same vnode which would inevitably lock. This
grouping also opens the door for future optimisations in concurrency. The
guiding principle is to keep submission cheap, coalesce work sensibly, and
only spawn threads when the kernel would otherwise block.&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;This report was written by Ethan Miller as part of Google Summer of Code 2025.&lt;/p&gt;

&lt;h2&gt;Introduction&lt;/h2&gt;

&lt;p&gt;The goal is to improve the capabilities of asynchronous IO within NetBSD.
Originally the project espoused a model that pinned a single worker thread
to each process. That thread would iterate over pending jobs and complete
blocking IO. From this, the logical next step was to support an arbitrary
number of worker threads. Each process now has a pool of workers recycled
from a freelist, and jobs are grouped per-file so that we do not thrash
multiple threads on the same vnode which would inevitably lock. This
grouping also opens the door for future optimisations in concurrency. The
guiding principle is to keep submission cheap, coalesce work sensibly, and
only spawn threads when the kernel would otherwise block.&lt;/p&gt;

&lt;h2&gt;Project Details and Status&lt;/h2&gt;
&lt;p&gt;We pin what is referred to as a service pool to each process, with each
service pool capable of spawning and managing service threads. When a job
is enqueued it is distributed to its respective service thread. For regular
files we coalesce jobs that act on the same vnode into one thread. If we
fall back to the synchronous IO path within the kernel it would lock
anyway, but this approach is prudent because if more advanced concurrency
optimisations such as VFS bypass are implemented later this is precisely
the model that would be required. At present, since that solution is not
yet in place, all IO falls back to the synchronous pipeline. Even so there
are performance gains when working with different files, since synchronous
IO can still run on separate vnodes at the same time.&lt;/p&gt;
&lt;p&gt;Through the traditional VFS read/write path, requests eventually reach
bread/bwrite and block upon a cache miss until completion. This kills
concurrency. I considered a solution that bypassed the normal vnode
read/write path by translating file offsets to device LBAs with &lt;code&gt;VOP_BMAP&lt;/code&gt;,
constructing block IO at the buffer and device layer, submitting with
&lt;code&gt;B_ASYNC&lt;/code&gt;, and deferring the wait to the AIO layer with biodone bookkeeping
instead of calling biowait at submission. This keeps submission short and
releases higher level locks before any device wait. The assumptions are
that filesystem metadata is frequently accessed therefore cached so
&lt;code&gt;VOP_BMAP&lt;/code&gt; usually does not block, that block pointers for an inode mostly
remain stable for existing data, and that truncation does not rewrite past
data. For the average case this would provide concurrency on the same file.
In practice, however, it was exceptionally difficult to implement because
the block layer lacks the necessary abstractions.&lt;/p&gt;
&lt;p&gt;This is, however, exactly the solution espoused by FreeBSD, and they
make it work well because struct bio is an IO token independent of the page
and buffer cache. GEOM can split or clone a bio, queue them to devices,
collect child completions, and run the parent callback. Record locks are
treated as advisory so once a bio is in flight the block layer completes it
even if the advisory state changes. NetBSD has no equivalent token. Struct
buf is both a cache object and an IO token tied to UBC and drivers through
biodone and biowait. For now the implementation of service pools and
service threads lays the groundwork for asynchronous IO. Once the BIO layer
reaches adequate maturity, integrating a bio-like abstraction will be
straightforward and yield immediate improvements for concurrency on the
same vnode. The logical next step is to design and port something
comparable to FreeBSDs struct bio which would map very cleanly onto the
current POSIX AIO framework.&lt;/p&gt;

&lt;h2&gt;My Development Environment&lt;/h2&gt;
&lt;p&gt;My development setup is optimised for building and testing quickly. I use
scripts to cross-build the kernel and boot it under QEMU with a small FFS
root. The kernel boots directly with the QEMU option &lt;code&gt;-kernel&lt;/code&gt; without any
supporting bootloader. Early on I tested against a custom init dropped onto
an FFS image. Now I do the same except init simply launches a shell which
allows me to run ATF tests without a full distribution. This makes it
possible to compile a new kernel and run tests within seconds.&lt;/p&gt;

&lt;h2&gt;Lessons&lt;/h2&gt;
&lt;p&gt;One lesson I have taken away is that progress never happens overnight. It
takes enormous effort to get even a few thousand lines of highly
multi-threaded race-prone code to behave consistently under all conditions.
Precision in implementation is absolutely required. My impression of NetBSD
is that it is a fascinating project with an abundance of seemingly
low-hanging fruit. In reality none of it is truly low-hanging or simple,
but compared to Linux there remains a great deal of work to be done. It is
not easy work but the problems are visible and the path forward is clearer.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;I also want to note that I intend on providing long term support for this
code in the case that any issues may arise.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;The code written as part of this project can be found &lt;a href=&apos;https://github.com/NetBSD/src/pull/58&apos;&gt;here&lt;/a&gt;.&lt;/p&gt;
</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_11_0_release_process</guid>
    <title>NetBSD 11.0 release process underway</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_11_0_release_process</link>
        <pubDate>Mon, 4 Aug 2025 09:16:17 +0000</pubDate>
    <category>Release engineering</category>
    <category>11.0</category>
    <category>cycle</category>
    <category>beta</category>
    <category>release</category>
    <atom:summary type="html">&lt;p&gt;The first NetBSD 11.0_BETA builds are now available&lt;/p&gt;
&lt;p&gt;We optimistically hope to have a release candidate late in September (for EuroBSDCon)&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;If you have been following source-changes, you may have noticed the creation of the netbsd-11 branch!
It comes with a lot of changes that we have been working on:&lt;/p&gt;

&lt;h2&gt;Install changes&lt;/h2&gt;
&lt;p&gt;Compatibility support code, like 32bit on 64bit machines, has been separated
into special sets, to allow easy installation of machines that do not need to be able
to run 32bit code.&lt;/p&gt;
&lt;p&gt;
Install media for some architectures has been split in small (&quot;CD/R&quot;) images (w/o
debug and compat sets), and full (&quot;DVD-R&quot;) sets.
This is also useful on hardware that came with a CD drive (instead of a DVD drive)
and can not boot from a USB stick.&lt;/p&gt;
&lt;p&gt;
Manual pages come in two flavors, html and mandoc. Both have now their own sets,
so one or the other can easily be left out of an installation.
&lt;/p&gt;
&lt;p&gt;All mac68k and macppc ISO images are now bootable.&lt;/p&gt;

&lt;h2&gt;Kernel changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;x86: PVH boot is now supported on non-XEN platforms (QEMU, Firecracker)&lt;/li&gt;
&lt;li&gt;various new drivers for temperature (and other environmental) sensors and fan control&lt;/li&gt;
&lt;li&gt;the heartbeat watchdog will detect locking errors that prevent softints from running or the
timecounters from making progress on one of the CPUs&lt;/li&gt;
&lt;li&gt;lots of enhancements for Linux emulation&lt;/li&gt;
&lt;li&gt;new syscall: semtimedop(2)&lt;/li&gt;
&lt;li&gt;new riscv port primarily targeting StarFive JH71XX-based devices&lt;/li&gt;
&lt;li&gt;various bug fixes&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;Userland changes&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;libc and libm enhancements for C23 and POSIX.1-2024 support&lt;/li&gt;
&lt;li&gt;userland support for manipulating/querying (U)EFI variables has been added&lt;/li&gt;
&lt;li&gt;jemalloc has been updated to version 5.3&lt;/li&gt;
&lt;li&gt;various bug fixes to libpthread and making functions signal safe&lt;/li&gt;
&lt;li&gt;lots of miscelaneous bug fixes&lt;/li&gt;
&lt;li&gt;the in-tree X.org components are all (well, nearly - there are a few minor/unimportant exceptions) up-to-date&lt;/li&gt;
&lt;/ul&gt;
&lt;h2&gt;3rd party software updates included&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;gcc for all architectures is now at version 12.5&lt;/li&gt;
&lt;li&gt;gdb for all architectures is now at version 15.1&lt;/li&gt;
&lt;li&gt;binutils for all architectures is now at version 2.42&lt;/li&gt;
&lt;li&gt;OpenSSL got updated to the latest long term support version available: 3.5.1&lt;/li&gt;
&lt;li&gt;OpenSSH is at version 10.0&lt;/li&gt;
&lt;li&gt;many others updated, including dhcpcd, openresolv, unbound, nsd, ...&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;And a lot more...&lt;/h2&gt;
&lt;p&gt;... that we always forget to mention. The list of changes can be found in the
beta build, split into &lt;a href=&quot;//nycdn.netbsd.org/pub/NetBSD-daily/netbsd-11/latest/CHANGES&quot;&gt;changes upto the creation of the branch&lt;/a&gt;
and &lt;a href=&quot;//nycdn.netbsd.org/pub/NetBSD-daily/netbsd-11/latest/CHANGES-11.0&quot;&gt;changes pulled up to the branch before the 11.0 release&lt;/a&gt;.

&lt;h2&gt;Things that did not make it in-time for the branch&lt;/h2&gt;
&lt;p&gt;A few work-in-progress items unfortunately did not make it into this branch and will not be pulled up. The most missed ones are:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;the next round of DRM/KMS updates to enhance x86 and arm graphics support&lt;/li&gt;
&lt;li&gt;the big WiFi renewal project&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;These will happen in HEAD now carefully and after stabilization might be a good reason to create the next major branch earlier.&lt;/p&gt;

&lt;h2&gt;Please help us test this BETA!&lt;/h2&gt;
&lt;p&gt;
We try to test NetBSD as best as we can, but your testing can help to make
NetBSD 11.0 a great release. Please test it and let us know of any
bugs you find.&lt;/p&gt;

&lt;p&gt;
Binaries are available on
&lt;a href=&quot;https://nycdn.netbsd.org/pub/NetBSD-daily/netbsd-11/latest/&quot;&gt;NetBSD daily builds&lt;/a&gt;
and for various ARM based devices (with board dependent boot setup)
on &lt;a href=&quot;https://armbsd.org&quot;&gt;arm install images&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Please test NetBSD 11.0_BETA on your hardware and report any bugs you find!
&lt;/p&gt;

&lt;h2&gt;Tentative schedule&lt;/h2&gt;
&lt;p&gt;No promises, but we will try to make this one of the shortest release cycles ever...&lt;/p&gt;
&lt;p&gt;Ideally we will be in release candidate state at EuroBSDCon late in September, and cut the final release early in October.&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/new_build_cluster_speeds_up</guid>
    <title>New build cluster speeds up daily autobuilds</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/new_build_cluster_speeds_up</link>
        <pubDate>Thu, 24 Jul 2025 13:09:58 +0000</pubDate>
    <category>Release engineering</category>
    <category>ci</category>
    <category>autobuilds</category>
    <atom:summary type="html">&lt;p&gt;The new build cluster now in action is able to build a full set of NetBSD-current release binaries in slightly more than three hours.&lt;/p&gt;
&lt;p&gt;This is one of the more obvious changes, but a few more things changed behind the scenes &amp;mdash; would you like a quick tour?&lt;/p&gt;</atom:summary>        <description>&lt;h1&gt;Saying goodbye&lt;/h1&gt;
&lt;p&gt;For several years our autobuild cluster at Columbia University has been providing our CI and produced many official release builds.&lt;/p&gt;
&lt;p&gt;Over the years, with new compiler versions and more targets to build, the build times (and space requirements) grew. A lot. A few weeks ago
the old cluster needed slightly more then nine and a half hours for a full build of -current.&lt;/p&gt;
&lt;p&gt;So it was time to replace the hardware. At the same time we moved to another colocation with better network connectivity.&lt;/p&gt;

&lt;h1&gt;Preparing for the future&lt;/h1&gt;
&lt;p&gt;But not only did the hardware age, the CI system we use (a bunch of shell scripts) needed a serious overhaul.&lt;/p&gt;
&lt;p&gt;As reported in the last AGM, riastradh@ did most of the work to make the scripts able to deal with mercurial instead of cvs.&lt;/p&gt;
&lt;p&gt;This is a necessary step in the preparation of our upcoming move away from cvs, which is now completed. While the build cluster currently (again) runs
from cvs, we completed a few full builds from mercurial in the last few weeks.&lt;/p&gt;

&lt;h1&gt;User visible changes&lt;/h1&gt;
&lt;p&gt;The cvs runs for builds were purely time driven. To deal with latency between cvs.NetBSD.org and anoncvs.NetBSD.org there was a 10-minute lag
built into the system, so all timestamps (the names of the build directories) were exact to the minute only and had a trailing zero.&lt;/p&gt;
&lt;p&gt;This does not fit well with modern distributed source control systems. For a hg or git build the cluster fetches the repository state from the
master repository and updates the checkout directory to the latest state of a branch (or HEAD). So the repository state dictates the time stamp
for the build, not vice versa as we did for cvs.&lt;/p&gt;
&lt;p&gt;As a result there is a difference between the time a build is started (wall clock) and the time of the last change of the current branch in the
repository (build time or reproducible ID). You can see both times in the &lt;a href=&quot;//releng.NetBSD.org/cgi-bin/builds.cgi&quot;&gt;status page&lt;/a&gt;.
Just right now it displays:
&lt;pre&gt;
Currently building tag HEAD-lint, build 2025-07-22 19:19:02 UTC (started at: 2025-07-22 19:26:40 UTC).
No results yet. 
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;And, obviously, we can now easily skip builds when nothing has changed - which happens often on old branches, but also may happen when all HEAD builds
are done before anything new has been committed. Hurry up, you lazy developers!&lt;/p&gt;
&lt;p&gt;While we are still running from cvs, the process of checking if anything has changed is quite slow (in the order of five minutes). So you may notice a
status display like:
&lt;pre&gt;Currently searching for source changes... &lt;/pre&gt;
while the &quot;cvs update&quot; is crawling. When running from hg (or git) this will be lot faster.
&lt;/p&gt;

&lt;h1&gt;The new hardware&lt;/h1&gt;
&lt;p&gt;The new cluster consists of four build machines, each equipped with a dual 16 core EPYC CPU and 256 GB of RAM.  As a &quot;brain&quot; we have an additional controller node with 32 GB RAM and a (somewhat weaker) Intel CPU.  The controller node creates all source sets, does repository operations, and distributes sources but does not perform any building itself.&lt;/p&gt;
&lt;p&gt;On the build machines we run each 8 builds in parallel, and each build with low parallelism (-j 4).
This tries to saturate all cpus during most of the time of the overall build.
Individual builds have several phases with little/reduced possibility of parallelism, e.g., initially during configure runs, or while linking llvm components,
or near the end when compressing artefacts.
The goal is not to run a single (individual) build as fast as possible, but the whole set of them in as little time overall.&lt;/p&gt;

&lt;h1&gt;The build log summary&lt;/h1&gt;
&lt;p&gt;The head of the result page create for each build now tries to give all the details necessary to recreate this particular build, e.g.:
&lt;pre&gt;
From source dated Tue Jul 22 04:45:13 UTC 2025
Reproducible builds timestamp: 1753159513
Repository: src@cvs:HEAD:20250722044513-xsrc@cvs:HEAD:20250720221743
&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;The two timestamps are the same, one in seconds since the Unix epoch, the other human readable.&lt;/p&gt;
&lt;p&gt;The repository ID is, for cvs, again based on timestamps. But for hg or git you will see the typical commit hash values here.&lt;/p&gt;

&lt;h1&gt;Why a custom CI system?&lt;/h1&gt;
&lt;p&gt;We considered using an off-the-shelf CI system and customizing it to our needs instead of moving the fully custom build system forward.
We also talked to FreeBSD release engineering about it and asked for their experience.
Overall the work for customizing an off-the-shelf solution looked roughly equivalent to the work needed now to modify the existing
working solution, and we saw no huge benefit for the future picking either of them.
&lt;/p&gt;

&lt;h1&gt;What does our build infrastructure provide?&lt;/h1&gt;
&lt;p&gt;First and foremost, we can quickly verify if all of our supported branches indeed compile.  While developers are supposed to commit
only tested changes, usually they build at most one branch and architecture.  But sometimes changes have unforeseen consequences,
for example an install image of an exotic architecture growing more in size than expected.&lt;/p&gt;
&lt;p&gt;Then, in theory, no NetBSD user has to waste any CPU cycles in order to install (for example) NetBSD-current or the latest NetBSD 9 tree.
Instead you can simply download an image and install from that &amp;mdash; no matter if your architecture is amd64 or a slightly more exotic
one (but you will of course always be able to download the source tree and build that if that suits you better).&lt;/p&gt;
&lt;p&gt;Note that a supported architecture is not just supported at one point in time and then as time progresses might start collecting dust and not
compile anymore, making it hard to merge all current changes back into that tree.  Instead once an architecture is supported, our CI system
will without rest build that architecture as one of the many we support.  Take the rather new Wii port as an example.  Now that it is supported,
you can at least for the foreseeable future download the latest and greatest NetBSD release, populate an SD card with the image and boot it.
Now, in half a year, and in 10 years (and even further down the line).&lt;/p&gt;

&lt;h1&gt;Acknowledgements&lt;/h1&gt;
&lt;p&gt;We are grateful to Two Sigma Investments, LP for providing the space and connectivity for the new build cluster.&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/agm2025</guid>
    <title>The NetBSD Foundation 2025 Annual General Meeting summary and logs</title>
    <dc:creator>Leonardo Taccari</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/agm2025</link>
        <pubDate>Wed, 28 May 2025 17:46:58 +0000</pubDate>
    <category>General</category>
    <category>agm</category>
            <description>&lt;p&gt;
On May 17, 21:00 UTC we had The NetBSD Foundation Annual General Meeting on &lt;code&gt;#netbsd-agm&lt;/code&gt; IRC channel on &lt;a href=&quot;https://libera.chat&quot;&gt;Libera.Chat&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
We had presentations from:
&lt;ul&gt;
&lt;li&gt;board (billc)&lt;/li&gt;
&lt;li&gt;secteam (billc)&lt;/li&gt;
&lt;li&gt;releng (martin)&lt;/li&gt;
&lt;li&gt;core (riastradh)&lt;/li&gt;
&lt;li&gt;finance-exec (riastradh)&lt;/li&gt;
&lt;li&gt;membership-exec (martin, christos)&lt;/li&gt;
&lt;li&gt;pkgsrc-pmc (wiz)&lt;/li&gt;
&lt;li&gt;pkgsrc-security (tm, leot)&lt;/li&gt;
&lt;li&gt;gnats (dh)&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;
At the end we also had a Q&amp;A session open to anyone.
&lt;/p&gt;

&lt;p&gt;
If you have missed it you can find the IRC logs &lt;a href=&quot;https://www.NetBSD.org/foundation/reports/2025.txt&quot;&gt;here&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/gsoc2025_welcome_contributors</guid>
    <title>Welcome to Google Summer of Code 2025 contributors!</title>
    <dc:creator>Leonardo Taccari</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/gsoc2025_welcome_contributors</link>
        <pubDate>Thu, 8 May 2025 19:09:56 +0000</pubDate>
    <category>General</category>
    <category>gsoc</category>
            <description>&lt;img alt=&quot;Google Summer of Code logo&quot; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/GSoC-icon-192.png&quot; /&gt;

&lt;p&gt;
We are happy to announce that &lt;a href=&quot;https://summerofcode.withgoogle.com/programs/2025/organizations/the-netbsd-foundation&quot;&gt;The NetBSD Foundation&lt;/a&gt; will participate in &lt;a href=&quot;https://g.co/gsoc&quot;&gt;Google Summer of Code 2025&lt;/a&gt; with 3 projects!
&lt;/p&gt;

&lt;p&gt;
Here the list of the projects and contributors:
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://summerofcode.withgoogle.com/programs/2025/projects/p2rxlbUv&quot;&gt;Enhancing Support for NAT64 Protocol Translation in NetBSD - Dennis O.I&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://summerofcode.withgoogle.com/programs/2025/projects/DyO9DOU3&quot;&gt;Asynchronous I/O Framework - Ethan Miller&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://summerofcode.withgoogle.com/programs/2025/projects/KvbHxbzO&quot;&gt;Using bubblewrap to add sandboxing to NetBSD - Vasyl Lanko&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;
For the next 3 weeks mentors and contributors will get in touch for the community bonding period. Mentors will help contributors to get started with the project, introduce them to the community and get more familiar with the codebase and adjusting deliverables for the the project.
&lt;/p&gt;

&lt;p&gt;
Welcome Dennis, Ethan and Vasyl!
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/gsoc2025_tnf</guid>
    <title>The NetBSD Foundation will participate in Google Summer of Code 2025!</title>
    <dc:creator>Leonardo Taccari</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/gsoc2025_tnf</link>
        <pubDate>Thu, 27 Feb 2025 19:10:49 +0000</pubDate>
    <category>General</category>
    <category>gsoc</category>
            <description>&lt;img alt=&quot;Google Summer of Code logo&quot; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/GSoC-icon-192.png&quot; /&gt;

&lt;p&gt;
We are happy to announce that &lt;a href=&quot;https://summerofcode.withgoogle.com/programs/2025/organizations/the-netbsd-foundation&quot;&gt;The NetBSD Foundation&lt;/a&gt; will participate in &lt;a href=&quot;https://g.co/gsoc&quot;&gt;Google Summer of Code 2025&lt;/a&gt;!
&lt;/p&gt;

&lt;p&gt;
Would you like to contribute to NetBSD and/or pkgsrc in the next months? Google Summer of Code is a great chance for that!
&lt;/p&gt;

&lt;p&gt;
You can find a list of possible projects at &lt;a href=&quot;https://wiki.NetBSD.org/projects/gsoc/&quot;&gt;Google Summer of Code project page&lt;/a&gt;. Of course, you can also propose your own!
&lt;/p&gt;

&lt;p&gt;
Please reach us via #netbsd-code IRC channel on &lt;a href=&quot;https://libera.chat/&quot;&gt;Libera.Chat&lt;/a&gt; and/or via &lt;a href=&quot;https://www.NetBSD.org/mailinglists/&quot;&gt;mailing lists&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
If you are more interested about Google Summer of Code please also check official homepage at &lt;a href=&quot;https://g.co/gsoc&quot;&gt;g.co/gsoc&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Looking forward to a great Summer!
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/gsoc2024_diviyam</guid>
    <title>Google Summer of Code 2024 Reports: Test root device and root file system selection</title>
    <dc:creator>Leonardo Taccari</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/gsoc2024_diviyam</link>
        <pubDate>Fri, 3 Jan 2025 20:42:15 +0000</pubDate>
    <category>Development</category>
    <category>netbsd</category>
    <category>gsoc</category>
    <atom:summary type="html">&lt;p&gt;This report was written by Diviyam Pat as part of Google Summer of Code 2024.&lt;/p&gt;

&lt;p&gt;This summer I worked on NetBSD&apos;s kernel test framework to cover root device
discovery and root file system selection.
This area of the kernel is not very well documented and program flow has to
be determined by reading the code.&lt;/p&gt;
&lt;p&gt;I would also like to tell you about my early interactions with the project,
let me start with project findings.&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;This report was written by Diviyam Pat as part of Google Summer of Code 2024.&lt;/p&gt;

&lt;p&gt;This summer I worked on NetBSD&apos;s kernel test framework to cover root device
discovery and root file system selection.
This area of the kernel is not very well documented and program flow has to
be determined by reading the code.&lt;/p&gt;
&lt;p&gt;I would also like to tell you about my early interactions with the project,
let me start with project findings.&lt;/p&gt;

&lt;h2&gt;Why NetBSD?&lt;/h2&gt;
&lt;p&gt;Google Summer of Code 2024 is not my first time applying to GSoC.
My first time was in 2022, in my first year of college.
I have been fascinated with newer Windows versions since my Intel Core Duo
i3 days as every new Windows version used to bring new changes and features,
from Windows XP to Vista to 8.1 and then to 10 (cosmetic only) but was very
heavy on my PC&apos;s memory usage that was upwards of 60% leaving very little
room for applications and games.&lt;/p&gt;
&lt;p&gt;My Intel i3 would be enough for it.
This experience made me decide I wanted my project to be in the operating system space.
I ventured into all OS projects on the Google Summer of Code website.
Gentoo, Debian but that didn&apos;t turn out well.
I then decided to explore BSDs.
The community seemed friendlier, more responsive, and active in helping
beginners.
I started mailing all the mentors about my interests (I realized I should
have done a lot more work before mailing them, it shows more dedication
towards the project.)&lt;/p&gt;
&lt;p&gt;Christoph explained the project in great detail to me,  helped me with getting started and guided me through the hard parts of the project.&lt;/p&gt;

&lt;h2&gt;Project Details&lt;/h2&gt;
&lt;p&gt;Root device and file-system selection is made during the later stages of the
boot process by the kernel.
The kernel config file defines candidates for the root device and the kernel selects one after validating those options.
If no options are defined, the auto config subroutines handle configuration.
Head over to my docs for more details &lt;a href=&quot;https://github.com/DiviyamPathak/Gsoc-2024-NetBSD&quot;&gt;here&lt;/a&gt;.
This functionality is handled primarily by the function &lt;code&gt;setroot&lt;/code&gt; in file
&lt;code&gt;kern_subr.c&lt;/code&gt;.
It also calls specialized functions for a number of cases.
Our task was to add ATF tests for this function and some other functions
that assist &lt;code&gt;setroot&lt;/code&gt;.
This part of the kernel works, and it has worked for over 30 years but the
code is rather complex to read and there is no documentation.
The only way to understand it is to read the code.&lt;/p&gt;
&lt;p&gt;At any given stage when any condition fails the fallback option is to ask
the user manually for the device.
Thus this part of the kernel rarely needs attention.
There are some global functions used in conditions inside &lt;code&gt;setroot&lt;/code&gt;:
&lt;code&gt;rootspec&lt;/code&gt;, &lt;code&gt;bootspec&lt;/code&gt;, etc.
These variables are either set through the config file or through other
machine-dependent kernel functions like &lt;code&gt;findroot&lt;/code&gt; etc.
We need to manually set them in our test cases and also need to stub kernel
functions used by &lt;code&gt;setroot&lt;/code&gt; and other functions.
We wanted to make these test cases use &apos;vnd&apos; devices, but we ran into bugs, and Christoph was trying to fix them.
Therefore we had to resort to stubbing.
We validate the global variables.
We also test the &lt;code&gt;tftproot_dhcpboot&lt;/code&gt; function that loads the contents of a memory disk device from a TFTP server and uses that as root device.
Devices are represented by the &lt;code&gt;device_t&lt;/code&gt; struct which is populated by the
kernel.
We mock this behavior through the &lt;code&gt;create_device&lt;/code&gt; function and use this in the test programs.
User input is handled by stubbing the &lt;code&gt;cngetsn&lt;/code&gt; function.
Global variables and arguments are set to test values in the body of the
test cases and the function being tested is called.
The test file is divided into 3 parts: 1) setroot_root, 2) setroot_ask, and 3)
tftproot_dhcp.
In the file kern_subr.c &lt;code&gt;setroot()&lt;/code&gt; calls these functions but
here we test them independently&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;I have worked on enhancing NetBSD&apos;s ATF tests to  test the root device and file system selection process, testing the &lt;code&gt;setroot&lt;/code&gt; function and its dependencies.
These tests shall improve coverage of the ATF tests to the &lt;code&gt;setroot&lt;/code&gt; function and in general, to root device selection.
In the future, contributors can rely on these tests for &lt;code&gt;kern_subr.c&lt;/code&gt;&apos;s functionality.&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_10_1_available</guid>
    <title>NetBSD 10.1 available!</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_10_1_available</link>
        <pubDate>Thu, 19 Dec 2024 11:55:00 +0000</pubDate>
    <category>Release engineering</category>
    <category>10.1</category>
    <category>netbsd-10</category>
    <category>release</category>
    <atom:summary type="html">&lt;p&gt;
The NetBSD project is pleased to announce the first update of the NetBSD 10 release branch
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.1/&quot;&gt;NetBSD 10.1&lt;/a&gt;!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.1.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
The NetBSD project is pleased to announce the first update of the NetBSD 10 release branch
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.1/&quot;&gt;NetBSD 10.1&lt;/a&gt;! 
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.1.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;
&lt;p&gt;This release includes 9 months of bug fixes and a few new features after the 10.0 release in March.
It also gives those still using older release a good reason to finally update
to the NetBSD 10 release branch, even if they avoid dot-zero releases by all means.
&lt;/p&gt;
&lt;p&gt;
If you want to try NetBSD 10.1 please check the &lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.1/amd64/INSTALL.html&quot;&gt;installation notes&lt;/a&gt; for your architecture and download the preferred 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.1/images/&quot;&gt;install image&lt;/a&gt; from the CDN or if you are using an ARM based device from the netbsd-10 builds from the &lt;a href=&quot;https://armbsd.org&quot;&gt;bootable ARM images&lt;/a&gt; page.
&lt;/p&gt;
&lt;p&gt;
If you have any issues with installation or run into issues with the system during use, please contact us on one of the
&lt;a href=&quot;https://mail-index.NetBSD.org&quot;&gt;mailing lists&lt;/a&gt; or file a &lt;a href=&quot;https://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd&quot;&gt;problem report&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/eurobsdcon_2024_in_dublin_ireland</guid>
    <title>EuroBSDcon 2024 in Dublin, Ireland: some notes after the conference</title>
    <dc:creator>Leonardo Taccari</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/eurobsdcon_2024_in_dublin_ireland</link>
        <pubDate>Fri, 4 Oct 2024 13:19:58 +0000</pubDate>
    <category>Events</category>
    <category>eurobsdcon</category>
    <atom:summary type="html">I have not been at &lt;a href=&quot;https://www.eurobsdcon.org/&quot;&gt;EuroBSDCon&lt;/a&gt;
for a while, unfortunately!
My last EuroBSDCon was &lt;a
href=&quot;https://2017.eurobsdcon.org/&quot;&gt;EuroBSDcon 2017&lt;/a&gt; in Paris,
France (and I have also &lt;a
href=&quot;//blog.NetBSD.org/tnf/entry/eurobsdcon_2017_travel_notes_after&quot;&gt;blogged
about it&lt;/a&gt;)!
&lt;/p&gt;

&lt;p&gt;
I was very excited to come back to EuroBSDCon. Meet again in person
with people. Talk in the &quot;hall track&quot;... and, why not!,
have some fun and do some shenanigans in the nights! :)
&lt;/p&gt;

&lt;p&gt;
And... definitely it was very nice, instructive and fun!
&lt;/p&gt;

&lt;p&gt;
I have not fully unpacked the bag but it&apos;s time to share some notes!
&lt;/p&gt;

&lt;p&gt;
&lt;img alt=&quot;View from O&apos;Reilly Hall, University College Dublin&quot; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/eurobsdcon2024_ucd.jpg&quot; height=&quot;700&quot; width=&quot;700&quot; /&gt;
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
I have not been at &lt;a href=&quot;https://www.eurobsdcon.org/&quot;&gt;EuroBSDCon&lt;/a&gt;
for a while, unfortunately!
My last EuroBSDCon was &lt;a
href=&quot;https://2017.eurobsdcon.org/&quot;&gt;EuroBSDcon 2017&lt;/a&gt; in Paris,
France (and I have also &lt;a
href=&quot;//blog.NetBSD.org/tnf/entry/eurobsdcon_2017_travel_notes_after&quot;&gt;blogged
about it&lt;/a&gt;)!
&lt;/p&gt;

&lt;p&gt;
I was very excited to come back to EuroBSDCon. Meet again in person
with people. Talk in the &quot;hall track&quot;... and, why not!,
have some fun and do some shenanigans in the nights! :)
&lt;/p&gt;

&lt;p&gt;
And... definitely it was very nice, instructive and fun!
&lt;/p&gt;

&lt;p&gt;
I have not fully unpacked the bag but it&apos;s time to share some notes!
&lt;/p&gt;

&lt;h2&gt;Friday (20/09): arriving in Dublin&lt;/h2&gt;
&lt;p&gt;
I arrived in &lt;a href=&quot;https://en.wikipedia.org/wiki/Dublin&quot;&gt;Dublin&lt;/a&gt;
on Friday afternoon. After some sightseeing on foot I got lost in the
paintings of the &lt;a
href=&quot;https://en.wikipedia.org/wiki/National_Gallery_of_Ireland&quot;&gt;National
Gallery of Ireland&lt;/a&gt;.

&lt;p&gt;
I then spent the rest of the evening and night in Porterhouse Temple
Bar. I had a tasty soup and garlic bread and several delicious craft
beers!
&lt;/p&gt;

&lt;h2&gt;Saturday (21/09): 1st day of conference talks and social event&lt;/h2&gt;
&lt;p&gt;
My hotel was a 40 minutes walk from University College Dublin (UCD). I
arrived a bit early for the registration. I then met some other NetBSD
folks that I had missed in person since 2018 and met new ones.
&lt;/p&gt;

&lt;p&gt;
&lt;img alt=&quot;View from O&apos;Reilly Hall, University College Dublin&quot; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/eurobsdcon2024_ucd.jpg&quot; height=&quot;700&quot; width=&quot;700&quot; /&gt;
&lt;br /&gt;
View from O&apos;Reilly Hall, University College Dublin.
&lt;/p&gt;

&lt;p&gt;
After the Opening Session that welcomed us, the conference started with
the opening keynote &lt;a href=&quot;https://events.eurobsdcon.org/2024/talk/QE9WDR/&quot;&gt;
Evidence based Policy formation in the EU what Evidence are we
Presenting to the EU?&lt;/a&gt; by Tom Smyth. Tom Smyth shared his experience
on evidence based policy formation in the European Union from a point
of a relatively small ISP. EU is open to feedback and as a BSD
community we can shape and influence policies.
&lt;/p&gt;

&lt;h3&gt;Flipping Bits: Memory Errors in the Machine, Taylor R Campbell&lt;/h3&gt;
&lt;p&gt;
Taylor talked about bit flips, the memory errors in the machine.
&lt;/p&gt;

&lt;p&gt;
&lt;img alt=&quot;Memory errors caught in the act: corruption of a filename in Riastradh&apos;s local machine&quot; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/eurobsdcon2024_riastradh_1.jpg&quot; height=&quot;700&quot; width=&quot;700&quot; /&gt;
&lt;br /&gt;
Memory errors caught in the act: corruption of a filename in Riastradh&apos;s local machine.
&lt;/p&gt;

&lt;p&gt;
He started sharing a catch of bit flip in a filename corruption on his local
machine in NetBSD &lt;code&gt;src&lt;/code&gt; repository. A bit flipped and that
resulted from
&lt;code&gt;external/gpl3/gdb/dist/gdb/testsuite/gdb.linespec/cpls.cc&lt;/code&gt;
to
&lt;code&gt;e\370ternal/gpl3/gdb/dist/gdb/testsuite/gdb.linespec/cpls.cc&lt;/code&gt;
(In &lt;a href=&quot;https://man.NetBSD.org/ascii.7&quot;&gt;ASCII&lt;/a&gt; lower case
&lt;code&gt;x&lt;/code&gt; is &lt;code&gt;\170&lt;/code&gt; that is
&lt;strong&gt;0&lt;/strong&gt;1111000 in binary, while
&lt;code&gt;\370&lt;/code&gt; is &lt;strong&gt;1&lt;/strong&gt;1111000, the most
significant bit got flipped!).
&lt;/p&gt;

&lt;p&gt;
He also opened several PRs - due to several experienced kernel panics
mostly in ZFS - before he realized that it was bad RAM.
&lt;/p&gt;

&lt;p&gt;
As part of the talk a lot of fundamentals concepts and theory behind
Error Detection And Correction (EDAC), causes of memory errors, where
memory errors can happen, error severity and error persistence were
shared.
&lt;/p&gt;

&lt;p&gt;
Taylor then talked and digged in ACPI Platform Error Interface (APEI)
that is the standard interface in ACPI that abstract EDAC device
registers.
&lt;/p&gt;

&lt;p&gt;
In NetBSD APEI is supported by the &lt;a
href=&quot;https://man.NetBSD.org/apei.4&quot;&gt;apei(4)&lt;/a&gt; driver.
&lt;/p&gt;

&lt;p&gt;
The &lt;a href=&quot;https://man.NetBSD.org/apei.4&quot;&gt;apei(4)&lt;/a&gt; driver also
exposes a &lt;a href=&quot;https://man.netbsd.org/sysctl.7&quot;&gt;sysctl&lt;/a&gt;
interface to APEI EINJ (Error INJection) that permit to also inject
errors. Using such interface Riastradh live demoed that and trigger a
memory error that was corrected and reported by &lt;a
href=&quot;https://man.NetBSD.org/apei.4&quot;&gt;apei(4)&lt;/a&gt;!
&lt;/p&gt;

&lt;p&gt;
&lt;img alt=&quot;Riastradh live demoing a memory error using APEI EINJ via apei(4)&quot; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/eurobsdcon2024_riastradh_2.jpg&quot; height=&quot;700&quot; width=&quot;700&quot; /&gt;
&lt;br /&gt;
Riastradh live demoing a memory error using APEI EINJ via apei(4).
&lt;/p&gt;

&lt;p&gt;
The talk was great and super-interesting. Memory errors are also pretty
common. Taylor also shared a lot of anecdotes and that make his talk
even more fun and interesting!
&lt;/p&gt;

&lt;h3&gt;An introduction to GPIO in RPi3B+ and NetBSD, building a wind-speed logger as an application, Dr. Nicola Mingotti&lt;/h3&gt;
&lt;p&gt;
Dr. Nicola Mingotti talk was a great introduction (and more) to
Generalized Pin Input Output (GPIO)!
&lt;/p&gt;

&lt;p&gt;
He started really from the start by populating a uSD card and
installing and configuring NetBSD on a &lt;a
href=&quot;https://www.raspberrypi.com/products/raspberry-pi-3-model-b-plus/&quot;&gt;Raspberry
Pi 3 Model B+&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
He then introduced GPIO, how the RPi3B+ pin maps to the GPIO number and
then we were ready to get our hands on GPIO!
&lt;/p&gt;

&lt;p&gt;
As first exercises he showed how to set a PIN state (on/off) and read a
PIN state via &lt;a href=&quot;https://man.NetBSD.org/gpioctl.8&quot;&gt;gpioctl(8)&lt;/a&gt;.
This can be used respectively to turn a LED on/off and to read the
state of a switch.
&lt;/p&gt;

&lt;p&gt;
The second series of exercises looked on how fast &lt;code&gt;gpioctl&lt;/code&gt;
can be. This is limited for several applications and so Nicola
introduced how to write and read pin states in C via &lt;a
href=&quot;https://man.NetBSD.org/ioctl.2&quot;&gt;ioctl(2)&lt;/a&gt;. This is much faster
and with that we can go from switches to square waves!
&lt;/p&gt;

&lt;p&gt;
To avoid bit-banging and polling respectively &lt;a
href=&quot;https://man.NetBSD.org/gpiopwm.4&quot;&gt;gpiopwm(4)&lt;/a&gt; and &lt;a
href=&quot;https://man.NetBSD.org/gpioirq.4&quot;&gt;gpioirq(4)&lt;/a&gt; can be used.
Nicola shared several applications of them, like blinking LED and loopback.
(Another possible application, left as an exercise to the reader is the
&quot;daemon toggler&quot;. The &quot;daemon toggler&quot; starts/stops a daemon (e.g. &lt;a
href=&quot;https://man.NetBSD.org/ntpd.8&quot;&gt;ntpd(8)&lt;/a&gt;) based on the state of
a physical switch!)
&lt;/p&gt;

&lt;p&gt;
He then shared a much bigger application a Wind-Speed Logger (AKA WSL).
This was used by Nicola in order to evaluate if wind turbines could
be installed or not. He also shared how he adjusted an RPi case and
built housing for it (the RPi will be outside, needs to cool off so
needs some ventilation but at the same time the housing should block
rain!)
&lt;/p&gt;

&lt;p&gt;
&lt;img alt=&quot;Nicola showing the sensor used to build the Wind-Speed Logger (WSL)&quot; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/eurobsdcon2024_nicola.jpg&quot; height=&quot;700&quot; width=&quot;700&quot; /&gt;
&lt;br /&gt;
Nicola showing the sensor used to build the Wind-Speed Logger (WSL).
&lt;/p&gt;

&lt;p&gt;
He concluded the talk on why he used NetBSD.
&lt;/p&gt;

&lt;p&gt;
The talk was really educational. Nicola did a great job in summarizing
and providing a lot of references. If you are more interested I suggest
to catch up with the video recordings, slides and try to do the
exercises in it!
&lt;/p&gt;

&lt;h3&gt;&quot;Hall track&quot; and preparing for the social event&lt;/h3&gt;
&lt;p&gt;
After Nicola&apos;s talk I have spent some time in the &quot;hall track&quot; talking
with other people and missed a couple of talks (recording should be
available so I will hopefully catch up!).
&lt;/p&gt;

&lt;p&gt;
I have then attended Stefano Marinelli&apos;s talk &lt;a
href=&quot;https://events.eurobsdcon.org/2024/talk/LNMLZX/&quot;&gt;Why (and how)
we&apos;re migrating many of our servers from Linux to the BSDs&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Stefano shared his more than 2 decades old experience with BSD systems
and how he made his passion his profession.
&lt;/p&gt;

&lt;p&gt;
He shared his philosophy, experience with clients and why it is
important to focus on solving problems.
&lt;/p&gt;

&lt;p&gt;
During the talk he shared also several interesting stories with
clients. In one of them to avoid possible bias on BSD systems he
migrated client hosts without informing them. A client called alarmed
because he noticed a massive performance boost!
&lt;/p&gt;

&lt;p&gt;
His talk was inspiring and you can find more in his &lt;a
href=&quot;https://it-notes.dragas.net/2024/10/03/i-solve-problems-eurobsdcon/&quot;&gt;I
Solve Problems&lt;/a&gt; blog post.
&lt;/p&gt;

&lt;p&gt;
After Stefano&apos;s talk we gathered to join the social event and took a
DART train (Dublin Area Rapid Transit).
&lt;/p&gt;

&lt;h3&gt;Social event: BrewDog Dublin Outpost&lt;/h3&gt;
&lt;p&gt;
The social event was in &lt;a
href=&quot;https://drink.brewdog.com/uk/outpostdublin&quot;&gt;BrewDog Dublin
Outpost&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
We were in an area dedicated to EuroBSDCon participants so that we can
eat, drink and talk. There was a buffet and we received tickets to grab
beers.
&lt;/p&gt;

&lt;p&gt;
Several folks gifted me an handful and I have definitely had a pretty
ample beer tasting experience too! :)
&lt;/p&gt;

&lt;p&gt;
I also had a Vegan Spicy Meaty pizza: a pizza with seitan, mushrooms,
chilli flakes, fresh red chilli, tomatoes and vegan mozzarella.
My italian-pizza-side is usally pretty orthodox and I usually go for a
&lt;a href=&quot;https://en.wikipedia.org/wiki/Pizza_marinara&quot;&gt;pizza
marinara&lt;/a&gt;! :) But overall that was actually pretty nice and I really
appreciated the topping!
&lt;/p&gt;

&lt;p&gt;
I have staid with a couple of folks until the closure.
With Christoph Badura (&lt;code&gt;&amp;lt;bad@&amp;gt;&lt;/code&gt;) we walked in the
desperate search of grabbing some more food. However, at the end we
ended up in The Temple Bar Pub for &quot;only another beer&quot;! We met with
some friendly Swedish and Swiss tourists and we started talking about
BSD systems at 2:00 AM! The weather was pretty nice (it was always
pretty cloudy but there was no rain for the entire conference)
and we decided to continue walking back to our hotels.
At the end we have walked for a bit less than 9 kilometers from &lt;a
href=&quot;https://en.wikipedia.org/wiki/Temple_Bar,_Dublin&quot;&gt;Temple Bar&lt;/a&gt;
to nearly &lt;a
href=&quot;https://en.wikipedia.org/wiki/Booterstown&quot;&gt;Booterstown&lt;/a&gt;!
That was a great walk though and definitely we had no traces of
hangovers in the morning! :)
&lt;/p&gt;

&lt;h2&gt;Sunday (22/09): 2nd day of conference talks&lt;/h2&gt;
&lt;p&gt;
I wake up a bit late on Sunday and arrived in UCD at around 12:00 and
staid until lunch in the &quot;hall track&quot;.
&lt;/p&gt;

&lt;p&gt;
For lunch the vegetarian dish was a vegetarian curry, pretty tasty!
&lt;/p&gt;

&lt;p&gt;
On Sunday we had a longer lunch break also to take a family photo.
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;https://2024.eurobsdcon.org/images/dublin-family-34636.jpg&quot;&gt;&lt;img
alt=&quot;EuroBSDCon 2024 family picture by Ollivier Robert&quot;
src=&quot;https://www.notos.co/th/1800/46phEI4uewZ1VRm9dheStU-353985d9ff-s1800.jpg&quot;
height=&quot;450&quot; width=&quot;675&quot; /&gt;&lt;/a&gt;
&lt;br /&gt;
EuroBSDCon 2024 family picture. You can find more EuroBSDCon
photographs taken by Ollivier Robert at &lt;a href=&quot;&quot;&gt;EuroBSDCon 2024 -
Dublin, Ireland&lt;/a&gt; album.
&lt;/p&gt;

&lt;p&gt;
After lunch I have attended &lt;a
href=&quot;https://events.eurobsdcon.org/2024/talk/HFYARS/&quot;&gt;FreeBSD at 30
Years: Its Secrets to Success&lt;/a&gt; by Kirk McKusick. In this talk Kirk
looked back at 30 years of FreeBSD history (and also more for BSD
years!) and what made its success. He talked about a lot of different
topics, including leadership, development, importance of adopting ideas
and codes from NetBSD and OpenBSD, communication, documentation and
project culture. He also shared several interesting statistics and
demographic about FreeBSD.
&lt;/p&gt;

&lt;p&gt;
I have then attended &lt;a
href=&quot;https://events.eurobsdcon.org/2024/talk/BCAN3P/&quot;&gt;Confidential
Computing with OpenBSD&lt;/a&gt; by Hans-J&amp;ouml;rg H&amp;ouml;xer.
Hans-J&amp;ouml;rg introduced concepts about confidential computing, the
threat model that it cover and then digged in
&lt;a href=&quot;https://www.amd.com/en/developer/sev.html&quot;&gt;AMD Secure
Encrypted Virtualization (SEV)&lt;/a&gt; and how he is using that in OpenBSD
&lt;a href=&quot;https://man.openbsd.org/vmm.4&quot;&gt;vmm(4)&lt;/a&gt;.
&lt;/p&gt;

&lt;p&gt;
Then I have attended &lt;a
href=&quot;https://events.eurobsdcon.org/2024/talk/UAH3PF/&quot;&gt;Building an open
native FreeBSD CI system from scratch with lua, C, jails &amp; zfs&lt;/a&gt; by
Dave Cottlehuber. In this talk Dave shared the design and
implementation of a Continuous Integration (CI) system focused on
FreeBSD technologies but that can be ported also to other BSDs.
&lt;/p&gt;

&lt;p&gt;
The final talk I have attended was &lt;a
href=&quot;https://events.eurobsdcon.org/2024/talk/BPUBDD/&quot;&gt;SIMD-enhanced
libc string functions: how it&apos;s done&lt;/a&gt; by Robert Clausecker and Getz
Mikalsen.
In this talk Robert shared how several libc string functions were
reimplemented in other to use SIMD techniques on amd64 and arm64.
Getz worked on porting such work on arm64 as part of Google Summer of
Code 2024 and he shared his work and challenges in porting that.
The talk was interesting and micro-benchmarking showed performance
increase by factor of 5 on average!
&lt;/p&gt;

&lt;p&gt;
Then I have joined the Closing Session.
&lt;/p&gt;

&lt;p&gt;
&lt;img alt=&quot;EuroBSDCon 2024 bronze sponsors&quot; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/eurobsdcon2024_thanks_netbsd.jpg&quot; height=&quot;700&quot; width=&quot;700&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
There was a wrap up of the conference and some stats about it.
&lt;/p&gt;

&lt;p&gt;
And &lt;strong&gt;*drumrolls*&lt;/strong&gt; the next EuroBSDCon location was
announced! EuroBSDCon 2025 will be in &lt;a
href=&quot;https://en.wikipedia.org/wiki/Zagreb&quot;&gt;Zagreb&lt;/a&gt;, &lt;a
href=&quot;https://en.wikipedia.org/wiki/Croatia&quot;&gt;Croatia&lt;/a&gt;!
&lt;/p&gt;

&lt;p&gt;
&lt;img alt=&quot;EuroBSDCon 2025 will be in Zagreb, Croatia&quot; src=&quot;https://www.NetBSD.org/~leot/blog-posts/imgs/eurobsdcon2024_2025_spoiler.jpg&quot; height=&quot;700&quot; width=&quot;700&quot; /&gt;
&lt;/p&gt;

&lt;p&gt;
After the Closing Session with other NetBSD folks we met again for one
last dinner. We met with Andy Doran (&lt;code&gt;&amp;lt;ad@&amp;gt;&lt;/code&gt;) and we
had some junk food and several beers.
&lt;/p&gt;

&lt;h2&gt;Conclusion&lt;/h2&gt;
&lt;p&gt;
I had not traveled a lot in the last years and I have missed several
EuroBSDCon-s and I really regret that! EuroBSDCon 2024 was great: very
interesting talks, friendly folks and it was some time that I did not
had so much fun!
&lt;/p&gt;

&lt;p&gt;
Dublin was also really nice. All the locals were also very friendly.
I hope to come back to both Dublin and Ireland to do some much more
sightseeing in a more relaxed pace. Enjoy food, beers,
drinks and more. Talk with locals.
&lt;/p&gt;

&lt;p&gt;
I would like to thanks a lot to all the EuroBSDCon organizers for the
amazing conference!
&lt;/p&gt;

&lt;p&gt;
I also would like to thanks &lt;a
href=&quot;https://www.netbsd.org/foundation/&quot;&gt;The NetBSD Foundation&lt;/a&gt;
that funded my EuroBSDCon registration.
&lt;/p&gt;

&lt;p&gt;
If you have never been to EuroBSDCon and you are curious about BSDs...
I strongly suggest to attend either as participant or speaker! Folks
are super-friendly, there are a lot of interesting tutorials and talks
and I&apos;m pretty sure you will have fun too!
&lt;/p&gt;

&lt;p&gt;
And... if you are still reading until here... thank you too! :)
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/google_summer_of_code_2024</guid>
    <title>Google Summer of Code 2024 Reports: ALTQ refactoring and NPF integration</title>
    <dc:creator>Leonardo Taccari</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/google_summer_of_code_2024</link>
        <pubDate>Thu, 3 Oct 2024 10:15:26 +0000</pubDate>
    <category>Development</category>
    <category>npf</category>
    <category>net</category>
    <category>gsoc</category>
    <category>altq</category>
            <description>&lt;p&gt;This report was written by Emmanuel Nyarko as part of Google Summer of Code 2024.&lt;/p&gt;

&lt;p&gt;
Alternate Queuing has been of great need in the high Performance
Computing space since the continuous records of unfair disruption in
network quality due to the buffer bloat problem. The buffer bloat
problem still persists and not completely gone but modern active
queue managements have been introduced to improve the performance of
networks.
&lt;/p&gt;

&lt;p&gt;
ALTQ was refactored to basically improve maintainability. Duplicates
were handled, some compile time errors were fixed and also performance
has been improved too.
&lt;/p&gt;

&lt;p&gt;
This improves the quality of developer experience on maintaining the
ALTQ codebase.
&lt;/p&gt;

&lt;p&gt;
The Controlled Delay (CoDel) active queue management has also been
integrated into the netbsd codebase. This introduces improvements made
in the area of quality of service in the netbsd operating system. CoDel
was a research led collaborative work by Van Jacobness and Kathleen
Nichols which was developed to manage queues under control of the
minimum delay experienced by packets in the running buffer window.
&lt;/p&gt;

&lt;p&gt;
As it stands now, ALTQ in NetBSD is integrated in PF packet filter. I
am currently working to integrate it in the NPF packet filter. The
code in NetBSD is on the constant pursuit to produce clean and
maintainable code.
&lt;/p&gt;

&lt;p&gt;
I&apos;ll also be working to improve quality of service in NetBSD through
quality and collaborative research driven by randomness in results.
As a research computer scientist, I will be working to propose new
active queue managements for the NetBSD operating system to completely
defeat the long lasting buffer bloat problem.
&lt;/p&gt;

&lt;p&gt;
More details of the work can be found in my &lt;a
href=&quot;https://github.com/Emmankoko/Open_source_reports/blob/main/GSOC/gsoc24.md&quot;&gt;Google
Summer of Code 2024 work submission&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_8_3_released_and</guid>
    <title>NetBSD 8.3 released and end of support for netbsd-8</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_8_3_released_and</link>
        <pubDate>Tue, 7 May 2024 18:52:08 +0000</pubDate>
    <category>Release engineering</category>
    <atom:summary type="html">&lt;p&gt;The NetBSD Project is pleased to announce NetBSD 8.3,  the third and final release from the NetBSD 8 stable branch.&lt;/p&gt;

&lt;p&gt;It represents a selected subset of fixes deemed important for security or stability reasons since the release of NetBSD 8.2 in March 2020, as well as some enhancements backported from the development branch. It is fully compatible with NetBSD 8.0.&lt;/p&gt;
&lt;p&gt;This also represents the end-of-life for the netbsd-8 release branch. No further security updates will happen. Users running 8.2 or an earlier release are strongly recommended to upgrade to a newer branch, preferably the recent &lt;a href=&quot;//netbsd.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;NetBSD 10.0&lt;/a&gt; release.&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;The NetBSD Project is pleased to announce NetBSD 8.3,  the third and final release from the NetBSD 8 stable branch.&lt;/p&gt;

&lt;p&gt;It represents a selected subset of fixes deemed important for security or stability reasons since the release of NetBSD 8.2 in March 2020, as well as some enhancements backported from the development branch. It is fully compatible with NetBSD 8.0.&lt;/p&gt;
&lt;p&gt;This also represents the end-of-life for the netbsd-8 release branch. No further security updates will happen. Users running 8.2 or an earlier release are strongly recommended to upgrade to a newer branch, preferably the recent &lt;a href=&quot;//netbsd.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;NetBSD 10.0&lt;/a&gt; release.&lt;/p&gt;

&lt;p&gt;Pkgsrc has already desupported the netbsd-8 branch.&lt;/p&gt;

&lt;p&gt;See the full &lt;a href=&quot;//netbsd.org/releases/formal-8/NetBSD-8.3.html&quot;&gt;release announcement&lt;/a&gt; (including download links).&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/x_org_on_netbsd_the</guid>
    <title>X.Org on NetBSD - the state of things</title>
    <dc:creator>Nia Alarie</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/x_org_on_netbsd_the</link>
        <pubDate>Sat, 4 May 2024 12:05:20 +0000</pubDate>
    <category>General</category>
    <atom:summary type="html">&lt;p&gt;
A few years ago, I wrote a &quot;state of things&quot; blog post about
&lt;a href=&quot;//blog.NetBSD.org/tnf/entry/wayland_on_netbsd_trials_and&quot;&gt;Wayland on NetBSD&lt;/a&gt;.
It&apos;s only natural that I should do one about X11, which
is used by far more people to get a graphical environment on NetBSD.
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
A few years ago, I wrote a &quot;state of things&quot; blog post about
&lt;a href=&quot;//blog.NetBSD.org/tnf/entry/wayland_on_netbsd_trials_and&quot;&gt;Wayland on NetBSD&lt;/a&gt;.
It&apos;s only natural that I should do one about X11, which
is used by far more people to get a graphical environment on NetBSD.
&lt;/p&gt;

&lt;img src=&quot;//ftp.NetBSD.org/pub/NetBSD/misc/nia/glxgears.png&quot; alt=&quot;Spinning glxgears, a classic X.Org program.&quot;&gt;

&lt;p&gt;
There are a lot of differences from how NetBSD and the typical distributor
ship X.Org. For one, we ship it as an optional monolithic package rather than
separate individual packages. This means every driver is included on every system,
rather than as an optional module. Sometimes, this means we need
to fine-tune driver selection to ensure the correct drivers are loaded
on the correct hardware, since multiple conflicting drivers can
claim a video output. We also want sensible fallbacks, since if you&apos;re
using a GPU from the future with an old OS version, you probably
want X to seamlessly fall back to a regular framebuffer.
&lt;/p&gt;

&lt;p&gt;
Secondly, the way our &quot;xsrc&quot; repository is set up, it&apos;s effectively
functioning as a fork of X.Org that regularly pulls from upstream
freedesktop.org (but does not push back). This allows X development
to happen as part of NetBSD.
&lt;/p&gt;

&lt;p&gt;
Thirdly, we use our own build system based purely on BSD makefiles,
not X.Org&apos;s based on GNU autotools. This fits well with our build.sh
cross-compilation system.
&lt;/p&gt;

&lt;p&gt;
We have a number of drivers which have not made their way upstream.
Perhaps the most ubiquitous of these is xf86-input-ws, a driver which
came from OpenBSD, targets an API from NetBSD, and continues to be
developed in both. This is a generic input driver that can
support any pointing device that the kernel supports.  Unlike
xf86-input-mouse, it doesn&apos;t assume the device is a mouse, and
can support advanced touchpad and touchscreen features.
Other NetBSD exclusives include xf86-video-pnozz,
xf86-video-mgx, and xf86-video-crime.
While these all share the &quot;xf86&quot; name inherited from the historical
XFree86 distribution, none of them are exclusively for x86.
&lt;/p&gt;

&lt;p&gt;
There are a number of drivers that are accelerated when used
in NetBSD, but the acceleration support is missing upstream.
This is mostly due to the work of macallan@, who has diligently
worked on drivers for accelerators found on SPARC and PowerPC hardware.
&lt;/p&gt;

&lt;p&gt;
X.Org has historically supported two 2D acceleration modes,
&lt;a href=&quot;https://www.x.org/wiki/Development/Documentation/Performance/&quot;&gt;XAA and EXA&lt;/a&gt;.
XAA seems complicated - according to the X.Org Foundation it
supports accelerating &quot;patterned fills and Bresenham lines&quot; (eh?).
XAA was removed from the X.Org server in 2012, and many old drivers
were not updated to support the newer and simpler EXA model,
except in NetBSD, over a time period of several years.
&lt;/p&gt;

&lt;p&gt;
Did you know that Nvidia
&lt;a href=&quot;https://lwn.net/Articles/380704/&quot;&gt;used to have&lt;/a&gt; an open source graphics
driver? It supported 2D acceleration for a range of cards.
In NetBSD, it&apos;s retained for platforms that included embedded
Nvidia chips and aren&apos;t capable of (or predate, or don&apos;t want)
the modern novueau driver. Six years ago, it was updated in NetBSD
to support EXA acceleration.
&lt;/p&gt;

&lt;p&gt;
There are a few ways our X integration could be improved.
While lots of attention has been paid to the server, less
has been paid to clients (programs).  Did you know that X
includes a
&lt;a href=&quot;//man.NetBSD.org/NetBSD-10.0/xedit.1&quot;&gt;text editor,&lt;/a&gt;
and that text editor supports syntax
highlighting and spell checking?
&lt;/p&gt;

&lt;img src=&quot;//ftp.NetBSD.org/pub/NetBSD/misc/nia/xedit.png&quot; alt=&quot;xedit, the standard editor&quot;&gt;

&lt;p&gt;
NetBSD includes its own command-line spell checker and associated
dictionaries, &lt;a href=&quot;https://man.netbsd.org/NetBSD-10.0/spell.1&quot;&gt;spell(1)&lt;/a&gt;,
inherited from the BSD UNIX of yore.
It&apos;s pretty basic, and only supports
variations of English. To get spell checking to work in xedit, you need
to install ispell (another command-line spell checker) from pkgsrc, install
a dictionary, then set some Xresources (or create symlinks) to make
sure xedit finds ispell. This could surely be streamlined
by teaching xedit about spell.
&lt;/p&gt;

&lt;p&gt;
We also ship every program that has been included with
historical X.Org distributions. This includes well-known
things like
&lt;a href=&quot;https://invisible-island.net/xterm/&quot;&gt;xterm&lt;/a&gt;, slightly less well-known things like 
&lt;a href=&quot;//man.NetBSD.org/xbiff.1&quot;&gt;xbiff(1)&lt;/a&gt;, and obscurities like
&lt;a href=&quot;//man.NetBSD.org/NetBSD-10.0/bitmap.1&quot;&gt;bitmap(1)&lt;/a&gt;
(apparently a 1-bit-per-pixel alternative to MS Paint).
A while ago, we removed some libraries which are no longer used by the modern
X server, and maybe we should evaluate whether we need
all of these programs too.
&lt;a href=&quot;//man.netbsd.org/NetBSD-10.0/xmh.1&quot;&gt;xmh(1)&lt;/a&gt;
is a frontend for a mail system that isn&apos;t included in base.
Together, bitmap and xmh are around 300 kilobytes.
&lt;/p&gt;

&lt;p&gt;
We include fonts, bitmaps and scalable, for a wide range of
computing devices. In the latest versions of NetBSD, the font size
will automatically scale with the screen size to support HiDPI displays
as well as small mobile devices.
However, we don&apos;t ship a scalable cursor theme at the moment.
We&apos;re also missing high-resolution fonts for Japanese,
a shame considering the popularity of NetBSD in Japan.
&lt;a href=&quot;https://koruri.github.io/&quot;&gt;Koruri&lt;/a&gt; looks interesting
and is suitably small, maybe we should import it.
&lt;/p&gt;

&lt;p&gt;
While we have many useful simple programs by default (a clock,
a calculator, an editor, a window manager, a compositor,
a terminal emulator...), we&apos;re notably missing a screen locking
program for X in the default install,
although we have &lt;a href=&quot;//man.NetBSD.org/lock.1&quot;&gt;lock(1) for the tty.&lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
The big question - does all this have a future?
The good news is that all new hardware has generic support in X.
Someone writes either a modesetting kernel driver or a classical wsdisplay
kernel driver and they will be automatically supported by the associated
drivers in X.
The bad news is that to have applications running we require access to
a larger open source ecosystem, and that ecosystem has a lot of churn
and is easily distracted by shiny new squirrels.
The process of upstreaming stuff to X.Org is an ongoing process, but
it&apos;s likely we&apos;ll run into things that will never be suitable for upstream.
&lt;/p&gt;

&lt;p&gt;
Of course, on NetBSD, you also have the option of trying vanilla
modular X.Org from pkgsrc, or using
&lt;a href=&quot;https://www.youtube.com/watch?v=4igLujPyK0M&quot;&gt;something else entirely&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_9_4_released</guid>
    <title>NetBSD 9.4 released</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_9_4_released</link>
        <pubDate>Tue, 23 Apr 2024 05:14:21 +0000</pubDate>
    <category>Release engineering</category>
    <atom:summary type="html">&lt;p&gt;The NetBSD Project is pleased to announce NetBSD 9.4,  the fourth release from the NetBSD 9 stable branch.&lt;/p&gt;

&lt;p&gt;It represents a selected subset of fixes deemed important for security or stability reasons since the release of NetBSD 9.3 in August 2022, as well as some enhancements backported from the development branch. It is fully compatible with NetBSD 9.0. Users running 9.3 or an earlier release are strongly recommended to upgrade.&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;The NetBSD Project is pleased to announce NetBSD 9.4,  the fourth release from the NetBSD 9 stable branch.&lt;/p&gt;

&lt;p&gt;It represents a selected subset of fixes deemed important for security or stability reasons since the release of NetBSD 9.3 in August 2022, as well as some enhancements backported from the development branch. It is fully compatible with NetBSD 9.0. Users running 9.3 or an earlier release are strongly recommended to upgrade.&lt;/p&gt;

&lt;p&gt;The general NetBSD community is very excited about 
&lt;a href=&quot;//netbsd.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;NetBSD 10.0&lt;/a&gt;, the latest NetBSD release,
but if for some reason you can not (or do not want to) update to 10.0, it is strongly recommended to update to 9.4.
This is especially true for users still using a NetBSD 8.x release as that old release branch will be desupported by the end of April 2024.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;a href=&quot;//netbsd.org/releases/formal-9/NetBSD-9.4.html&quot;&gt;Full release notes, including download links&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_10_0_available</guid>
    <title>NetBSD 10.0 available!</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_10_0_available</link>
        <pubDate>Sat, 30 Mar 2024 19:55:38 +0000</pubDate>
    <category>Release engineering</category>
    <category>release</category>
    <category>10.0</category>
    <category>netbsd-10</category>
    <atom:summary type="html">&lt;p&gt;
The NetBSD project is pleased to announce the eighteenth major release of the NetBSD operating system
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0/&quot;&gt;NetBSD 10.0&lt;/a&gt;!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
The NetBSD project is pleased to announce the eighteenth major release of the NetBSD operating system
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0/&quot;&gt;NetBSD 10.0&lt;/a&gt;!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;
&lt;p&gt;The netbsd-10 release branch is more than a year old now, so it is high time the 10.0 release makes it to the front stage. This matches the long time it took for the development branch to get ready for branching, a lot of development went into this new release.
&lt;/p&gt;
&lt;p&gt;
This also caused the release announcement to be one of the longest we ever did.
&lt;/p&gt;
&lt;p&gt;
If you want to try NetBSD 10.0 please check the &lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0/amd64/INSTALL.html&quot;&gt;installation notes&lt;/a&gt; for your architecture and download the preferred 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0/images/&quot;&gt;install image&lt;/a&gt; from the CDN or if you are using an ARM based device from the netbsd-10 builds from the &lt;a href=&quot;https://armbsd.org&quot;&gt;bootable ARM images&lt;/a&gt; page.
&lt;/p&gt;
&lt;p&gt;
If you have any issues with installation or run into issues with the system during use, please contact us on one of the
&lt;a href=&quot;https://mail-index.NetBSD.org&quot;&gt;mailing lists&lt;/a&gt; or file a &lt;a href=&quot;https://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd&quot;&gt;problem report&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/statement_on_backdoor_in_xz</guid>
    <title>Statement on backdoor in xz library</title>
    <dc:creator>Nia Alarie</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/statement_on_backdoor_in_xz</link>
        <pubDate>Sat, 30 Mar 2024 09:09:06 +0000</pubDate>
    <category>Security</category>
    <atom:summary type="html">&lt;p&gt;Recently, &lt;a href=&quot;https://www.openwall.com/lists/oss-security/2024/03/29/4&quot;&gt;a backdoor was discovered in the xz compression library&lt;/a&gt;. XZ/liblzma are included as part of NetBSD and used by the project for distribution of new releases and packages.&lt;/p&gt;

&lt;p&gt;The version of xz shipped in all stable (and unstable) versions of NetBSD predates any code changes by the author of the backdoor. NetBSD is therefore safe and &lt;strong&gt;unaffected&lt;/strong&gt; by the recent discoveries.&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;Recently, &lt;a href=&quot;https://www.openwall.com/lists/oss-security/2024/03/29/4&quot;&gt;a backdoor was discovered in the xz compression library&lt;/a&gt;. xz/liblzma are included as a part of NetBSD and used by the project for distribution of new releases and packages.&lt;/p&gt;

&lt;p&gt;The version of xz shipped in all stable (and unstable) versions of NetBSD predates any code changes by the author of the backdoor. NetBSD is therefore safe and &lt;strong&gt;unaffected&lt;/strong&gt; by the recent discoveries. It is believed that the attack only targets Linux/glibc, but checking this allowed us to rule out any other attempts at compromising the library by the author.&lt;/p&gt;

&lt;p&gt;The version of xz shipped in pkgsrc, however, is affected. Using xz from pkgsrc is a non-default setting on NetBSD, and requires explicit opt-in. Most users of NetBSD will not install xz from pkgsrc because the version from the base system is preferred. However, users of pkgsrc on other platforms will need to take precautions.&lt;/p&gt;

&lt;p&gt;Regardless of NetBSD being affected or not, the discovery of the backdoor is a wake-up call and further discussion will be happening internally over how to proceed.&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc6_available</guid>
    <title>NetBSD 10.0 RC6 available!</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc6_available</link>
        <pubDate>Wed, 13 Mar 2024 23:10:11 +0000</pubDate>
    <category>Release engineering</category>
    <category>10.0</category>
    <category>release-candidate</category>
    <category>netbsd-10</category>
    <atom:summary type="html">&lt;p&gt;
The NetBSD project is pleased to announce the sixth
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC6/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 10.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
The NetBSD project is pleased to announce the sixth
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC6/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 10.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;
&lt;p&gt;The netbsd-10 release branch is more than a year old now, so it is high time the 10.0 release makes it to the front stage. This matches the long time it took for the development branch to get ready for branching, a lot of development went into this new release.
&lt;/p&gt;
&lt;p&gt;
This also caused the release announcement to be one of the longest we ever did.
&lt;/p&gt;
&lt;p&gt;
Since RC1 there have been numerous changes, including major updates to external software included in the release: Postfix, OpenSSH, and the firmware used for Raspberry PI devices. Various issues with RC1 have been fixed, including installer (sysinst) crashes. Lots of architecture specific fixes happend, e.g. various toolchain changes for VAX (so it is now finaly self-hosting again), and kernel changes for macppc, netwinder, and alpha.
&lt;/p&gt;
&lt;p&gt;
For RC3 only few (relatively) minor changes were made, including https certificate verification in libfetch (which is used by pkg_ad(1)), and also improvements to the EFI bootloader to better deal with booting from CD (or in virtual machines ISO images), plus lots of various bug fixes.
&lt;/p&gt;
&lt;p&gt;
RC4 became necessary as a few very important DRM/KMS issues especially for Intel GPUs have been resolved.
And as an (unexpected) bonus support for the Nintendo Wii has been added to the evbppc port.
&lt;/p&gt;
&lt;p&gt;
RC5 has a few important security related updates of third party components (named, nsd, unbound, wpa_supplicant).
&lt;/p&gt;
&lt;p&gt;
RC6 fixes a few issues with the new named/bind imported for RC5 plus several minor issues.
&lt;/p&gt;
&lt;p&gt;Especially on amd64 machines please notes that we got a new DRM/KMS subsystem version, and this may lead to fallout on
some hardware. Unfortunately not all known bugs from the release engineering 
&lt;a href=&quot;https://wiki.NetBSD.org/releng/netbsd-10/&quot;&gt;pre-release task list&lt;/a&gt; could be fixed in time for this release - we will continue to improve the current state and hope to have more of them solved for the next (10.1) release.
&lt;/p&gt;
&lt;p&gt;
If you want to test 10.0 RC6 please check the &lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC6/amd64/INSTALL.html&quot;&gt;installation notes&lt;/a&gt; for your architecture and download the preferred 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC6/images/&quot;&gt;install image&lt;/a&gt; from the CDN or if you are using an ARM based device from the netbsd-10 builds from the &lt;a href=&quot;https://armbsd.org&quot;&gt;bootable ARM images&lt;/a&gt; page.
&lt;/p&gt;
&lt;p&gt;
If you have any issues with installation or run into issues with the system during use, please contact us on one of the
&lt;a href=&quot;https://mail-index.NetBSD.org&quot;&gt;mailing lists&lt;/a&gt; or file a &lt;a href=&quot;https://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd&quot;&gt;problem report&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc5_available</guid>
    <title>NetBSD 10.0 RC5 available!</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc5_available</link>
        <pubDate>Wed, 28 Feb 2024 19:37:19 +0000</pubDate>
    <category>Release engineering</category>
    <category>netbsd-10</category>
    <category>release-candidate</category>
    <category>10.0</category>
    <atom:summary type="html">&lt;p&gt;
The NetBSD project is pleased to announce the fourth (and probably last) 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC5/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 10.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
The NetBSD project is pleased to announce the fifth (and probably last) 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC5/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 10.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;
&lt;p&gt;The netbsd-10 release branch is more than a year old now, so it is high time the 10.0 release makes it to the front stage. This matches the long time it took for the development branch to get ready for branching, a lot of development went into this new release.
&lt;/p&gt;
&lt;p&gt;
This also caused the release announcement to be one of the longest we ever did.
&lt;/p&gt;
&lt;p&gt;
Since RC1 there have been numerous changes, including major updates to external software included in the release: Postfix, OpenSSH, and the firmware used for Raspberry PI devices. Various issues with RC1 have been fixed, including installer (sysinst) crashes. Lots of architecture specific fixes happend, e.g. various toolchain changes for VAX (so it is now finaly self-hosting again), and kernel changes for macppc, netwinder, and alpha.
&lt;/p&gt;
&lt;p&gt;
For RC3 only few (relatively) minor changes were made, including https certificate verification in libfetch (which is used by pkg_ad(1)), and also improvements to the EFI bootloader to better deal with booting from CD (or in virtual machines ISO images), plus lots of various bug fixes.
&lt;/p&gt;
&lt;p&gt;
RC4 became necessary as a few very important DRM/KMS issues especially for Intel GPUs have been resolved.
And as an (unexpected) bonus support for the Nintendo Wii has been added to the evbppc port.
&lt;/p&gt;
&lt;p&gt;
RC5 has a few important security related updates of third party components (named, nsd, unbound, wpa_supplicant).
&lt;/p&gt;
&lt;p&gt;Especially on amd64 machines please notes that we got a new DRM/KMS subsystem version, and this may lead to fallout on
some hardware. Unfortunately not all known bugs from the release engineering 
&lt;a href=&quot;https://wiki.NetBSD.org/releng/netbsd-10/&quot;&gt;pre-release task list&lt;/a&gt; could be fixed in time for this release - we will continue to improve the current state and hope to have more of them solved for the next (10.1) release.
&lt;/p&gt;
&lt;p&gt;
If you want to test 10.0 RC5 please check the &lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC5/amd64/INSTALL.html&quot;&gt;installation notes&lt;/a&gt; for your architecture and download the preferred 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC5/images/&quot;&gt;install image&lt;/a&gt; from the CDN or if you are using an ARM based device from the netbsd-10 builds from the &lt;a href=&quot;https://armbsd.org&quot;&gt;bootable ARM images&lt;/a&gt; page.
&lt;/p&gt;
&lt;p&gt;
If you have any issues with installation or run into issues with the system during use, please contact us on one of the
&lt;a href=&quot;https://mail-index.NetBSD.org&quot;&gt;mailing lists&lt;/a&gt; or file a &lt;a href=&quot;https://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd&quot;&gt;problem report&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc4_available</guid>
    <title>NetBSD 10.0 RC4 available!</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc4_available</link>
        <pubDate>Wed, 7 Feb 2024 15:58:51 +0000</pubDate>
    <category>Release engineering</category>
    <category>netbsd-10</category>
    <category>release-candidate</category>
    <category>10.0</category>
    <atom:summary type="html">&lt;p&gt;
The NetBSD project is pleased to announce the fourth (and probably last) 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC4/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 10.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
The NetBSD project is pleased to announce the fourth (and probably last) 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC4/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 10.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;
&lt;p&gt;The netbsd-10 release branch is more than a year old now, so it is high time the 10.0 release makes it to the front stage. This matches the long time it took for the development branch to get ready for branching, a lot of development went into this new release.
&lt;/p&gt;
&lt;p&gt;
This also caused the release announcement to be one of the longest we ever did.
&lt;/p&gt;
&lt;p&gt;
Since RC1 there have been numerous changes, including major updates to external software included in the release: Postfix, OpenSSH, and the firmware used for Raspberry PI devices. Various issues with RC1 have been fixed, including installer (sysinst) crashes. Lots of architecture specific fixes happend, e.g. various toolchain changes for VAX (so it is now finaly self-hosting again), and kernel changes for macppc, netwinder, and alpha.
&lt;/p&gt;
&lt;p&gt;
For RC3 only few (relatively) minor changes were made, including https certificate verification in libfetch (which is used by pkg_ad(1)), and also improvements to the EFI bootloader to better deal with booting from CD (or in virtual machines ISO images), plus lots of various bug fixes.
&lt;/p&gt;
&lt;p&gt;
RC4 became necessary as a few very important DRM/KMS issues especially for Intel GPUs have been resolved.
And as an (unexpected) bonus support for the Nintendo Wii has been added to the evbppc port.
&lt;/p&gt;
&lt;p&gt;Especially on amd64 machines please notes that we got a new DRM/KMS subsystem version, and this may lead to fallout on
some hardware. Unfortunately not all known bugs from the release engineering 
&lt;a href=&quot;https://wiki.NetBSD.org/releng/netbsd-10/&quot;&gt;pre-release task list&lt;/a&gt; could be fixed in time for this release - we will continue to improve the current state and hope to have more of them solved for the next (10.1) release.
&lt;/p&gt;
&lt;p&gt;
If you want to test 10.0 RC4 please check the &lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC4/amd64/INSTALL.html&quot;&gt;installation notes&lt;/a&gt; for your architecture and download the preferred 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC4/images/&quot;&gt;install image&lt;/a&gt; from the CDN or if you are using an ARM based device from the netbsd-10 builds from the &lt;a href=&quot;https://armbsd.org&quot;&gt;bootable ARM images&lt;/a&gt; page.
&lt;/p&gt;
&lt;p&gt;
If you have any issues with installation or run into issues with the system during use, please contact us on one of the
&lt;a href=&quot;https://mail-index.NetBSD.org&quot;&gt;mailing lists&lt;/a&gt; or file a &lt;a href=&quot;https://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd&quot;&gt;problem report&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc3_available</guid>
    <title>NetBSD 10.0 RC3 available!</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc3_available</link>
        <pubDate>Wed, 17 Jan 2024 18:11:06 +0000</pubDate>
    <category>Release engineering</category>
    <category>10.0</category>
    <category>release-candidate</category>
    <category>netbsd-10</category>
    <atom:summary type="html">&lt;p&gt;
The NetBSD project is pleased to announce the third (and probably last) 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC3/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 10.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
The NetBSD project is pleased to announce the third (and probably last) 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC3/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 10.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;
&lt;p&gt;The netbsd-10 release branch is more than a year old now, so it is high time the 10.0 release makes it to the front stage. This matches the long time it took for the development branch to get ready for branching, a lot of development went into this new release.
&lt;/p&gt;
&lt;p&gt;
This also caused the release announcement to be one of the longest we ever did.
&lt;/p&gt;
&lt;p&gt;
Since RC1 there have been numerous changes, including major updates to external software included in the release: Postfix, OpenSSH, and the firmware used for Raspberry PI devices. Various issues with RC1 have been fixed, including installer (sysinst) crashes. Lots of architecture specific fixes happend, e.g. various toolchain changes for VAX (so it is now finaly self-hosting again), and kernel changes for macppc, netwinder, and alpha.
&lt;/p&gt;
&lt;p&gt;
For RC3 only few (relatively) minor changes were made, including https certificate verification in libfetch (which is used by pkg_ad(1)), and also improvements to the EFI bootloader to better deal with booting from CD (or in virtual machines ISO images), plus lots of various bug fixes.
&lt;p&gt;
Especially on amd64 machines please notes that we got a new DRM/KMS subsystem version, and this may lead to fallout on
some hardware. Unfortunately not all known bugs from the release engineering 
&lt;a href=&quot;https://wiki.NetBSD.org/releng/netbsd-10/&quot;&gt;pre-release task list&lt;/a&gt; could be fixed in time for this release - we will continue to improve the current state and hope to have more of them solved for the next (10.1) release.
&lt;/p&gt;
&lt;p&gt;
If you want to test 10.0 RC3 please check the &lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC3/amd64/INSTALL.html&quot;&gt;installation notes&lt;/a&gt; for your architecture and download the preferred 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC3/images/&quot;&gt;install image&lt;/a&gt; from the CDN or if you are using an ARM based device from the netbsd-10 builds from the &lt;a href=&quot;https://armbsd.org&quot;&gt;bootable ARM images&lt;/a&gt; page.
&lt;/p&gt;
&lt;p&gt;
If you have any issues with installation or run into issues with the system during use, please contact us on one of the
&lt;a href=&quot;https://mail-index.NetBSD.org&quot;&gt;mailing lists&lt;/a&gt; or file a &lt;a href=&quot;https://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd&quot;&gt;problem report&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc2_available</guid>
    <title>NetBSD 10.0 RC2 available!</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc2_available</link>
        <pubDate>Thu, 4 Jan 2024 08:21:36 +0000</pubDate>
    <category>Release engineering</category>
    <category>netbsd-10</category>
    <category>10.0</category>
    <category>release-candidate</category>
    <atom:summary type="html">&lt;p&gt;
The NetBSD project is pleased to announce the second (and probably last) 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC2/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 10.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
The NetBSD project is pleased to announce the second (and probably last) 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC2/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 10.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release announcement&lt;/a&gt; for details.
&lt;/p&gt;
&lt;p&gt;The netbsd-10 release branch is more than a year old now, so it is high time the 10.0 release makes it to the front stage. This matches the long time it took for the development branch to get ready for branching, a lot of development went into this new release.
&lt;/p&gt;
&lt;p&gt;
This also caused the release announcement to be one of the longest we ever did.
&lt;/p&gt;
&lt;p&gt;
Since RC1 there have been numerous changes, including major updates to external software included in the release: Postfix, OpenSSH, and the firmware used for Raspberry PI devices. Various issues with RC1 have been fixed, including installer (sysinst) crashes. Lots of architecture specific fixes happend, e.g. various toolchain changes for VAX (so it is now finaly self-hosting again), and kernel changes for macppc, netwinder, and alpha.
&lt;/p&gt;
&lt;p&gt;
Especially on amd64 machines please notes that we got a new DRM/KMS subsystem version, and this may lead to fallout on
some hardware. Unfortunately not all known bugs from the release engineering 
&lt;a href=&quot;https://wiki.NetBSD.org/releng/netbsd-10/&quot;&gt;pre-release task list&lt;/a&gt; could be fixed in time for this release - we will continue to improve the current state and hope to have more of them solved for the next (10.1) release.
&lt;/p&gt;
&lt;p&gt;
If you want to test 10.0 RC2 please check the &lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC2/amd64/INSTALL.html&quot;&gt;installation notes&lt;/a&gt; for your architecture and download the preferred 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC2/images/&quot;&gt;install image&lt;/a&gt; from the CDN or if you are using an ARM based device from the netbsd-10 builds from the &lt;a href=&quot;https://armbsd.org&quot;&gt;bootable ARM images&lt;/a&gt; page.
&lt;/p&gt;
&lt;p&gt;
If you have any issues with installation or run into issues with the system during use, please contact us on one of the
&lt;a href=&quot;https://mail-index.NetBSD.org&quot;&gt;mailing lists&lt;/a&gt; or file a &lt;a href=&quot;https://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd&quot;&gt;problem report&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc1_available</guid>
    <title>NetBSD 10.0 RC1 available!</title>
    <dc:creator>martin</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/netbsd_10_0_rc1_available</link>
        <pubDate>Sat, 11 Nov 2023 13:56:20 +0000</pubDate>
    <category>Release engineering</category>
    <category>release-candidate</category>
    <category>10.0</category>
    <category>netbsd-10</category>
    <atom:summary type="html">&lt;p&gt;
The NetBSD project is pleased to announce the first 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC1/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 10.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release anouncement&lt;/a&gt; for details.
&lt;/p&gt;</atom:summary>        <description>&lt;p&gt;
The NetBSD project is pleased to announce the first 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC1/&quot;&gt;release candidate&lt;/a&gt; of the upcoming 10.0 release, please help testing!&lt;br /&gt;
See the &lt;a href=&quot;https://www.NetBSD.org/releases/formal-10/NetBSD-10.0.html&quot;&gt;release anouncement&lt;/a&gt; for details.
&lt;/p&gt;
&lt;p&gt;The netbsd-10 release branch is more than a year old now, so it is high time the 10.0 release makes it to the front stage. This matches the long time it took for the developement branch to get ready for branching, a lot of developement went into this new release.
&lt;/p&gt;
&lt;p&gt;
This also caused the release anouncement to be one of the longest we ever did.
&lt;/p&gt;
&lt;p&gt;
Especially on amd64 machines please notes that we got a new DRM/KMS subsystem version, and this may lead to fallout on
some hardware. Unfortunately not all known bugs from the release engineering 
&lt;a href=&quot;https://wiki.NetBSD.org/releng/netbsd-10/&quot;&gt;pre-release task list&lt;/a&gt; could be fixed in time for this release - we will continue to improve the current state and hope to have more of them solved for the next (10.1) release.
&lt;/p&gt;
&lt;p&gt;
If you want to test 10.0 RC1 please check the &lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC1/amd64/INSTALL.html&quot;&gt;installation notes&lt;/a&gt; for your architecture and download the prefered 
&lt;a href=&quot;https://cdn.NetBSD.org/pub/NetBSD/NetBSD-10.0_RC1/images/&quot;&gt;install image&lt;/a&gt; from the CDN or if you are using an ARM based device from the netbsd-10 builds from the &lt;a href=&quot;https://armbsd.org&quot;&gt;bootable ARM images&lt;/a&gt; page.
&lt;/p&gt;
&lt;p&gt;
If you have any issues with installation or run into issues with the system during use, please contact us on one of the
&lt;a href=&quot;https://mail-index.NetBSD.org&quot;&gt;mailing lists&lt;/a&gt; or file a &lt;a href=&quot;https://www.netbsd.org/cgi-bin/sendpr.cgi?gndb=netbsd&quot;&gt;problem report&lt;/a&gt;.
&lt;/p&gt;</description>          </item>
    <item>
    <guid isPermaLink="true">https://blog.netbsd.org/tnf/entry/fosdem_2023</guid>
    <title>FOSDEM 2023</title>
    <dc:creator>Pierre Pronchery</dc:creator>
    <link>https://blog.netbsd.org/tnf/entry/fosdem_2023</link>
        <pubDate>Wed, 8 Feb 2023 17:25:39 +0000</pubDate>
    <category>Events</category>
    <category>fosdem</category>
    <category>devroom</category>
    <category>bsd</category>
    <category>gsoc</category>
    <atom:summary type="html">FOSDEM took place last week-end, as an offline-first event again for the first time since 2020. It was located as usual at the university campus of the ULB in Brussels. It was packed with developers, users, passionate and professionals of Open Source software, and while NetBSD did not have a booth this year, its presence could be felt on Saturday morning at the BSD DevRoom.</atom:summary>        <description>&lt;p&gt;&lt;a href=&quot;https://fosdem.org&quot;&gt;FOSDEM&lt;/a&gt; took place last week-end, as an offline-first event again for the first time since 2020. It was located as usual at the university campus of the ULB in Brussels. It was packed with developers, users, passionate and professionals of Open Source software, and while &lt;a href=&quot;https://www.NetBSD.org&quot;&gt;NetBSD&lt;/a&gt; did not have a booth this year, its presence could be felt on Saturday morning at the &lt;a href=&quot;https://fosdem.org/2023/schedule/track/bsd/&quot;&gt;BSD DevRoom&lt;/a&gt; thanks to the many &lt;a href=&quot;https://www.NetBSD.org/people/developers.html&quot;&gt;developers&lt;/a&gt; who made it to the conference.&lt;/p&gt;
&lt;p&gt;Together with Rodrigo Osorio of the &lt;a href=&quot;https://www.FreeBSD.org&quot;&gt;FreeBSD project&lt;/a&gt;, I had the pleasure to help manage the DevRoom, have a front seat for the talks, and even start the session by introducing the &lt;a href=&quot;https://www.NetBSD.org/gallery/presentations/#2023&quot;&gt;BSD Driver Harmony initiative&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The staff and respective speakers are currently busy uploading slides and &lt;a href=&quot;https://video.fosdem.org&quot;&gt;reviewing videos&lt;/a&gt;, so keep in mind to &lt;a href=&quot;https://twitter.com/fosdem&quot;&gt;check again&lt;/a&gt; for &lt;a href=&quot;https://fosstodon.org/@fosdem&quot;&gt;new content&lt;/a&gt; in the coming few days and weeks if you missed anything or need to dig further into any event from this awesome conference!&lt;/p&gt;
&lt;p&gt;Finally, I would like to thank the &lt;a href=&quot;https://www.NetBSD.org/foundation/&quot;&gt;NetBSD Foundation&lt;/a&gt; for sponsoring me to manage the room and attend the &lt;a href=&quot;https://summerofcode.withgoogle.com/programs/2022/organizations/the-netbsd-foundation&quot;&gt;GSoC meet-up&lt;/a&gt;.&lt;/p&gt;</description>          </item>
  </channel>
</rss>