Solved What's the advantages to building your own kernel, and/or the OS from source?

So... what's the advantages to building your own kernel, and/or the OS from source?

Since I've built everything else...

I think there's a guide to building your kernel somewhere, but I don't know if it's still up to date/recommendable...
Building a custom kernel makes a real difference when you need to keep the system minimal -- especially when the hardware resources are limited. There are many ARM boards out there which are suitable as a prototyping (or even as a production) platform. For instance; you may want to develop an image processing application on one of these boards which must serve as a dedicated system built just for image processing -- no need for extraneous kernel modules (like sound etc...) or fancy device drivers during the build process that they might consume your precious hardware resources later and thus cause delays or even interrupt the data retrieval processes.
You learn to know how to do it.
You will be able to upgrade from 'any' to 'laterany' version of FreeBSD by doing 'source upgrade'.
Useful only on embedded systems when there is low memory.

The freebsd-update utility stops to work.
You are now maintainer of your system, with GENERIC you do not have to worry about that.
You will not notice speed improvement or anything like that.
There isn't necessarily any technical advantage on an x86-64-based system, but there are some advantages to doing so anyway:
  • You have more control over the system. Some people just get a general sense of satisfaction from being able to remove extraneous crap from their installs or customize individual components, even if there's no quantifiable advantage to doing it.
  • You have more insight into how the system is put together, and updates are more transparent. This makes it easier to troubleshoot when something appears to go wrong. Typically if something goes wrong during an update while using freebsd-update(8), you can't really be certain what the problem was. If something goes wrong while updating from source, it's probably your own error, which (a) makes it easier to track down; and (b) gives you an opportunity to learn. ;)
  • Updating from source has been a possibility for decades now, and used to be the only way to update. So the method is mature and trusted. freebsd-update has had a lot of testing by this time, and the upcoming PkgBase implementation will likely get lots of testing before becoming the standard way of updating, but through all those changes updating from source will remain available and reliable. The downside is that it gets more laborious as one gets older. :p
remove extraneous crap
It seems to me that if one is trying to make a system with extreme security, lowering the attack surface by removing unused code is actually important. This is certainly a good security policy in general if not of equal importance here.