BSD Now Video Feed

BSD Now Video Feed

By Allan JudeTechnology
Download on the App Store

BSD Now Video Feed episodes

  • Entropy Overhaul | BSD Now 349

    Encrypted Crash Dumps in FreeBSD, Time on Unix, Improve ZVOL sync write performance with a taskq, central log host with syslog-ng, NetBSD Entropy overhaul, Setting Up NetBSD Kernel Dev Environment, and more.

    Headlines
    EKCD - Encrypted Crash Dumps in FreeBSD

    Some time ago, I was describing how to configure networking crash dumps. In that post, I mentioned that there is also the possibility to encrypt crash dumps. Today we will look into this functionality. Initially, it was implemented during Google Summer of Code 2013 by my friend Konrad Witaszczyk, who made it available in FreeBSD 12. If you can understand Polish, you can also look into his presentation on BSD-PL on which he gave a comprehensive review of all kernel crash dumps features.

    The main issue with crash dumps is that they may include sensitive information available in memory during a crash. They will contain all the data from the kernel and the userland, like passwords, private keys, etc. While dumping them, they are written to unencrypted storage, so if somebody took out the hard drive, they could access sensitive data. If you are sending a crash dump through the network, it may be captured by third parties. Locally the data are written directly to a dump device, skipping the GEOM subsystem. The purpose of that is to allow a kernel to write a crash dump even in case a panic occurs in the GEOM subsystem. It means that a crash dump cannot be automatically encrypted with GELI.

    Time on Unix

    Time, a word that is entangled in everything in our lives, something we’re intimately familiar with. Keeping track of it is important for many activities we do.

    Over millennia we’ve developed different ways to calculate it. Most prominently, we’ve relied on the position the sun appears to be at in the sky, what is called apparent solar time.

    We’ve decided to split it as seasons pass, counting one full cycle of the 4 seasons as a year, a full rotation around the sun. We’ve also divided the passing of light to the lack thereof as days, a rotation of the earth on itself. Moving on to more precise clock divisions such as seconds, minutes, and hours, units that meant different things at different points in history. Ultimately, as travel got faster, the different ways of counting time that evolved in multiple places had to converge. People had to agree on what it all meant.

    See the article for more

    News Roundup
    Improve ZVOL sync write performance by using a taskq
    A central log host with syslog-ng on FreeBSD - Part 1

    syslog-ng is the Swiss army knife of log management. You can collect logs from any source, process them in real time and deliver them to wide range of destinations. It allows you to flexibly collect, parse, classify, rewrite and correlate logs from across your infrastructure. This is why syslog-ng is the perfect solution for the central log host of my (mainly) FreeBSD based infrastructure.

    HEADS UP: NetBSD Entropy Overhaul

    This week I committed an overhaul of the kernel entropy system. Please let me know if you observe any snags! For the technical background, see the thread on tech-kern a few months ago: https://mail-index.NetBSD.org/tech-kern/2019/12/21/msg025876.html.

    Setting Up NetBSD Kernel Dev Environment

    I used T_PAGEFLT’s blog post as a reference for setting my NetBSD kernel development environment since his website is down I’m putting down the steps here so it would be helpful for starters.

    Beastie Bits
    • You can now use ccache to speed up dsynth even more.
    • Improving libossaudio, and the future of OSS in NetBSD
    • DragonFlyBSD DHCPCD Import dhcpcd-9.0.2 with the following changes
    • Reminder: watch this space for upcoming FreeBSD Office Hours, next is May 13th at 2pm Eastern, 18:00 UTC
    • Feedback/Questions
      • Ghislain - ZFS Question
      • Jake - Paypal Donations
      • Oswin - Hammer tutorial
        • Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [email protected]
        • Your browser does not support the HTML5 video tag.

          0 min
        • BSD Community Collections | BSD Now 348

          FuryBSD 2020Q2 Images Available, Technical reasons to choose FreeBSD over GNU/Linux, Ars technica reviews GhostBSD, “TLS Mastery” sponsorships open, BSD community show their various collections, a tale of OpenBSD secure memory allocator internals, learn to stop worrying and love SSDs, and more.

          Headlines
          FuryBSD 2020Q2 Images Available for XFCE and KDE

          The Q2 2020 images are not a visible leap forward but a functional leap forward. Most effort was spent creating a better out of box experience for automatic Ethernet configuration, working WiFi, webcam, and improved hypervisor support.

          Technical reasons to choose FreeBSD over GNU/Linux

          Since I wrote my article "Why you should migrate everything from Linux to BSD" I have been wanting to write something about the technical reasons to choose FreeBSD over GNU/Linux and while I cannot possibly cover every single reason, I can write about some of the things that I consider worth noting.

          News Roundup
          + Not actually Linux distro review deux: GhostBSD

          When I began work on the FreeBSD 12.1-RELEASE review last week, it didn't take long to figure out that the desktop portion wasn't going very smoothly.

          I think it's important for BSD-curious users to know of easier, gentler alternatives, so I did a little looking around and settled on GhostBSD for a follow-up review.

          GhostBSD is based on TrueOS, which itself derives from FreeBSD Stable. It was originally a Canadian distro, but—like most successful distributions—it has transcended its country of origin and can now be considered worldwide. Significant GhostBSD development takes place now in Canada, Italy, Germany, and the United States.

          “TLS Mastery” sponsorships open

          My next book will be TLS Mastery, all about Transport Layer Encryption, Let’s Encrypt, OCSP, and so on.

          This should be a shorter book, more like my DNSSEC or Tarsnap titles, or the first edition of Sudo Mastery. I would like a break from writing doorstops like the SNMP and jails books.

          JT (our producer) shared his Open Source Retail Box Collection on twitter this past weekend and there was a nice response from a few in the BSD Community showing their collections:
          • JT's post: https://twitter.com/q5sys/status/1251194823589138432

            • High Resolution Image to see the bottom shelf better: https://photos.smugmug.com/photos/i-9QTs2RR/0/f1742096/O/i-9QTs2RR.jpg
            • Closeup of the BSD Section: https://twitter.com/q5sys/status/1251294290782928897
            • Others jumped in with their collections:

              • Deb Goodkin's collection: https://twitter.com/dgoodkin/status/1251294016139743232 & https://twitter.com/dgoodkin/status/1251298125672660992
              • FreeBSD Frau's FreeBSD Collection: https://twitter.com/freebsdfrau/status/1251290430475350018
              • Jason Tubnor's OpenBSD Collection: https://twitter.com/Tubsta/status/1251265902214918144
              • Do you have a nice collection, take a picture and send it in!

                Tale of OpenBSD secure memory allocator internals - malloc(3)

                Hi there,

                It's been a very long time I haven't written anything after my last OpenBSD blogs, that is,

                OpenBSD Kernel Internals — Creation of process from user-space to kernel space.

                OpenBSD: Introduction to execpromises in the pledge(2)

                pledge(2): OpenBSD's defensive approach to OS Security

                So, again I started reading OpenBSD source codes with debugger after reducing my sleep timings and managing to get some time after professional life. This time I have picked one of my favourite item from my wishlist to learn and share, that is, OpenBSD malloc(3), secure allocator

                How I learned to stop worrying and love SSDs

                my home FreeNAS runs two pools for data. One RAIDZ2 with four spinning disk drives and one mirror with two SSDs. Toying with InfluxDB and Grafana in the last couple of days I found that I seem to have a constant write load of 1 Megabyte (!) per second on the SSDs. What the ...?

                So I run three VMs on the SSDs in total. One with Windows 10, two with Ubuntu running Confluence, A wiki essentially, with files for attachments and MySQL as the backend database. Clearly the writes had to stop when the wikis were not used at all, just sitting idle, right?

                Well even with a full query log and quite some experience in the operation of web applications I could not figure out what Confluence is doing (productively, no doubt) but trust me, it writes a couple of hundred kbytes to the database each second just sitting idle.

                My infrastructure as of 2019

                I've wanted to write about my infrastructure for a while, but I kept thinking, "I'll wait until after I've done $next_thing_on_my_todo." Of course this cycle never ends, so I decided to write about its state at the end of 2019. Maybe I'll write an update on it in a couple of moons; who knows?

                For something different than our usual Beastie Bits… we bring you…
                We're all quarantined so lets install BSD on things! Install BSD on something this week, write it up and let us know about it, and maybe we'll feature you!
                • Installation of NetBSD on a Mac Mini

                • OpenBSD on the HP Envy 13

                • Install NetBSD on a Vintage Computer

                • BSDCan Home Lab Panel recording session: May 5th at 18:00 UTC

                • Allan started a series of FreeBSD Office Hours

                • BSDNow is going Independent
                  • After being part of Jupiter Broadcasting since we started back in 2013, BSDNow is moving to become independent. We extend a very large thank you to Jupiter Broadcasting and Linux Academy for hosting us for so many years, and allowing us to bring you over 100 episodes without advertisements.
                  • What does this mean for you, the listener? Not much will change, just make sure your subscription is via the RSS feed at BSDNow.tv rather than one of the Jupiter Broadcasting feeds. We will update you with more news as things settle out.
                    Feedback/Questions
                    • Todd - LinusTechTips Claims about ZFS
                      • Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [email protected]
                      • Your browser does not support the HTML5 video tag.

                        0 min
                      • New Directions | BSD Now 347

                        Rethinking OpenBSD security, FreeBSD 2020 Q1 status report, the notion of progress and user interfaces, Comments about Thomas E. Dickey on NetBSD curses, making Unix a little more Plan9-like, Not-actually Linux distro review: FreeBSD, and more.

                        Headlines
                        Rethinking OpenBSD Security

                        OpenBSD aims to be a secure operating system. In the past few months there were quite a few security errata, however. That’s not too unusual, but some of the recent ones were a bit special. One might even say bad. The OpenBSD approach to security has a few aspects, two of which might be avoiding errors and minimizing the risk of mistakes. Other people have other ideas about how to build secure systems. I think it’s worth examining whether the OpenBSD approach works, or if this is evidence that it’s doomed to failure.

                        I picked a few errata, not all of them, that were interesting and happened to suit my narrative.

                        FreeBSD 2020 Q1 Quarterly report

                        Welcome, to the quarterly reports, of the future! Well, at least the first quarterly report from 2020. The new timeline, mentioned in the last few reports, still holds, which brings us to this report, which covers the period of January 2020 - March 2020.

                        News Roundup
                        The Notion of Progress and User Interfaces

                        One trait of modern Western culture is the notion of progress. A view claiming, at large, everything is getting better and better.

                        How should we think about progress? Both in general and regarding technology?

                        Thomas E. Dickey on NetBSD curses

                        I was recently pointed at a web page on Thomas E. Dickeys site talking about NetBSD curses. It seems initially that the page was intended to be a pointer to some differences between ncurses and NetBSD curses and does appear to start off in this vein but it seems that the author has lost the plot as the document evolved and the tail end of it seems to be devolving into some sort of slanging match. I don't want to go through Mr. Dickey's document point by point, that would be tedious but I would like to pick out some of the things that I believe to be the most egregious. Please note that even though I am a NetBSD developer, the opinions below are my own and not the NetBSD projects.

                        Making Unix a little more Plan9-like

                        I’m not really interested in defending anything. I tried out plan9port and liked it, but I have to live in Unix land. Here’s how I set that up.

                        A Warning

                        The suckless community, and some of the plan9 communities, are dominated by jackasses. I hope that’s strong enough wording to impress the severity. Don’t go into IRC for help. Stay off the suckless email list. The software is great, the people who write it are well-spoken and well-reasoned, but for some reason the fandom is horrible to everyone.

                        Not-actually Linux distro review: FreeBSD 12.1-RELEASE

                        This month's Linux distro review isn't of a Linux distribution at all—instead, we're taking a look at FreeBSD, the original gangster of free Unix-like operating systems.

                        The first FreeBSD release was in 1993, but the operating system's roots go further back—considerably further back. FreeBSD started out in 1992 as a patch-release of Bill and Lynne Jolitz's 386BSD—but 386BSD itself came from the original Berkeley Software Distribution (BSD). BSD itself goes back to 1977—for reference, Linus Torvalds was only seven years old then.

                        Before we get started, I'd like to acknowledge something up front—our distro reviews include the desktop experience, and that is very much not FreeBSD's strength. FreeBSD is far, far better suited to running as a headless server than as a desktop! We're going to get a full desktop running on it anyway, because according to Lee Hutchinson, I hate myself—and also because we can't imagine readers wouldn't care about it.

                        FreeBSD does not provide a good desktop experience, to say the least. But if you're hankering for a BSD-based desktop, don't worry—we're already planning a followup review of GhostBSD, a desktop-focused BSD distribution.

                        Beastie Bits
                        • Wifi renewal restarted
                        • HAMMER2 and a quick start for DragonFly
                        • Engineering NetBSD 9.0
                        • Antivirus Protection using OPNsense Plugins
                        • BSDCan Home Lab Panel recording session: May 5th at 18:00 UTC
                        • BSDNow is going Independent
                          • After being part of Jupiter Broadcasting since we started back in 2013, BSDNow is moving to become independent. We extend a very large thank you to Jupiter Broadcasting and Linux Academy for hosting us for so many years, and allowing us to bring you over 100 episodes without advertisements. LinuxAcademy is now under new leadership, and we understand that cutbacks needed to be made, and that BSD is not their core product. That does not mean your favourite BSD podcast is going away, we will continue and we expect things will not look much different.
                          • What does this mean for you, the listener? Not much will change, just make sure your subscription is via the RSS feed at BSDNow.tv rather than one of the Jupiter Broadcasting feeds. We will update you with more news as things settle out.
                            Feedback/Questions
                            • Jordyn - ZFS Pool Problem

                              • debug - https://github.com/BSDNow/bsdnow.tv/raw/master/episodes/347/feedback/dbg.txt
                              • Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [email protected]

                              • Your browser does not support the HTML5 video tag.

                                0 min
                              • Core File Tales | BSD Now 346

                                Tales from a core file, Lenovo X260 BIOS Update with OpenBSD, the problem of Unix iowait and multi-CPU machines, Hugo workflow using FreeBSD Jails, Caddy, Restic; extending NetBSD-7 branch support, a tale of two hypervisor bugs, and more.

                                Headlines
                                Tales From a Core File - Lessons from the Unix stdio ABI: 40 Years Later

                                On the side, I’ve been wrapping up some improvements to the classic Unix stdio libraries in illumos. stdio contains the classic functions like fopen(), printf(), and the security nightmare gets(). While working on support for fmemopen() and friends I got to reacquaint myself with some of the joys of the stdio ABI and its history from 7th Edition Unix. With that in mind, let’s dive into this, history, and some mistakes not to repeat. While this is written from the perspective of the C programming language, aspects of it apply to many other languages.

                                Update Lenovo X260 BIOS with OpenBSD

                                My X260 only runs OpenBSD and has no CD driver. But I still need to upgrade its BIOS from time to time. And this is possible using the ISO BIOS image.

                                First off all, you need to download the “BIOS Update (Bootable CD)” from the Lenovo Support Website.

                                News Roundup
                                The problem of Unix iowait and multi-CPU machines

                                Various Unixes have had a 'iowait' statistic for a long time now (although I can't find a source for where it originated; it's not in 4.x BSD, so it may have come through System V and sar). The traditional and standard definition of iowait is that it's the amount of time the system was idle but had at least one process waiting on disk IO. Rather than count this time as 'idle' (as you would if you had a three-way division of CPU time between user, system, and idle), some Unixes evolved to count this as a new category, 'iowait'.

                                My Latest Self Hosted Hugo Workflow using FreeBSD Jails, Caddy, Restic and More

                                After hosting with Netlify for a few years, I decided to head back to self hosting. Theres a few reasons for that but the main reasoning was that I had more control over how things worked.

                                In this post, i’ll show you my workflow for deploying my Hugo generated site (www.jaredwolff.com). Instead of using what most people would go for, i’ll be doing all of this using a FreeBSD Jails based server. Plus i’ll show you some tricks i’ve learned over the years on bulk image resizing and more.

                                Let’s get to it.

                                Extending support for the NetBSD-7 branch

                                Typically, some time after releasing a new NetBSD major version (such as NetBSD 9.0), we will announce the end-of-life of the N-2 branch, in this case NetBSD-7.

                                We've decided to hold off on doing that to ensure our users don't feel rushed to perform a major version update on any remote machines, possibly needing to reach the machine if anything goes wrong.

                                Security fixes will still be made to the NetBSD-7 branch.

                                We hope you're all safe. Stay home.

                                Tale of two hypervisor bugs - Escaping from FreeBSD bhyve

                                VM escape has become a popular topic of discussion over the last few years. A good amount of research on this topic has been published for various hypervisors like VMware, QEMU, VirtualBox, Xen and Hyper-V. Bhyve is a hypervisor for FreeBSD supporting hardware-assisted virtualization. This paper details the exploitation of two bugs in bhyve - FreeBSD-SA-16:32.bhyve (VGA emulation heap overflow) and CVE-2018-17160 (Firmware Configuration device bss buffer overflow) and some generic techniques which could be used for exploiting other bhyve bugs. Further, the paper also discusses sandbox escapes using PCI device passthrough, and Control-Flow Integrity bypasses in HardenedBSD 12-CURRENT

                                Beastie Bits
                                • GhostBSD 20.02 Overview
                                • FuryBSD 12.1 Overview
                                • > Joe Maloney got in touch to say that the issues in the video and other ones found have since been fixed. Now that's community feedback in action, and an example of a developer who does his best to help the community. A great guy indeed.
                                • OS108-9.0 amd64 MATE released
                                • FreeBSD hacking: carp panics & test
                                • Inaugural FreeBSD Office Hours
                                • Feedback/Questions
                                  • Shody - systemd question
                                  • Ben - GELI and GPT
                                  • Stig - DIY NAS
                                    • Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [email protected]
                                    • Your browser does not support the HTML5 video tag.

                                      0 min
                                    • Switchers to BSD | BSD Now 345

                                      NetBSD 8.2 is available, NextCloud on OpenBSD, X11 screen locking, NetBSD and RISC OS running parallel, community feedback about switching to BSD, and more.

                                      Headlines
                                      NetBSD 8.2 is available!

                                      The third release in the NetBSD-8 is now available.

                                      This release includes all the security fixes in NetBSD-8 up until this point, and other fixes deemed important for stability.

                                      • Some highlights include:
                                        • x86: fixed regression in booting old CPUs
                                        • x86: Hyper-V Gen.2 VM framebuffer support
                                        • httpd(8): fixed various security issues
                                        • ixg(4): various fixes / improvements
                                        • x86 efiboot: add tftp support, fix issues on machines with many memory segments, improve graphics mode logic to work on more machines.
                                        • Various kernel memory info leaks fixes
                                        • Update expat to 2.2.8
                                        • Fix ryzen USB issues and support xHCI version 3.10.
                                        • Accept root device specification as NAME=label.
                                        • Add multiboot 2 support to x86 bootloaders.
                                        • Fix for CVE-2019-9506: 'Key Negotiation of Bluetooth' attack.
                                        • nouveau: limit the supported devices and fix firmware loading.
                                        • radeon: fix loading of the TAHITI VCE firmware.
                                        • named(8): stop using obsolete dnssec-lookaside.
                                        • NextCloud on OpenBSD

                                          NextCloud and OpenBSD are complementary to one another. NextCloud is an awesome, secure and private alternative for proprietary platforms, whereas OpenBSD forms the most secure and solid foundation to serve it on. Setting it up in the best way isn’t hard, especially using this step by step tutorial.

                                          • Preface
                                          • Back when this tutorial was initially written, things were different. The OpenBSD port relied on PHP 5.6 and there were no package updates. But the port improved (hats off, Gonzalo!) and package updates were introduced to the -stable branch (hats off, Solene!).

                                            A rewrite of this tutorial was long overdue. Right now, it is written for 6.6 -stable and will be updated once 6.7 is released. If you have any questions or desire some help, feel free to reach out.

                                            News Roundup
                                            X11 screen locking: a secure and modular approach

                                            For years I’ve been using XScreenSaver as a default, but I recently learned about xsecurelock and re-evaluated my screen-saving requirements

                                            NetBSD and RISC OS running parallel

                                            I have been experimenting with running two systems at the same time on the RK3399 SoC.

                                            It all begun when I figured out how to switch to the A72 cpu for RISC OS. When the switch was done, the A53 cpu just continued to execute code.
                                            OK I thought why not give it something to do!
                                            My first step was to run some small programs.
                                            It worked!

                                            • Thanks to Tom Jones for the pointer to this article
                                            • Several weeks ago we covered a story about switching from Linux to BSD. Benedict and JT asked for community feedback as to their thoughts on the matter. Allan was out that week, so this will give him an opportunity to chime in with his thoughts as well.
                                              • Jamie - Dumping Linux for BSD
                                              • Matt - BSD Packaging
                                              • Brad - Linux vs BS
                                              • MJ - Linux vs BSD Feedback
                                              • Ben - Feedback for JT
                                              • Henrik - Why you should migrate everything to BSD
                                              • Beastie Bits
                                                • ssh-copy-id now included
                                                • OPNsense 20.1.3 released
                                                • A Collection of prebuilt BSD Cloud Images
                                                • Instant terminal sharing
                                                • Feedback/Questions
                                                  • Ales - Manually verify signature files for pkg package
                                                  • Shody - Yubikey
                                                  • Mike - Site for hashes from old disks
                                                    • Answer: https://docs.google.com/spreadsheets/d/19FmLs0jXxLkxAr0zwgdrXQd1qhbwvNHH6NvolvXKWTM/edit?usp=sharing
                                                      • Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [email protected]
                                                      • Your browser does not support the HTML5 video tag.

                                                        0 min
                                                      • Grains of Salt | BSD Now 344

                                                        Shell text processing, data rebalancing on ZFS mirrors, Add Security Headers with OpenBSD relayd, ZFS filesystem hierarchy in ZFS pools, speeding up ZSH, How Unix pipes work, grow ZFS pools over time, the real reason ifconfig on Linux is deprecated, clear your terminal in style, and more.

                                                        Headlines
                                                        Text processing in the shell

                                                        This article is part of a self-published book project by Balthazar Rouberol and Etienne Brodu, ex-roommates, friends and colleagues, aiming at empowering the up and coming generation of developers. We currently are hard at work on it!

                                                        One of the things that makes the shell an invaluable tool is the amount of available text processing commands, and the ability to easily pipe them into each other to build complex text processing workflows. These commands can make it trivial to perform text and data analysis, convert data between different formats, filter lines, etc.

                                                        When working with text data, the philosophy is to break any complex problem you have into a set of smaller ones, and to solve each of them with a specialized tool.

                                                        Rebalancing data on ZFS mirrors

                                                        One of the questions that comes up time and time again about ZFS is “how can I migrate my data to a pool on a few of my disks, then add the rest of the disks afterward?”

                                                        If you just want to get the data moved and don’t care about balance, you can just copy the data over, then add the new disks and be done with it. But, it won’t be distributed evenly over the vdevs in your pool.

                                                        Don’t fret, though, it’s actually pretty easy to rebalance mirrors. In the following example, we’ll assume you’ve got four disks in a RAID array on an old machine, and two disks available to copy the data to in the short term.

                                                        News Roundup
                                                        Using OpenBSD relayd to Add Security Headers

                                                        I am a huge fan of OpenBSD’s built-in httpd server as it is simple, secure, and quite performant. With the modern push of the large search providers pushing secure websites, it is now important to add security headers to your website or risk having the search results for your website downgraded. Fortunately, it is very easy to do this when you combine httpd with relayd. While relayd is principally designed for layer 3 redirections and layer 7 relays, it just so happens that it makes a handy tool for adding the recommended security headers. My website automatically redirects users from http to https and this gets achieved using a simple redirection in /etc/httpd.conf So if you have a configuration similar to mine, then you will still want to have httpd listen on the egress interface on port 80. The key thing to change here is to have httpd listen on 127.0.0.1 on port 443.

                                                        How we set up our ZFS filesystem hierarchy in our ZFS pools

                                                        Our long standing practice here, predating even the first generation of our ZFS fileservers, is that we have two main sorts of filesystems, home directories (homedir filesystems) and what we call 'work directory' (workdir) filesystems. Homedir filesystems are called /h/NNN (for some NNN) and workdir filesystems are called /w/NNN; the NNN is unique across all of the different sorts of filesystems. Users are encouraged to put as much stuff as possible in workdirs and can have as many of them as they want, which mattered a lot more in the days when we used Solaris DiskSuite and had fixed-sized filesystems.

                                                        Speeding up ZSH

                                                        https://web.archive.org/web/20200315184849/https://blog.jonlu.ca/posts/speeding-up-zsh

                                                        I was opening multiple shells for an unrelated project today and noticed how abysmal my shell load speed was. After the initial load it was relatively fast, but the actual shell start up was noticeably slow. I timed it with time and these were the results.

                                                        In the future I hope to actually recompile zsh with additional profiling techniques and debug information - keeping an internal timer and having a flag output current time for each command in a tree fashion would make building heat maps really easy.

                                                        How do Unix Pipes work

                                                        Pipes are cool! We saw how handy they are in a previous blog post. Let’s look at a typical way to use the pipe operator. We have some output, and we want to look at the first lines of the output. Let’s download The Brothers Karamazov by Fyodor Dostoevsky, a fairly long novel.

                                                        What we do to enable us to grow our ZFS pools over time

                                                        In my entry on why ZFS isn't good at growing and reshaping pools, I mentioned that we go to quite some lengths in our ZFS environment to be able to incrementally expand our pools. Today I want to put together all of the pieces of that in one place to discuss what those lengths are.

                                                        Our big constraint is that not only do we need to add space to pools over time, but we have a fairly large number of pools and which pools will have space added to them is unpredictable. We need a solution to pool expansion that leaves us with as much flexibility as possible for as long as possible. This pretty much requires being able to expand pools in relatively small increments of space.

                                                        Linux maintains bugs: The real reason ifconfig on Linux is deprecated

                                                        In my third installment of FreeBSD vs Linux, I will discuss underlying reasons for why Linux moved away from ifconfig(8) to ip(8).

                                                        In the past, when people said, “Linux is a kernel, not an operating system”, I knew that was true but I always thought it was a rather pedantic criticism. Of course no one runs just the Linux kernel, you run a distribution of Linux. But after reviewing userland code, I understand the significant drawbacks to developing “just a kernel” in isolation from the rest of the system.

                                                        Clear Your Terminal in Style

                                                        if you’re someone like me who habitually clears their terminal, sometimes you want a little excitement in your life. Here is a way to do just that.

                                                        This post revolves around the idea of giving a command a percent chance of running. While the topic at hand is not serious, this simple technique has potential in your scripts.

                                                        Feedback/Questions
                                                        • Guy - AMD GPU Help
                                                        • MLShroyer13 - VLANs and Jails
                                                        • Master One - ZFS Suspend/resume
                                                          • Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [email protected]
                                                          • Your browser does not support the HTML5 video tag.

                                                            0 min
                                                          • FreeBSD, Corona: Fight! | BSD Now 343

                                                            Fighting the Coronavirus with FreeBSD, Wireguard VPN Howto in OPNsense, NomadBSD 1.3.1 available, fresh GhostBSD 20.02, New FuryBSD XFCE and KDE images, pf-badhost 0.3 released, and more.

                                                            Headlines
                                                            Fighting the Coronavirus with FreeBSD

                                                            Here is a quick HOWTO for those who want to provide some FreeBSD based compute resources to help finding vaccines.

                                                            UPDATE 2020-03-22: 0mp@ made a port out of this, it is in “biology/linux-foldingathome”.

                                                            Per default it will now pick up some SARS-CoV‑2 (COVID-19) related folding tasks. There are some more config options (e.g. how much of the system resources are used). Please refer to the official Folding@Home site for more information about that. Be also aware that there is a big rise in compute resources donated to Folding@Home, so the pool of available work units may be empty from time to time, but they are working on adding more work units. Be patient.

                                                            How to configure the Wireguard VPN in OPNsense

                                                            WireGuard is a modern designed VPN that uses the latest cryptography for stronger security, is very lightweight, and is relatively easy to set up (mostly). I say ‘mostly’ because I found setting up WireGuard in OPNsense to be more difficult than I anticipated. The basic setup of the WireGuard VPN itself was as easy as the authors claim on their website, but I came across a few gotcha's. The gotcha's occur with functionality that is beyond the scope of the WireGuard protocol so I cannot fault them for that. My greatest struggle was configuring WireGuard to function similarly to my OpenVPN server. I want the ability to connect remotely to my home network from my iPhone or iPad, tunnel all traffic through the VPN, have access to certain devices and services on my network, and have the VPN devices use my home's Internet connection.

                                                            WireGuard behaves more like a SSH server than a typical VPN server. With WireGuard, devices which have shared their cryptographic keys with each other are able to connect via an encrypted tunnel (like a SSH server configured to use keys instead of passwords). The devices that are connecting to one another are referred to as “peer” devices. When the peer device is an OPNsense router with WireGuard installed, for instance, it can be configured to allow access to various resources on your network. It becomes a tunnel into your network similar to OpenVPN (with the appropriate firewall rules enabled). I will refer to the WireGuard installation on OPNsense as the server rather than a “peer” to make it more clear which device I am configuring unless I am describing the user interface because that is the terminology used interchangeably by WireGuard.

                                                            The documentation I found on WireGuard in OPNsense is straightforward and relatively easy to understand, but I had to wrestle with it for a little while to gain a better understanding on how it should be configured. I believe it was partially due to differing end goals – I was trying to achieve something a little different than the authors of other wiki/blog/forum posts. Piecing together various sources of information, I finally ended up with a configuration that met the goals stated above.

                                                            News Roundup
                                                            NomadBSD 1.3.1

                                                            NomadBSD 1.3.1 has recently been made available. NomadBSD is a lightweight and portable FreeBSD distribution, designed to run on live on a USB flash drive, allowing you to plug, test, and play on different hardware. They have also started a forum as of yesterday, where you can ask questions and mingle with the NomadBSD community. Notable changes in 1.3.1 are base system upgraded to FreeBSD 12.1-p2. automatic network interface setup improved, image size increased to over 4GB, Thunderbird, Zeroconf, and some more listed below.

                                                            GhostBSD 20.02

                                                            Eric Turgeon, main developer of GhostBSD, has announced version 20.02 of the FreeBSD based operating system. Notable changes are ZFS partition into the custom partition editor installer, allowing you to install alongside with Windows, Linux, or macOS. Other changes are force upgrade all packages on system upgrade, improved update station, and powerd by default for laptop battery performance.

                                                            New FuryBSD XFCE and KDE images

                                                            This new release is now based on FreeBSD 12.1 with the latest FreeBSD quarterly packages. This brings XFCE up to 4.14, and KDE up to 5.17. In addition to updates this new ISO mostly addresses community bugs, community enhancement requests, and community pull requests. Due to the overwhelming amount of reports with GitHub hosting all new releases are now being pushed to SourceForge only for the time being. Previous releases will still be kept for archive purposes.

                                                            pf-badhost 0.3 Released

                                                            pf-badhost is a simple, easy to use badhost blocker that uses the power of the pf firewall to block many of the internet's biggest irritants. Annoyances such as SSH and SMTP bruteforcers are largely eliminated. Shodan scans and bots looking for webservers to abuse are stopped dead in their tracks. When used to filter outbound traffic, pf-badhost blocks many seedy, spooky malware containing and/or compromised webhosts.

                                                            Beastie Bits
                                                            • DragonFly i915 drm update
                                                            • CShell is punk rock
                                                            • The most surprising Unix programs
                                                            • Feedback/Questions
                                                              • Master One - Torn between OpenBSD and FreeBSD
                                                              • Brad - Follow up to Linus ZFS story
                                                              • Filipe Carvalho - Call for Portuguese BSD User Groups
                                                                • Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [email protected]
                                                                • Your browser does not support the HTML5 video tag.

                                                                  0 min
                                                                • Layout the DVA | BSD Now 342

                                                                  OpenBSD Full disk encryption with coreboot and tianocore, FreeBSD 12.0 EOL, ZFS DVA layout, OpenBSD’s Go situation, AD updates requires changes in TrueNAS and FreeNAS, full name of FreeBSD’s root account, and more.

                                                                  Headlines
                                                                  OpenBSD Full Disk Encryption with CoreBoot and Tianocore Payload

                                                                  It has been a while since I have posted here so I wanted to share something that was surprisingly difficult for me to figure out. I have a Thinkpad T440p that I have flashed with Coreboot 4.11 with some special patches that allow the newer machine to work. When I got the laptop, the default BIOS was UEFI and I installed two operating systems.

                                                                  Windows 10 with bitlocker full disk encryption on the “normal” drive (I replaced the spinning 2.5″ disk with an SSD)

                                                                  Ubuntu 19.10 on the m.2 SATA drive that I installed using LUKS full disk encryption

                                                                  I purchased one of those carriers for the optical bay that allows you to install a third SSD and so I did that with the intent of putting OpenBSD on it. Since my other two operating systems were running full disk encryption, I wanted to do the same on OpenBSD.

                                                                  • See article for rest of story
                                                                  • FreeBSD 12.0 EOL

                                                                    Dear FreeBSD community,

                                                                    As of February 29, 2020, FreeBSD 12.0 will reach end-of-life and will no longer be supported by the FreeBSD Security Team. Users of FreeBSD 12.0 are strongly encouraged to upgrade to a newer release as soon as possible.

                                                                    • 12.1 Active release
                                                                    • 12.2 Release Schedule
                                                                    • News Roundup
                                                                      Some effects of the ZFS DVA format on data layout and growing ZFS pools

                                                                      One piece of ZFS terminology is DVA and DVAs, which is short for Data Virtual Address. For ZFS, a DVA is the equivalent of a block number in other filesystems; it tells ZFS where to find whatever data we're talking about. The short summary of what fields DVAs have and what they mean is that DVAs tell us how to find blocks by giving us their vdev (by number) and their byte offset into that particular vdev (and then their size). A typical DVA might say that you find what it's talking about on vdev 0 at byte offset 0x53a40ed000. There are some consequences of this that I hadn't really thought about until the other day.

                                                                      Right away we can see why ZFS has a problem removing a vdev; the vdev's number is burned into every DVA that refers to data on it. If there's no vdev 0 in the pool, ZFS has no idea where to even start looking for data because all addressing is relative to the vdev. ZFS pool shrinking gets around this by adding a translation layer that says where to find the portions of vdev 0 that you care about after it's been removed.

                                                                      Warning! Active Directory Security Changes Require TrueNAS and FreeNAS Updates.
                                                                      • Critical Information for Current FreeNAS and TrueNAS Users
                                                                      • Microsoft is changing the security defaults for Active Directory to eliminate some security vulnerabilities in its protocols. Unfortunately, these new security defaults may disrupt existing FreeNAS/TrueNAS deployments once Windows systems are updated. The Windows updates may appear sometime in March 2020; no official date has been announced as of yet.

                                                                        FreeNAS and TrueNAS users that utilize Active Directory should update to version 11.3 (or 11.2-U8) to avoid potential disruption of their networks when updating to the latest versions of Windows software after March 1, 2020. Version 11.3 has been released and version 11.2-U8 will be available in early March.

                                                                        Full name of the FreeBSD Root Account

                                                                        NetBSD now has a users(7) and groups(7) manual. Looking into what entries existed in the passwd and group files I wondered about root’s full name who we now know as Charlie Root in the BSDs....

                                                                        OpenBSD Go Situation

                                                                        Over in the fediverse, Pete Zaitcev had a reaction to my entry on OpenBSD versus Prometheus for us:

                                                                        I don't think the situation is usually that bad. Our situation with Prometheus is basically a worst case scenario for Go on OpenBSD, and most people will have much better results, especially if you stick to supported OpenBSD versions.

                                                                        If you stick to supported OpenBSD versions, upgrading your machines as older OpenBSD releases fall out of support (as the OpenBSD people want you to do), you should not have any problems with your own Go programs. The latest Go release will support the currently supported OpenBSD versions (as long as OpenBSD remains a supported platform for Go), and the Go 1.0 compatibility guarantee means that you can always rebuild your current Go programs with newer versions of Go. You might have problems with compiled binaries that you don't want to rebuild, but my understanding is that this is the case for OpenBSD in general; it doesn't guarantee a stable ABI even for C programs (cf). If you use OpenBSD, you have to be prepared to rebuild your code after OpenBSD upgrades regardless of what language it's written in.

                                                                        Beastie Bits
                                                                        • Test your TOR
                                                                        • OPNsense 20.1.1 released
                                                                        • pkg for FreeBSD 1.13
                                                                        • Feedback/Questions
                                                                          • Bostjan writes in about Wireguard
                                                                          • Charlie has a followup to wpa_supplicant as lower class citizen
                                                                          • Lars writes about LibreSSL as a positive example
                                                                            • Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [email protected]
                                                                            • Your browser does not support the HTML5 video tag.

                                                                              0 min
                                                                            • U-NAS-ification | BSD Now 341

                                                                              FreeBSD on Power, DragonflyBSD 5.8 is here, Unifying FreeNAS/TrueNAS, OpenBSD vs. Prometheus and Go, gcc 4.2.1 removed from FreeBSD base, and more.

                                                                              Headlines
                                                                              FreeBSD on Power

                                                                              The power and promise of all open source software is freedom. Another way to express freedom is choice — choice of platforms, deployment models, stacks, configurations, etc.

                                                                              The FreeBSD Foundation is dedicated to supporting and promoting the FreeBSD Project and community worldwide. But, what does this mean, exactly, you may wonder. The truth is it means many different things, but in all cases the Foundation acts to expand freedom and choice so that FreeBSD users have the power to serve their varied compute needs.

                                                                              This blog tells the story of one specific way the Foundation helps a member of the community provide greater hardware choice for all FreeBSD users.

                                                                              Dragonfly 5.8

                                                                              DragonFly version 5.8 brings a new dsynth utility for building your own binary dports packages, plus significant support work to speed up that build - up to and including the entire collection. Additional progress has been made on GPU and signal support.

                                                                              The details of all commits between the 5.6 and 5.8 branches are available in the associated commit messages for 5.8.0rc1 and 5.8.0. Also see /usr/src/UPDATING for specific file changes in PAM.

                                                                              • See article for rest of information
                                                                              • 2nd HamBUG meeting recap
                                                                                • The second meeting of the Hamilton BSD Users Group took place last night
                                                                                • The next meeting is scheduled for the 2nd Tuesday of the month, April 14th 2020
                                                                                • News Roundup
                                                                                  FreeNAS/TrueNAS Brand Unification

                                                                                  FreeNAS and TrueNAS have been separate-but-related members of the #1 Open Source storage software family since 2012. FreeNAS is the free Open Source version with an expert community and has led the pursuit of innovations like Plugins and VMs. TrueNAS is the enterprise version for organizations of all sizes that need additional uptime and performance, as well as the enterprise-grade support necessary for critical data and applications.

                                                                                  From the beginning at iXsystems, we’ve developed, tested, documented, and released both as separate products, even though the vast majority of code is shared. This was a deliberate technical decision in the beginning but over time became less of a necessity and more of “just how we’ve always done it”. Furthermore, to change it was going to require a serious overhaul to how we build and package both products, among other things, so we continued to kick the can down the road. As we made systematic improvements to development and QA efficiency over the past few years, the redundant release process became almost impossible to ignore as our next major efficiency roadblock to overcome. So, we’ve finally rolled up our sleeves.

                                                                                  With the recent 11.3 release, TrueNAS gained parity with FreeNAS on features like VMs and Plugins, further homogenizing the code. Today, we announce the next phase of evolution for FreeNAS and TrueNAS.

                                                                                  OpenBSD versus Prometheus (and Go).

                                                                                  We have a decent number of OpenBSD machines that do important things (and that have sometimes experienced problems like running out of disk space), and we have a Prometheus based metrics and monitoring system. The Prometheus host agent has enough support for OpenBSD to be able to report on critical metrics, including things like local disk space. Despite all of this, after some investigation I've determined that it's not really sensible to even try to deploy the host agent on our OpenBSD machines. This is due to a combination of factors that have at their root OpenBSD's lack of ABI stability

                                                                                  FreeBSD removed gcc from base

                                                                                  As described in Warner's email message[1] to the FreeBSD-arch mailing list we have reached GCC 4.2.1's retirement date. At this time all supported architectures either use in-tree Clang, or rely on external toolchain (i.e., a contemporary GCC version from ports).

                                                                                  GCC 4.2.1 was released July 18, 2007 and was imported into FreeBSD later that year, in r171825. GCC has served us well, but version 4.2.1 is obsolete and not used by default on any architecture in FreeBSD. It does not support modern C and does not support arm64 or RISC-V.

                                                                                  Beastie Bits
                                                                                  • New Archive location for Dragonfly 4.x
                                                                                  • A dead simple git cheat sheet
                                                                                  • Xorg 1.20.7 on HardenedBSD Comes with IE/RELRO+BIND_NOW/CFI/SafeStack Protections
                                                                                  • Feedback/Questions
                                                                                    • Niclas writes in Regarding the Lenovo E595 user (episode 340)
                                                                                    • Lyubomir writes about GELI and ZFS
                                                                                    • Peter writes in about scaling FreeBSD jails
                                                                                      • Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [email protected]
                                                                                      • Your browser does not support the HTML5 video tag.

                                                                                        0 min
                                                                                      • Check My Sums | BSD Now 340

                                                                                        Why ZFS is doing filesystem checksumming right, better TMPFS throughput performance on DragonFlyBSD, reshaping pools with ZFS, PKGSRC on Manjaro aarch64 Pinebook-pro, central log host with syslog-ng on FreeBSD, and more.

                                                                                        Headlines
                                                                                        Checksumming in filesystems, and why ZFS is doing it right

                                                                                        One of the best aspects of ZFS is its reliability. This can be accomplished using a few features like copy-on-write approach and checksumming. Today we will look at how ZFS does checksumming and why it does it the proper way. Most of the file systems don’t provide any integrity checking and fail in several scenarios:

                                                                                        • Data bit flips - when the data that we wanted to store are bit flipped by the hard drives, or cables, and the wrong data is stored on the hard drive.
                                                                                        • Misdirected writes - when the CPU/cable/hard drive will bit flip a block to which the data should be written.
                                                                                        • Misdirected read - when we miss reading the block when a bit flip occurred.
                                                                                        • Phantom writes - when the write operation never made it to the disk. For example, a disk or kernel may have some bug that it will return success even if the hard drive never made the write. This problem can also occur when data is kept only in the hard drive cache.
                                                                                        • Checksumming may help us detect errors in a few of those situations.

                                                                                          DragonFlyBSD Improves Its TMPFS Implementation For Better Throughput Performance

                                                                                          It's been a while since last having any new magical optimizations to talk about by DragonFlyBSD lead developer Matthew Dillon, but on Wednesday he landed some significant temporary file-system "TMPFS" optimizations for better throughput including with swap.

                                                                                          Of several interesting commits merged tonight, the improved write clustering is a big one. In particular, "Reduces low-memory tmpfs paging I/O overheads by 4x and generally increases paging throughput to SSD-based swap by 2x-4x. Tmpfs is now able to issue a lot more 64KB I/Os when under memory pressure."

                                                                                          • https://gitweb.dragonflybsd.org/dragonfly.git/commitdiff/4eb0bb82efc8ef32c4357cf812891c08d38d8860
                                                                                          • There's also a new tunable in the VM space as well as part of his commits on Wednesday night. This follows a lot of recent work on dsynth, improved page-out daemon pipelining, and other routine work.

                                                                                            • https://gitweb.dragonflybsd.org/dragonfly.git/commit/bc47dbc18bf832e4badb41f2fd79159479a7d351
                                                                                            • This work is building up towards the eventual DragonFlyBSD 5.8 while those wanting to try the latest improvements right away can find their daily snapshots.

                                                                                              News Roundup
                                                                                              Why ZFS is not good at growing and reshaping pools (or shrinking them)

                                                                                              recently read Mark McBride's Five Years of Btrfs (via), which has a significant discussion of why McBride chose Btrfs over ZFS that boils down to ZFS not being very good at evolving your pool structure. You might doubt this judgment from a Btrfs user, so let me say as both a fan of ZFS and a long term user of it that this is unfortunately quite true; ZFS is not a good choice if you want to modify your pool disk layout significantly over time. ZFS works best if the only change in your pools that you do is replacing drives with bigger drives. In our ZFS environment we go to quite some lengths to be able to expand pools incrementally over time, and while this works it both leaves us with unbalanced pools and means that we're basically forced to use mirroring instead of RAIDZ.

                                                                                              (An unbalanced pool is one where some vdevs and disks have much more data than others. This is less of an issue for us now that we're using SSDs instead of HDs.)

                                                                                              Using PKGSRC on Manjaro Linux aarch64 Pinebook-pro

                                                                                              I wanted to see how pkgsrc works on aarch64 Linux Manjaro since it is a very mature framework that is very portable and supported by many architectures – pkgsrc (package source) is a package management system for Unix-like operating systems. It was forked from the FreeBSD ports collection in 1997 as the primary package management system for NetBSD.

                                                                                              One might question why use pkgsrc on Arch based Manjaro, since the pacman package repository is very good on its own. I see alternative pkgsrc as a good automated build framework that offers a way to produce independent build environment /usr/pkg that does not interfere with the current Linux distribution in any way (all libraries are statically built)

                                                                                              I have used the latest Manjaro for Pinebookpro and standard recommended tools as mentioned here https://wiki.netbsd.org/pkgsrc/how_to_use_pkgsrc_on_linux/

                                                                                              A Central Log Host with syslog-ng on FreeBSD
                                                                                              • Part 1
                                                                                              • syslog-ng is the Swiss army knife of log management. You can collect logs from any source, process them in real time and deliver them to wide range of destinations. It allows you to flexibly collect, parse, classify, rewrite and correlate logs from across your infrastructure. This is why syslog-ng is the perfect solution for the central log host of my (mainly) FreeBSD based infrastructure.

                                                                                                • Part 2
                                                                                                • This blog post continues where the blog post A central log host with syslog-ng on FreeBSD left off. Open source solutions to check syslog log messages exist, such as Logcheck or Logwatch. Although these are not too difficult to implement and maintain, I still found these to much. So I went for my own home grown solution to check the syslog messages of the SoCruel.NU central log host.

                                                                                                  Beastie Bits
                                                                                                  • FreeBSD at Linux Conf 2020 session videos now online
                                                                                                  • Unlock your laptop with your phone
                                                                                                  • Managing a database of vulnerabilities for a package system: the pkgsrc study
                                                                                                  • Hamilton BSD User group will meet again on March 10th](http://studybsd.com/)
                                                                                                  • CharmBUG Meeting: March 24th 7pm in Severn, MD
                                                                                                  • ***
                                                                                                    Feedback/Questions
                                                                                                    • Andrew - ZFS feature Flags
                                                                                                    • Sam - TwinCat BSD
                                                                                                    • Dacian - Freebsd + amdgpu + Lenovo E595
                                                                                                      • Send questions, comments, show ideas/topics, or stories you want mentioned on the show to [email protected]
                                                                                                      • Your browser does not support the HTML5 video tag.

                                                                                                        0 min

                                                                                                      About BSD Now Video Feed

                                                                                                      From the publisher's feed

                                                                                                      BSD Now Video Feed