FreeBSD Archive

The FreeBSD desktop series

The FreeBSD Desktop series are about creating efficient desktop environment on the FreeBSD system. Why such series? Because telling someone who wants FreeBSD desktop to buy Mac instead is like telling someone who wants Linux desktop to buy Windows because it has WSL (Windows Subsystem for Linux) inside. This is one hell of a detailed and long series of articles – 21 of them. I’m not very well-versed in the world of BSD, and this series is making me want to give the world thing a go – just to learn and expand my horizons.

FreeBSD 12.2 released

FreeBSD 12.2 has been released. Changes include updates for the wireless stack for better 802.11n and 802.11ac support, the latest versions of OpenSSL and OpenSSH, and much more. On top of the changes comes an announcement in the release notes of a change for the i386 versions of FreeBSD, starting with FreeBSD 13.0. Starting with FreeBSD-13.0, the default CPUTYPE for the i386 architecture will change from 486 to 686. This means that, by default, binaries produced will require a 686-class CPU, including but not limited to binaries provided by the FreeBSD Release Engineering team. FreeBSD 13.0 will continue to support older CPUs, however users needing this functionality will need to build their own releases for official support. This won’t affect most users, but people with very specific needs should take note.

FreeBSD gets experimental PowerPC little-endian support, can now be built on Linux and macOS

The FreeBSD project has published its latest quarterly report, and there’s some good changes and improvements in there. First, there’s the project to allow FreeBSD to be built on non-FreeBSD hosts – Linux and macOS specifically. This project has made major headway. As of September 2020 it should be possible to use the buildworld and buildkernel make targets to build a fully-functional FreeBSD installation on macOS and Linux hosts. We use this in our continuous integration system to build and test CheriBSD disk images for multiple architectures. I have also committed a GitHub Actions configuration upstream that takes approximately 10 minutes to build an amd64 kernel. This will ensure that changes that break crossbuilding from Linux/macOS can be detected easily. Another major improvement is experimental support for little-endian PowerPC. Note, however, that this does not mean big-endian support is going away or being deprecated. As of r366063, experimental support for little-endian PowerPC64, (PowerPC64LE) is available in -CURRENT for POWER8 and POWER9 machines. There’s a lot more stuff to cover, so head on over and read the whole report for all the details.

GhostBSD 20.08.04 released

I am happy to announce the availability of GhostBSD 20.08.04. This release comes with kernel, OS and software application updates. We updated the MATE desktop to 1.24.0. A new interesting feature is the boot environment backup before updates. GhostBSD is one of the few desktop-oriented BSD ‘distributions’, and it’s based on FreeBSD.

I’m back into the grind of FreeBSD’s wireless stack and 802.11ac

Yes, it’s been a while since I posted here and yes, it’s been a while since I was actively working on FreeBSD’s wireless stack. Life’s been… Well, life. I started the ath10k port in 2015. I wasn’t expecting it to take 5 years, but here we are. My life has changed quite a lot since 2015 and a lot of the things I was doing in 2015 just stopped being fun for a while. But the stars have aligned and it’s fun again, so here I am. It’s always good when a good hacker gets back to what they do best after life has thrown them a curve ball.

FreeBSD is an amazing operating system

As mentioned previously, because FreeBSD is a real multi-purpose operating system with many different use cases, FreeBSD is very flexible and tuneable. Whether you want to run FreeBSD on your desktop computer or on your server, it provides many tuneable options that enables you to make it very performant. The options set out-of-the box may not suit your needs exactly, but then FreeBSD provides lots of documentation on how to get it to work as you need, and it provides a very helpful community with many people who has experience in dealing with many different situations and problems. I believe it is important to understand that FreeBSD is not like a GNU/Linux distribution. FreeBSD is an operating system made by developers who are also system administrators. This means that FreeBSD is supposed to be run by system administrators who understands how the system works. You cannot simply jump from something like Ubuntu, Fedora or OpenSUSE and then expect that you get the same experience on FreeBSD (I and a lot of other people would be extremely sad if that were the case). The BSDs just aren’t my thing. I’m not a developer, and I’m not a system administrator. Over the past six months or so, I’ve moved all my machines and all my workflows over to Linux – my laptop, my main PC (used for everything that isn’t translating), and my office PC (for my translation work), and I couldn’t be happier (in the interest of full disclosure, I do keep Windows around on my main PC for possible future Windows-only games, and I have a Windows 10 virtual machine on my office PC for some Windows-specific translation software I need to keep around). As I was planning this careful migration, I never once considered using any of the BSDs. For the simpler, almost exclusively desktop oriented work that I do, BSD just doesn’t seem like the right tool for the job – and that’s okay, I’m not the target audience – and I suspect there are many people like me. I think the BSDs are stronger for not trying to be everything to all people, and this more focused development seems to be exactly why someone chooses BSD over Linux. And I see no reason why anybody should want to change that.

FreeBSD 12.1 released

The FreeBSD Release Engineering Team is pleased to announce the availability of FreeBSD 12.1-RELEASE. This is the second release of the stable/12 branch. Some of the highlights: • BearSSL has been imported to the base system.• The clang, llvm, lld, lldb, compiler-rt utilities and libc++ have been updated to version 8.0.1.• OpenSSL has been updated to version 1.1.1d.• Several userland utility updates. The full release notes has all the details about this new release, and you can download it from the usual place for amd64, i386, powerpc, powerpc64, powerpcspe, sparc64, armv6, armv7, and aarch64.

ZFS on FreeBSD based on ZFS On Linux can now be tested with TrueOS

It was recently decided that FreeBSD’s ZFS file-system support would be re-based atop ZFS On Linux. That new “ZFS On BSD” implementation based on ZOL continues moving along and it’s now easier to test thanks to iX Systems and their TrueOS platform. With the ZFS On Linux code-base being more actively maintained and improved upon than the OpenZFS support within the Illumos kernel, FreeBSD developers are working on merging their “ZOB” changes with ZOL.  Interesting to see that the Linux implementation sees more active development than the original one – although not entirely surprising.

FreeBSD desktop: pause any application

After using UNIX for so many years I knew that I could freeze (or pause) any process in the system with kill -17 (SIGSTOP) signal and then unfreeze it with with kill -19 (SIGCONT) signal as I described in the Process Management section of the Ghost in the Shell - Part 2 article. Doing it that way for the desktop applications is PITA to say the least. Can you imagine opening xterm terminal and searching for all Chromium or Firefox processes and then freezing them one by one every time you need it? Me neither.

Fortunately with introduction of so called X11 helper utilities - like xdotool(1) - it is now possible to implement it in more usable manner.

Today I will show you how to freeze any X11 application with single keyboard shortcut or mouse gesture if you utilize them in any way with small simple script.

Handy little trick. The entire series of articles by the same author about FreeBSD on the desktop are interesting and informative reads.

Today is FreeBSD Day

We're pleased to announce that June 19 has been declared FreeBSD Day. Join us in honoring The FreeBSD Project's pioneering legacy and continuing impact on technology.

Why today? Well, 25 years ago to the day, the name FreeBSD was chosen as the name for the project. FreeBSD formed the base of all kinds of operating systems we use every day today - like macOS and iOS and the operating systems on the Nintendo Switch and Playstation 3, 4, and Vita - and FreeBSD code can be found in the unlikeliest of places, such as Haiku, which uses FreeBSD network drivers, and even Windows, which, although information is sparse, seemed to at one point use FreeBSD code for command-line networking utilities like ftp, nslookup, rcp, and rsh.

FreeBSD quarterly status report Q2 2017

Much of the development work done this quarter was not particularly visible, especially the effort needed to ensure the upcoming 11.1 release has as few regressions as possible. Planning is also well under way for the 10.4 maintenance release which will quickly follow it.

Further work focused on moving the arm architectures' support closer to tier-1 status and improving documentation. In addition, large changes were made to the src and ports trees.

FreeBSD 11.0-RELEASE released

The FreeBSD Release Engineering Team is pleased to announce the availability of FreeBSD 11.0-RELEASE. This is the first release of the stable/11 branch.

Some of the highlights:

  • OpenSSH DSA key generation has been disabled by default. It is important to update OpenSSH keys prior to upgrading. Additionally, Protocol 1 support has been removed.
  • OpenSSH has been updated to 7.2p2.
  • Wireless support for 802.11n has been added.
  • By default, the ifconfig(8) utility will set the default regulatory domain to FCC on wireless interfaces. As a result, newly created wireless interfaces with default settings will have less chance to violate country-specific regulations.
  • The svnlite(1) utility has been updated to version 1.9.4.
  • The libblacklist(3) library and applications have been ported from the NetBSD Project.
  • Support for the AArch64 (arm64) architecture has been added.
  • Native graphics support has been added to the bhyve(8) hypervisor.
  • Broader wireless network driver support has been added.

The release notes provide the in-depth look at the new release, and you can get it from the download page.

New FreeBSD Quarterly Status Report published

The latest FreeBSD Quarterly Status Report is out.

Efforts to bring our BSD high standards to new architectures continue, with impressive work on arm64 leading to its promotion to Tier-2 status and a flurry of work bringing up the new RISC-V hardware architecture. Software architecture is also under active development, including system startup and service management. A handful of potential init system replacements are mentioned in this report: launchd, relaunchd, and nosh. Architectural changes originating both from academic research (multipath TCP) and from the realities of industry (sendfile(2) improvements) are also under way. It is heartening to see how FreeBSD provides a welcoming platform for contributions from both research and industry.

Everything you need to know to be up to date with FreeBSD.

From OS X to FreeBSD: a return to form

I am less frustrated, and more focused working on this setup. A big chunk of that is even outside the constant popups in OS X, there's simply less to be distracted by.

I've gone so far as to have to literally switch a cable to move between machines (as opposed to a KVM), to help me train my brain into a different context.

Overall I'm quite happy with the choices I made here.

A nice write-up from someone switching from OS X to FreeBSD, and everything that entails.