
FreeBSD 12.0 is now available - tachion
https://lists.freebsd.org/pipermail/freebsd-announce/2018-December/001856.html
======
UI_at_80x24
I've had the chance to meet several of the developers at the BSDCan
conferences; kudos people, you really deserve it.

I moved to BSD world when Debian adopted SystemD and I am happy that I did. It
is often said that Linux is more stable then Windows, well BSD could be
considered like Granite compared to Linux. I really love it. OpenBSD for the
edge, and FreeBSD for internals and workstations.

The driver updates are very welcome too, getting my video card to work 4k@60Hz
was a bit of a task finding the correct driver, but I see this update
addresses that too.

Once again, thank-you to everybody who contributes.

~~~
_rs
As someone who hasn't used BSD, but is considering it for a small server (not
mission critical, so OK for me to be learning with), could you expand on the
major differences to you between OpenBSD and FreeBSD (vs possibly other
options)? When you say you like OpenBSD "for the edge", do you mean cutting-
edge, or edge network equipment? Thanks!

~~~
thijsvandien
OpenBSD is more conservative and security-minded, so I'd say network edge.
Interestingly though, its laptop hardware support has historically been
better.

~~~
LeoPanthera
OpenBSD devs actually tend to use OpenBSD on their own systems (and most of
them own ThinkPads), which, weirdly, is not the case with most FreeBSD devs,
who run something else on their desktop.

~~~
loeg
This isn't necessarily a fair characterization of FreeBSD devs, although it's
probably pretty close. I'd guess about 50-50 FreeBSD vs Mac users.

~~~
xenadu02
I'm guessing this is because macOS pulls from FreeBSD on a semi-regular basis.

~~~
umanwizard
Maybe they pull some things sometimes but I get the sense their command-line
tools in general are just unmaintained and collecting dust. Do you have a
citation that they pull regularly?

FWIW:

~ man rm | tail -n1

BSD January 28, 1999 BSD

------
ChuckMcM
I have been trying out FreeBSD 12 as a desktop using the "TrueOS"
distribution[1], as a UNIX user it has been very refreshing. I did this
because the Ubuntu 18.04 experience felt to me strongly that the Linux
community was focused on turning the desktop into a Windows clone.

[1] [https://www.trueos.org/](https://www.trueos.org/)

~~~
iagovar
Does BSD have a packet system like APT? How about troubleshooting? I guess
there is way less info out there than in Linux.

~~~
zozbot123
The only resource you need is here:

[https://www.freebsd.org/doc/handbook/](https://www.freebsd.org/doc/handbook/)

This is the first and only resource you have to hit when the question is: "how
do I do that in FreeBSD?"

Section 4. answers your second question.

There is no less information about BSD than "Linux", it is simply that BSD has
no advertisement or companies behind pushing it...

~~~
siffland
"There is no less information about BSD than "Linux", it is simply that BSD
has no advertisement or companies behind pushing it.."

Which is ironic since huge companies like netflix, sony, citrix, netapp and
others make appliances based on FreeBSD and contribute a ton of code (Note, i
am not at all disagreeing with your statement, i just find it ironic).

IX Systems does push behind it a lot and does advertise it:
[https://www.ixsystems.com](https://www.ixsystems.com)

I have heard people complain because the handbook needs updating in some
areas, but to be fair it is an open source handbook and people can make
submissions to help make it better.

~~~
zozbot123
Maybe I am wrong, but as far as I remember IXsystems is pushing TrueOS and
some other appliances like FreeNas.

My point was simply aiming to underline that there is no analogue of RHEL or
Centos in the BSD world. If you decide to endorse BSD you know you are on your
own and you have to contribute to the project. The BSD license seems a bit
more appealing to this huge giants than the GNU one. Fixing bugs and
contributing to the code base is the reason why I love the project.

For purely educational reasons you can learn more in 5 minutes using BSD, than
in 10 years with Ubuntu (what is it that one learns with Ubuntu actually?).

The handbook is just awesome. If people complain about it, it is just because
they never looked at how documentation is written in the average in computer
science (is software documented at all?).

------
2trill2spill
The biggest thing I'm waiting for with FreeBSD is the TLS sendfile work that
Netflix has done. They have said a few times they are open to open sourcing
it, but the code needs to be cleaned up.

Also I'm interested in whats been going on with concurrencykit[1]? I saw it
got imported into the kernel a couple years ago[2]. What's the progress on
incorporating concurrencykit?

[1]: [http://concurrencykit.org/](http://concurrencykit.org/)

[2]:
[https://www.freshbsd.org/commit/freebsd/src/309260](https://www.freshbsd.org/commit/freebsd/src/309260)

~~~
loeg
Netflix's TLS sendfile probably won't ever be imported. It isn't full TLS,
just single-key output. It works for Netflix because they control the client
software and if the client requests a re-key or other session change, they can
just drop the connection and let the client reconnect. It isn't really obvious
how it would be cleaned up to be general enough to import, and it would be a
ton of work with little payoff.

ConcurrencyKit is imported and used for efficient read-mostly datastructures
in FreeBSD 12, mostly in networking applications such as IP routing and link-
level address caching (i.e., ARP in IPv4 Ethernet). It's also used in network
interface drivers, HWPMC, TCP, and the linuxkpi emulation layer (to emulate
RCU).

You might be interested in this blog post:
[http://scalebsd.org/blog/2018/06/16/UDP-and-epoch-for-
livene...](http://scalebsd.org/blog/2018/06/16/UDP-and-epoch-for-liveness-
guarantees) and
[https://www.freebsd.org/releases/12.0R/relnotes.html](https://www.freebsd.org/releases/12.0R/relnotes.html)
.

~~~
toast0
I don't think it would be desirable for the kernel to handle rekeying, the
socket should get sent back to userspace for that. That would probably require
some wrangling, and it's certainly easier to do it in a good enough fashion
rather than try to clean it up and get it upstreamed, but it's not impossible.
I'm certainly guilty of not getting enough energy around upstreaming patches
too, though.

~~~
loeg
> I don't think it would be desirable for the kernel to handle rekeying, the
> socket should get sent back to userspace for that. That would probably
> require some wrangling, and it's certainly easier to do it in a good enough
> fashion rather than try to clean it up and get it upstreamed, but it's not
> impossible.

Sure; I agree. I tried to address that under "It isn't really obvious how it
would be cleaned up to be general enough to import, and it would be a ton of
work with little payoff."

After all, you have to integrate with OpenSSL (or whatever) on the userspace
side somehow too. And OpenSSL is contrib code, so we can't just hack it willy-
nilly.

~~~
caf
OpenSSL already has integration for Linux's similar kTLS support (bulk
transmit encryption only; all other alerts, renegotiation etc punted back to
userspace). If you wrote it to provide the same API then the OpenSSL support
side would be easy.

[https://github.com/openssl/openssl/blob/d6c3c1896cf3c0d69bc2...](https://github.com/openssl/openssl/blob/d6c3c1896cf3c0d69bc27da923d63f8130b13ca0/include/internal/ktls.h)

~~~
loeg
Thanks, I didn't know about that. That makes it seem a lot more viable.

------
msiyer
My 10 year old Dell XPS M1330 with Intel Core 2 Duo T8100 and 4 GB RAM with
original HDD still running strong, had 11.2 installed on it. I just finished
updating it to 12.0 release without any issues. I have only good things to
say. I use Xfce. The filesystem is ZFS.

A while back, I took a snapshot of /root and installed Gnome 3. It was too big
for my laptop. I rolled back. The snapshot and rollback were amazingly fast.

I find FreeBSD more cohesive. I have not tried it on modern devices, but my
experience with it on my decade old laptop and VMs is extremely positive.

A similar cohesiveness is achieved only when I handcraft my Arch. Maybe, it is
just the feeling.

------
2trill2spill
Sweet, I've been waiting for VIAMGE to be default for awhile. VIMAGE was the
main reason I custom compiled FreeBSD for the last few years.

~~~
whalesalad
Does this finally make jails on-par with containers as far as full isolation
(with this adding the network element) ?

I'm a BSD noob.

~~~
2trill2spill
Jails are containers and provide more isolation then Linux containers.

------
livueta
Neat! I haven't yet found the commit that did it, but it appears that dtrace's
stop(), which was broken in 11.2-RELEASE, now doesn't cause kernel panics.

Also interesting:

> The dtrace(1) utility has been updated to support if and else statements.

I believe that it's only a change in the front-end parser and that logic of
this sort is still implemented via the old predicate/multiple clauses trick,
but some syntactic sugar is still welcome.

~~~
loeg
> I believe that it's only a change in the front-end parser and that logic of
> this sort is still implemented via the old predicate/multiple clauses trick,
> but some syntactic sugar is still welcome.

Correct.

------
adetrest
The only thing keeping me away from using BSD is the WiFi support. If it
started supporting 802.11ac, I'd switch in a heartbeat.

~~~
2trill2spill
Yea kinda a bummer that I had to buy a USB dongle for a brand new XPS-13 I
wanted to install FreeBSD on. I knew I had to, and considering the rest of the
hardware was supported I considered it a fair trade off, because I really
wanted a FreeBSD dev laptop.

I would like to help with the lack of wifi drivers situation, I'm solid
programing in C, but writing network drivers seems intimidating.

~~~
qyz721
I got roped into writing network drivers for a research project back in
undergrad.

The actual work to be done was fairly straightforward; the difficulty was
collecting all the different undocumented hardware APIs and figuring out how
to use them. :P

~~~
chilledheart
Then it might be even harder to do it right in Linux than FreeBSD. It is
because Linux's ABIs change so frequently that you have to stick to some
distributions to follow even if you want broader support :-)

------
krylon
Aawww, I just upgraded my home server from 11.1 to 11.2, now I have to do it
_again_? Fortunately, upgrading FreeBSD is a lot more convenient these days
than it used to be.

~~~
toast0
FreeBSD 11.2 continues to be a supported release. There's no _need_ to upgrade
at this point. Also, from experience, unsupported FreeBSD releases generally
continue to work as well as they did while they were supported (which is to
say, pretty well); they don't turn into a pumpkin when support stops.

~~~
krylon
I was half joking. When I first got to know FreeBSD, the way to upgrade was to
rebuild from source and then perform all kind of magic incantations to merge
the new configuration files and whatnot. freebsd-update(8) has made this whole
experience much more convenient. I consider myself a competent Unix user, but
I am glad these days I do not need to be a wizard to keep things working.

I guess I will upgrade my trusty home server over the holidays, and I am
looking forward to it. ;-)

~~~
krylon
FWIW, I just upgraded my VPS today, using freebsd-update(8), worked like a
charm.

------
favadi
Any practical advantage of using *BSD on workstation over Linux at this
moment? I heard that most of BSD developers use macOS, so the hardware
compatibility is terrible.

~~~
alxlaz
The hardware support isn't all that bad, but FreeBSD is indeed pickier than
Linux or Windows :-). Reasons why I like it include excellent documentation
(light years ahead of anything in Linux land), ports & friends (things like
Poudriere), and ZFS. I also like Capsicum but I don't use it much.

If that's relevant to you, it also doesn't use systemd (I don't mind it
because I learned how to use it properly, but I'd certainly love a break from
troubleshooting it...)

------
j0e1
I setup my (decade) old laptop as a server running on FreeBSD. And the
elaborate documentation is a real lifesaver, especially as someone who is new
to the ecosystem. Even, for the obscure hardware specific setup (yea, looking
at you sony vaio), I could find relevant information on their forum which
interestingly had relevant information from ages ago.

Really great job guys and thank you! Can't wait to upgrade!

~~~
akavel
Could you share what you found, by any chance? I've been having some trouble
configuring GRUB for Linux on an old VAIO with UEFI (kinda works, but required
weird workarounds and seems still flaky); I'm really interested in any success
stories with booting OSes on their hardware.

------
kieranph
I was so close (about a nanometer!) to adopting FreeBSD as my desktop OS due
to it's plethora of software, amazing package management, great usage of RAM,
and roots in true Unix, but one sad day, I installed WINE. It was working with
all the applications I expected it to, except for one... Steam. The WINE
version was too old. I tried and tried again, even compiling it straight from
the staging git branch, but it didn't compile. Alas, FreeBSD is my server OS.
It keeps my at least a bit sane knowing I have FreeBSD somewhere in my home.

------
eindiran
I was considering setting up a new desktop machine with either OpenBSD or
DesktopBSD (which is based on FreeBSD). Does anyone have any recommendations
on which to choose? Any interesting experiences using BSD as a daily driver?

~~~
napsterbr
I've been using FreeBSD on my desktop and notebook for the past 3 years and I
have nothing to complain!

Granted, I do not have the habit of playing games or using large, unsupported
software (say, Photoshop and friends). My daily applications consist of Emacs
and Firefox, so my feedback may be limited in scope.

I'm not sure what the status is, but last I checked Electron did not work on
FreeBSD. If you use something Electron-based, you might want to take a look at
it.

I also am unable to access my iPhone filesystem and to watch Netflix movies.
But for both cases, I blame the vendor and not FreeBSD. A VM on bhyve quickly
solves the problem.

~~~
qyz721
What kind of overhead does bhyve have? Is it on the order of KVM?

~~~
loeg
Overhead for the host, or the guest? Host is comparable — majority of the cost
will be memory allocated to the guest.

Guest overhead will vary by workload. I know for example that virtio-net
performance lags Linux, because virtio-net was designed for Linux skb's and
doesn't align well with FreeBSD's mbufs. Give it a shot and see how it
compares, I guess.

------
jlg23
As a long term FreeBSD user who was bitten by recent (8 up to 11) source
update issues I would have loved a disclaimer upfront: "we broke it again" or
"we finally got back to normal"....

~~~
jandrese
Going from 8 to 11 you would probably be best off by backing up your data (do
this anyway) and making a fresh 11 install. Reinstalling apps is super easy
with pkg.

I've never seen an OS updater that is happy to jump 3 major versions at once,
especially since the old one has fallen off of even legacy support.

~~~
jlg23
I am not talking about 8 to 11 in one go. With 8.x I experienced the first
literally broken source update and a few came after that.

I've switched from Linux to FreeBSD in 1999 because I was fed up with
chunky/broken binary updates. One used to be able to compile 3 versions ahead
on a running system and boot into a working, clean setup. I am lazy, of course
I tried (and succeeded most of the time).

But since 8 even the standard practice of migrating one major version at a
time as well as updates from latest n.x to m.0 was broken for people who did
not drink the "pkg and freebsd-update!" kool-aid. My allergies to that are
raid controllers not supported by GENERIC kernel and a general preference to
include into software only what I need - make.conf makes that really easy and
maintenance is a breeze simply because we're not hit by as many security
issues.

------
toddnni
"pNFS server support"

Very welcome suprise! I was excited about pNFS four years ago, but couldn't
find any open source system to play with. Finally it is time for some mirrored
pNFS testing.

------
ggm
No BBR yet.

~~~
notaplumber
Can you explain what BBR is? Thank you.

~~~
ggm
Sorry, good point. its a modification to how TCP backs off under loss, and
then re-approaches the prior rate. Traditional TCP does an exponential back-
off and recovery model. This takes a long time to get back to the fastest
achieved rate. Its a very jaggy sawtooth. BBR gets back to the prior rate
faster.

BBR is a very fast recovery algorithm. Its not always very "fair" to other
forms of TCP. BSD and Linux both have kernels which allow selection of
different methods of backoff. BSD has cubic, and some other choices, at this
point only Linux appears to have the BBR method integrated. It is in test in
the BSD stack (I believe)

If you have sole use of a host, and want to do long-distance file transfer,
with loss, BBR can sometimes get you things faster. If you're in a Data Center
(DC) BBR can cope really well with dumb switch packetloss, getting you
significantly faster recovery.

------
tachion
Some of the highlights:

    
    
         * OpenSSL has been updated to version 1.1.1a (LTS).
    
         * Unbound has been updated to version 1.8.1, and DANE-TA has been
           enabled by default.
    
         * OpenSSH has been updated to version 7.8p1.
    
         * Additonal capsicum(4) support has been added to sshd(8).
    
         * Clang, LLVM, LLD, LLDB, compiler-rt and libc++ has been updated to
           version 6.0.1.
    
         * The vt(4) Terminus BSD Console font has been update to version 4.46.
    
         * The bsdinstall(8) utility now supports UEFI+GELI as an installation
           option.
    
         * The VIMAGE kernel configuration option has been enabled by default.
    
         * The NUMA option has been enabled by default in the amd64 GENERIC and
           MINIMAL kernel configurations.
    
         * The netdump(4) driver has been added, providing a facility through
           which kernel crash dumps can be transmitted to a remote host after a
           system panic.
    
         * The vt(4) driver has been updated with performance improvements,
           drawing text at rates ranging from 2- to 6-times faster.
    
         * Various improvements to graphics support for current generation
           hardware.
    
         * Support for capsicum(4) has been enabled on armv6 and armv7 by
           default.
    
         * The UFS/FFS filesystem has been updated to consolidate
           TRIM/BIO_DELETE commands, reducing read/write requests due to fewer
           TRIM messages being sent simultaneously.
    
         * The NFS version 4.1 server has been updated to include pNFS server
           support.
    
         * The pf(4) packet filter is now usable within a jail(8) using vnet(9).
    
         * The bhyve(8) utility has been updated to add NVMe device emulation.
    
         * The bhyve(8) utility is now able to be run withing a jail(8).
    
         * Various Lua loader(8) improvements.
    
         * KDE has been updated to version 5.12.5.

~~~
floatboth
And the biggest highlight that wasn't mentioned anywhere in the release notes
for some reason…

(drum roll)

64-bit inodes!!

~~~
rsync
I assume that is 64-bit inodes for UFS2 ?

I would be concerned about the ability to fsck a UFS2 filesystem with enough
inodes in it to require 64-bit inodes... As late as 2010/2011 fsck would fail
to allocate enough memory to successfully repair a filesystem with <200M
inodes ...

I have it on good authority (the author of UFS) that there is no reason to use
UFS instead of ZFS unless you are severely memory constrained.

Perhaps I misunderstand the new feature you are highlighting ?

~~~
markjdb
No, various kernel entry points have been modified to be able to handle 64-bit
inode numbers. UFS itself still uses 32-bit inode numbers.

------
polskibus
please delete this comment, I was commenting on the wrong thread!

~~~
ComputerGuru
This article is about FreeBSD, not Firefox.

