diff options
-rw-r--r-- | documentation/content/en/articles/pgpkeys/_index.adoc | 3 | ||||
-rw-r--r-- | documentation/content/en/books/handbook/cutting-edge/_index.adoc | 278 | ||||
-rw-r--r-- | documentation/static/pgpkeys/emaste.key | 27 | ||||
-rw-r--r-- | website/archetypes/release/hardware.adoc | 2 | ||||
-rw-r--r-- | website/content/en/community/_index.adoc | 2 | ||||
-rw-r--r-- | website/content/en/status/report-2025-04-2025-06/core.adoc | 28 | ||||
-rw-r--r-- | website/data/en/events/events2025.toml | 25 | ||||
-rw-r--r-- | website/themes/beastie/layouts/_partials/sidenav.html | 1 |
8 files changed, 357 insertions, 9 deletions
diff --git a/documentation/content/en/articles/pgpkeys/_index.adoc b/documentation/content/en/articles/pgpkeys/_index.adoc index 51baa8be03..c082f7feba 100644 --- a/documentation/content/en/articles/pgpkeys/_index.adoc +++ b/documentation/content/en/articles/pgpkeys/_index.adoc @@ -879,6 +879,9 @@ include::{include-path}christos.key[] === `{marino}` include::{include-path}marino.key[] +=== `{emaste}` +include::{include-path}emaste.key[] + === `{cherry}` include::{include-path}cherry.key[] diff --git a/documentation/content/en/books/handbook/cutting-edge/_index.adoc b/documentation/content/en/books/handbook/cutting-edge/_index.adoc index e787d106ee..e1390faa52 100644 --- a/documentation/content/en/books/handbook/cutting-edge/_index.adoc +++ b/documentation/content/en/books/handbook/cutting-edge/_index.adoc @@ -1087,12 +1087,284 @@ The last step after updating is to restart the computer so all the changes take # shutdown -r now .... +[[pkgbase]] +== Updating FreeBSD with Base System Packages + +Starting from 14.0-RELEASE, the FreeBSD project has published a set of packages of the kernel and base system, using man:pkg[8]. +These can be used in the same convenient way that users are used to, for adding and upgrading ported software, but for the kernel and userland itself. +The packages, and usage thereof, are often referred to as pkgbase. + +Packages have been available since link:https://lists.freebsd.org/archives/freebsd-pkgbase/2023-October/000221.html[October 2023], considered experimental for FreeBSD's 14 Release. + +Starting from 15.0-RELEASE, Base System packages will be the default and officially supported way to both install new FreeBSD instances, and also to update and upgrade between minor and major releases. + +[NOTE] +==== +From 15.0-RELEASE onwards, the long-running man:freebsd-update[8] tool will only be supported on the earlier 13 and 14 release branches. +==== + +Base System Packages replace: + +* tarball distribution sets, such as `base.txz` or `kernel.txz`, which are historically used for installation of the OS with man:bsdinstall[8] +* man:freebsd-update[8] for updates to the OS. + +Base System packages complement crossref:cutting-edge[makeworld,"building and installing from source"], which is still available for those who wish to build their own custom kernels or userland. +It is also possible to build custom base system packages from local sources, as well as just relying on officially provided packages. + +=== Converting a Host to use pkgbase + +Systems installed with FreeBSD 14.0-RELEASE or later can be converted to use Base System packages. +For earlier versions, it is recommended to first upgrade to a recent Version, and then convert. + +The FreeBSD Foundation has sponsored development of a tool called link:https://github.com/FreeBSDFoundation/pkgbasify[pkgbasify], which for most users, will be the easiest and safest way to convert systems to use Base System packages. + +[WARNING] +==== +Note that this migration requires up to 5GiB additional free space, to download, unpack, and relocate any conflicting files. +The pkgbasify tool does not check for this and it is the responsibility of the user to ensure that enough space is available before running the migration. +==== + +man:pkgbasify[8] (or whatever outcome link:https://reviews.freebsd.org/D51594[D51594] or link:https://wiki.freebsd.org/WantedPorts#O-P[port request] will have) performs 6 main tasks: + +* Creates a backup boot environment (ZFS only) with man:bectl[8] +* Creates the new package repository config files +* Upgrades existing system components such as base, kernel, lib32, debug +* Merges existing and new config files +* Updates passwd and capabilities databases +* Restarts sshd immediately + +[source,shell] +.... +# cd /tmp +# fetch https://github.com/FreeBSDFoundation/pkgbasify/raw/refs/heads/main/pkgbasify.lua +# chmod +x pkgbasify.lua +# ./pkgbasify.lua +.... + +=== Upgrading a Host using pkgbase + +[WARNING] +==== +This is still in development, so please be careful especially when converting an existing system to use pkgbase. +==== + +Create a folder for custom pkg repository config files, if there is none present already. + +[source,shell] +.... +# mkdir -p /usr/local/etc/pkg/repos/ +.... + +For using the pkgbase repository, create a pkg repository configuration file called `FreeBSD-base.conf`: + +[[pgk-base-repo-configuration]] +[.programlisting] +.... +FreeBSD-base { + url = "pkg+https://pkg.freebsd.org/${ABI}/base_release_${VERSION_MINOR}"; + mirror_type = "srv"; + signature_type = "fingerprints"; + fingerprints = "/usr/share/keys/pkg"; + enabled = yes; +} +.... + +for more information on specific configuration options see man:pkg.conf[5]. + +There are different branches to choose from (by changing the url accordingly): + +[[table-of-packagebase-branches]] +.Base system package Branches +[cols="10%,20%,70%, options="header"] +|=== +| Branch +| Frequency +| URL + +| main +| twice daily - 12:00 and 00:00 UTC +| `https://pkg.freebsd.org/${ABI}/base_latest` + +| main +| weekly – Sunday at 12:00 UTC +| `https://pkg.freebsd.org/${ABI}/base_weekly` + +| stable/14 +| twice daily – 12:00 and 00:00 UTC +| `https://pkg.freebsd.org/${ABI}/base_latest` + +| stable/14 +| weekly – Sunday at 12:00 UTC +| `https://pkg.freebsd.org/${ABI}/base_weekly` + +| releng/14.2 +| twice daily – 12:00 and 00:00 UTC +| `https://pkg.freebsd.org/${ABI}/base_release_2` + +| releng/14.3 +| twice daily – 12:00 and 00:00 UTC +| `https://pkg.freebsd.org/${ABI}/base_release_3` +|=== + +To upgrade the system, change the configuration file according to the desired release, and run: + +[source,shell] +.... +# pkg update -r FreeBSD-base +# pkg upgrade -r FreeBSD-base +.... + +check, if these packages are correct and accept the changes. + +Reboot the OS executing the following command: + +[source,shell] +.... +# shutdown -r now +.... + +==== Performing Major version upgrades + +When running ZFS, consider creating a boot environment before upgrading to a newer version. +To create a new boot environment using the man:bectl[8] tool run: + +[source,shell] +.... +# bectl create 14.2-RELEASE-p4 +.... + +Use this boot environment to start the system as it was before the update if something goes wrong. + +Save a list of your non-base packages in case you need that later: + +[source,shell] +.... +pkg prime-origins | sort -u > /var/tmp/pkg-prime-origins.txt +.... + +Change `/usr/local/etc/pkg/repos/FreeBSD-base.conf` to target the correct major release like `base_latest`, so it looks like: + +[.programlisting] +.... +FreeBSD-base { + url = "pkg+https://pkg.freebsd.org/${ABI}/base_latest"; + mirror_type = "srv"; + signature_type = "fingerprints"; + fingerprints = "/usr/share/keys/pkg"; + enabled = yes; +} +.... + +The next step will upgrade your system to the specified version. + +[WARNING] +==== +This step might remove non-base packages, which could include your running desktop environment. +Be careful. +==== + +Set the environment variable ABI to upgrade the major version (replace amd64 with your architecture and 15 with your targeted version). + +[source,shell] +.... +# env ABI=FreeBSD:15:amd64 pkg-static upgrade -r FreeBSD-base +.... + +There will be a prompt to ask if you want to ignore the version mismatch looking like this: + +[source,shell] +.... +Newer FreeBSD version for package FreeBSD-zoneinfo: +To ignore this error set IGNORE_OSVERSION=yes +- package: 1500058 +- running userland: 1500000 +Ignore the mismatch and continue? [y/N]: +.... + +Check and confirm that. + +To check if that was successful, run `freebsd-version -kru`. + +Then reboot. + +After upgrading to a new major version, updates and upgrades of installed packages to match the ABI version may be necessary. + +[source,shell] +.... +# pkg update +# pkg upgrade +.... + +If something broke, go back and activate the backup boot environment created before. + +[source,shell] +.... +# bectl activate 14.2-RELEASE-p4 +.... +Reboot, and the system will be back to the state before upgrading. + +If you haven't created a boot environment, you might want to consider getting help from link:https://www.freebsd.org/support/[FreeBSD Support]. + +[[build-pkgbase-packages-locally]] +=== Manually building pkgbase and publishing it to the local network + +If you want to start building your own pkgbase packages clone the FreeBSD source tree: + +[source,shell] +.... +# cd /usr/src +# git clone https://github.com/freebsd/freebsd-src.git /usr/src +.... + +Check out the branch for the release to build packages for: + +[source,shell] +.... +# git checkout releng/14.3 +.... + +Start the building process, depending on the resources available this could take some while. +Set the parallel processes according to the CPU core count. + +This example is written for an 8 core CPU: + +[source,shell] +.... +# make -j8 buildworld && make -j8 buildkernel && make -j8 packages +.... + +When building frequently, consider using package:devel/ccache[] to speed up subsequent builds from the cache. + +After building, the packages will get saved into `/usr/obj/usr/src/repo/FreeBSD:14:amd64/14.3p2` or something like that, depending on the version build. + +To publish these packages to the network set up a nginx service and use this location in the http server configuration: + +[.programlisting] +.... + location /FreeBSD:14:amd64 { + alias /usr/obj/usr/src/repo/FreeBSD:14:amd64/; + autoindex on; + } +.... + +And reload the nginx service. + +When not using https, use a small configuration file on the clients to target the pkgbase version just built by editing `/usr/local/etc/pkg/repos/upgrade.conf`: + +[.programlisting] +.... +upgrade: { + url = http://ip.of.the.server/FreeBSD:14:amd64/14.3p2 + enabled = yes +} +.... + +and use it as written above (but use -r upgrade instead of FreeBSD-base). + [[small-lan]] == Tracking for Multiple Machines -When multiple machines need to track the same source tree, -it is a waste of disk space, network bandwidth, -and CPU cycles to have each system download the sources and rebuild everything. +When multiple machines need to track the same source tree, it is a waste of disk space, network bandwidth, and CPU cycles to have each system download the sources and rebuild everything. The solution is to have one machine do most of the work, while the rest of the machines mount that work via NFS. This section outlines a method of doing so. For more information about using NFS, refer to crossref:network-servers[network-nfs,"Network File System (NFS)"]. diff --git a/documentation/static/pgpkeys/emaste.key b/documentation/static/pgpkeys/emaste.key new file mode 100644 index 0000000000..7e79583675 --- /dev/null +++ b/documentation/static/pgpkeys/emaste.key @@ -0,0 +1,27 @@ +// sh addkey.sh emaste 7B9B8FC081B863CF ; + +[.literal-block-margin] +.... +pub ed25519/7B9B8FC081B863CF 2025-08-25 [SC] [expires: 2028-08-24] + Key fingerprint = D2D8 87C3 2C65 C322 914A DDCE 7B9B 8FC0 81B8 63CF +uid Ed Maste <emaste@FreeBSD.org> +sub cv25519/09BA94A9879D4F9D 2025-08-25 [E] [expires: 2028-08-24] + +.... + +[.literal-block-margin] +.... +-----BEGIN PGP PUBLIC KEY BLOCK----- + +mDMEaKu6uRYJKwYBBAHaRw8BAQdAvfAZBOCW42PeTuzMgCiICNQa1AI/UuvRg/G/ +Kx1qDvW0HUVkIE1hc3RlIDxlbWFzdGVARnJlZUJTRC5vcmc+iJkEExYKAEEWIQTS +2IfDLGXDIpFK3c57m4/AgbhjzwUCaKu6uQIbAwUJBaOagAULCQgHAgIiAgYVCgkI +CwIEFgIDAQIeBwIXgAAKCRB7m4/Agbhjz4C2AQCaJ0Jb60luV+jXeUNcen3uXSnM +siOpaKfgoYLSnfxOugEAoCe0FBOxkQTlw9RwIPABWOqmApXOeT12PXm+UiLhsA64 +OARoq7q5EgorBgEEAZdVAQUBAQdA5z9Oa9410sNK15TO9rRlxwX+BHPFsWRV51/2 +H985cBcDAQgHiH4EGBYKACYWIQTS2IfDLGXDIpFK3c57m4/AgbhjzwUCaKu6uQIb +DAUJBaOagAAKCRB7m4/Agbhjz+kUAQDpfG08VrCtCzCE9L/GiHwQsVua0eIIdxHR +nEQtpvvEPwD8CSc8pijyf/mjGKosha+vJBK3MI4dYc0M8X8a3RJ6Ggc= +=zvzt +-----END PGP PUBLIC KEY BLOCK----- +.... diff --git a/website/archetypes/release/hardware.adoc b/website/archetypes/release/hardware.adoc index aa172490eb..add4c11ce8 100644 --- a/website/archetypes/release/hardware.adoc +++ b/website/archetypes/release/hardware.adoc @@ -238,8 +238,6 @@ This means that some devices, which are supported by multiple drivers, may appea &hwlist.ahd; -&hwlist.man4.i386/aic; - &hwlist.amr; &hwlist.arcmsr; diff --git a/website/content/en/community/_index.adoc b/website/content/en/community/_index.adoc index cef3ed430f..1089705480 100644 --- a/website/content/en/community/_index.adoc +++ b/website/content/en/community/_index.adoc @@ -24,8 +24,6 @@ Last year there were {{< get-event-last-year-info "events" >}} events around the Last year there were {{< get-event-last-year-info "events" >}} events in {{< get-event-last-year-info "countries" >}} different countries around the world. //// -On twitter, you can follow https://twitter.com/freebsd[@freebsd], https://twitter.com/freebsdhelp[@freebsdhelp], or https://twitter.com/freebsdcore[@freebsdcore]. - On Reddit, you can find the FreeBSD community link:https://www.reddit.com/r/freebsd/[here]. Beyond officially run community spaces, there are many https://www.freebsd.org/usergroups/[User Groups], along with highly active FreeBSD communities on https://twitter.com/search?q=freebsd[Twitter], https://stackoverflow.com/questions/tagged/freebsd[StackOverflow], https://serverfault.com/questions/tagged/freebsd[ServerFault], and https://www.meetup.com/topics/freebsd/[MeetUp.com], among many other technology-related spaces. diff --git a/website/content/en/status/report-2025-04-2025-06/core.adoc b/website/content/en/status/report-2025-04-2025-06/core.adoc new file mode 100644 index 0000000000..db7df5119e --- /dev/null +++ b/website/content/en/status/report-2025-04-2025-06/core.adoc @@ -0,0 +1,28 @@ +=== FreeBSD Core Team + +Contact: FreeBSD Core Team <core@FreeBSD.org> + +The FreeBSD Core Team is the governing body of FreeBSD. + +==== Project roadmap + +Core is collecting ideas and comments to draft Project's roadmap. +It is an item core.13 thinks is worth to continue from core.12. +The roadmap is not about restricting or limiting what developers and contributors can do, but about the compiled goals and expectations of the Project and things the community can collaborate on. +It will also let the FreeBSD Foundation help the Project more effectively, so, this is an important discussion item for the meetings between core and the FreeBSD Foundation. + +==== Policy on generative AI created code and documentation + +Core is investigating setting up a policy for LLM/AI usage (including but not limited to generating code). +The result will be added to the Contributors Guide in the doc repository. +AI can be useful for translations (which seems faster than doing the work manually), explaining long/obscure documents, tracking down bugs, or helping to understand large code bases. +We currently tend to not use it to generate code because of license concerns. +The discussion continues at the core session at BSDCan 2025 developer summit, and core is still collecting feedback and working on the policy. + +==== Work in Progress + +Core is currently working on the following items: + +* Core and the FreeBSD Foundation are working on the 2025 edition of the Community survey +* Privacy-friendly web analytics, proposed by the Foundation. + An idea is to compare traffic flows between freebsd.org and freebsdfoundation.org diff --git a/website/data/en/events/events2025.toml b/website/data/en/events/events2025.toml index 1e75d1d8ab..18287cb1fb 100644 --- a/website/data/en/events/events2025.toml +++ b/website/data/en/events/events2025.toml @@ -45,5 +45,28 @@ endDate = "2025-09-28" countryCode = "HR" country = "Croatia" city = "Zagreb" -site = "TBA" +site = "Faculty of Electrical Engineering and Computing (FER)" description = "EuroBSDcon is the European annual technical conference gathering users and developers working on and with 4.4BSD (Berkeley Software Distribution) based operating systems family and related projects." + +[[events]] +id = "openzfs-2025" +name = "OpenZFS Developers Summit 2025" +url = "https://openzfs.org/wiki/OpenZFS_Developer_Summit_2025" +startDate = "2025-10-25" +endDate = "2025-10-28" +countryCode = "US" +country = "United States" +city = "Portland, OR" +site = "Hillsdale neighborhood" +description = "The goal of the event is to foster cross-community discussions of OpenZFS work and to make progress on some of the projects we have proposed. This 4-day event consisted of 2-day of User Summit, 1-day of Developer Summit, and a 1-day Developer Summit Hackathon." + +[[events]] +id = "freebsd-summit-2025" +name = "Fall 2025 FreeBSD Summit" +url = "https://freebsdfoundation.org/news-and-events/event-calendar/fall-2025-freebsd-summit/" +startDate = "2025-11-06" +endDate = "2025-11-07" +country = "United States" +city = "San Jose, CA" +site = "NetApp Campus" +description = "The FreeBSD Summit is an event held annually to bring the FreeBSD community together to learn, network, and drive FreeBSD use. Each year the event gathers FreeBSD users including: decision makers, software engineers, and individual contributors and users, to share best practices and successes in their use of FreeBSD. The FreeBSD Summit also provides the unique opportunity to discuss issues with the developer community in-person." diff --git a/website/themes/beastie/layouts/_partials/sidenav.html b/website/themes/beastie/layouts/_partials/sidenav.html index 7ccc4df3b4..8e1e211662 100644 --- a/website/themes/beastie/layouts/_partials/sidenav.html +++ b/website/themes/beastie/layouts/_partials/sidenav.html @@ -22,7 +22,6 @@ <li><a href="{{ "community/irc/" | absLangURL }}">IRC</a></li> <li><a href="{{ "community/mailinglists/" | absLangURL }}">{{ i18n "mailinglists" }}</a></li> <li><a href="https://www.reddit.com/r/freebsd/" target="_blank">Reddit</a></li> - <li><a href="https://twitter.com/freebsd" target="_blank">Twitter</a></li> <li><a href="{{ "usergroups" | absLangURL }}">{{ i18n "usergroups" }}</a></li> <li><a href="https://www.youtube.com/FreeBSDProject" target="_blank">YouTube</a></li> </ul> |