LinuxQuestions.org
Visit Jeremy's Blog.
Home Forums Tutorials Articles Register
Go Back   LinuxQuestions.org > Forums > Other *NIX Forums > *BSD
User Name
Password
*BSD This forum is for the discussion of all BSD variants.
FreeBSD, OpenBSD, NetBSD, etc.

Notices


Closed Thread
  Search this Thread
Old 05-02-2004, 08:48 PM   #1
chort
Senior Member
 
Registered: Jul 2003
Location: Silicon Valley, USA
Distribution: OpenBSD 4.6, OS X 10.6.2, CentOS 4 & 5
Posts: 3,660

Rep: Reputation: 76
Important: Read this before posting!


In order to cut down on repeats of very simple questions, please read this post first to determine if your question can easily be answered by existing resources.

You're highly encouraged to read the supplemental documentation for whatever BSD you're using before posting a question. Most questions will be answered by the documentation on the respective BSD's website. Unlike some Linux distributions, all BSDs are very well documented with meaningful examples. Trust me, read the docs first.

BSD project official homesites & documentation
FreeBSD
Website: www.FreeBSD.org
Handbook: http://www.freebsd.org/doc/en_US.ISO...ook/index.html

NetBSD
Website: www.NetBSD.org
Documentation: http://www.netbsd.org/Documentation/

OpenBSD
Website: www.OpenBSD.org
FAQ: http://www.openbsd.org/faq/index.html

BSD FAQ
Q: Is BSD Linux?/Does BSD use Linux?/What's the difference between BSD and Linux?
A: BSD for Linux Users

Q: What are the differences between the major *BSDs?
A1: The long answer my be found at Daemon News: The BSD Family Tree
A2: My answer would break down like this:
Darwin/OpenDarwin: The open source versions of Mac OS X (sans the Auqua interface). Obviously they're for the PPC architecture.
DragonflyBSD: Focuses on massive scalability and being a logical continuation of the FreeBSD 4.x tree. More information on their goals may be found on their website
FreeBSD: Focuses on being a mainstream server platform and also supporting as much i386 hardware as possible. This means that it often supports more rare or new x86 hardware than the other *BSDs.
NetBSD: Focuses on being able to run and cross-compile on any device capable of being bootstrapped. They also are very concerned with correctness and code auditing, and it's widely believed that NetBSD has the fastest TCP/IP stack.
OpenBSD: Focuses on correctness and security. People think that OpenBSD is completely focused on security, but that's not quite right. The developers are more concerned with correct coding techniques and security is a byproduct of that (less bugs). Also having a very secure default configuration lends a lot to the reputation for security.
A3: You should really read for yourself. Each of the *BSDs generally has a website with an address of www.<name of bsd>.org, and on that website there is a "goals" link. Read the goals of each OS and make up your own mind whether it fits what you're looking for.
A4: You could also read this article at ServerWatch "Differentiating among BSD Distros" Note that the article isn't exactly accurate, as it wrongly calls BSD operating systems "distros", claims that BSD has less software available than Linux (FreeBSD has over 10,000 ports), and attributes the TCP/IP speed record to FreeBSD (actually NetBSD currently holds the record).

Q: How are the different *BSDs related?
A: FreeBSD and NetBSD are derived from 4.4BSD Lite. OpenBSD is a fork of NetBSD, and DragonflyBSD is a fork of FreeBSD. Darwin is the underlying OS to Mac OS X, which is built on a Mach microkernel, that is itself derived from 4.2BSD. Userland in OS X comes mostly from FreeBSD and NetBSD, so basically OS X is a big BSD melding pot.

Q: Should I edit my kernel configuration?/Should I build a custom kernel?
A: Almost certainly, NO. All the BSDs are built to have completely usable kernels by default and should have the correct options for 99% of all situations. Note that hacking your kernel config to remove device drivers will not increase performance at all, it just makes the kernel smaller (and only by a few hundred KB at that, i.e. not worth it). On FreeBSD you might need to edit the configuration to add your sound devices (although it's usually possible to enable sound via a loadable module), and on OpenBSD you will need to add some options if you're setting up RAIDFrame (don't do it unless you acctually are setting up RAIDFrame, though).

In general kernel config hacking on BSD is discouraged. It puts your kernel out of sync with what the developers are using and means that every time new devices or options are added to the default kernel, you'll have to hand-merge those changes into your own kernel config. On OpenBSD, as long as you're only adding options you can actually create a tiny config file with just your changes and have it include the GENERIC kernel config.

The bottom line is that you shouldn't change your kernel config unless you have a very good reason to. BSD veterans won't consider you "l33+" if you hack your kernel config, they'll consider you an amateur. Developers and mailing list members are extremely unlikely to help you if they find that you're using a custom kernel, and may well ridicule you (particularly on the OpenBSD lists).

Q: Will customizing my kernel increase performance?
A: In most cases, NO. The one exception is the FreeBSD development tree, that has a substantial amount of debugging code in it (5.0-5.2.x). On the other BSDs (including FreeBSD 4.x) all you can really remove from the kernel is device drivers and removing those only shrinks your kernel a tiny bit and possibly decreases your bootup time by a few seconds.

Unless the difference of a few hundred KB on disk or in RAM is some how a huge issue to you, you shouldn't be removing device drivers. Some device drivers rely on each other in ways that might not immediately be obvious, for instance USB mass storage relies on SCSI drivers, so even if you don't have a SCSI device in your machine, you almost certainly want to keep those drivers in so you could use a USB thumbdrive or USB-attached digital camera.

Trust me, it's really not worth it given all the interesting ways that you could break things and the fact that customizing will make it dificult if not impossible for people to help you with weird problems you might encounter.

I'll be adding more useful links here as time permits.

Please e-mail me if you have any suggestions, corrections, or additions to the BSD FAQ.

Last edited by chort; 09-09-2004 at 03:07 PM.
 
  


Closed Thread



Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is Off
HTML code is Off



Similar Threads
Thread Thread Starter Forum Replies Last Post
UPDATE FOR NEWBIES: Please READ this before posting! Tinkster Linux - Newbie 2 08-01-2017 04:37 AM
Read This Before Posting chort Linux - Enterprise 0 06-10-2004 04:55 PM
Important Information when posting in the LFS Forum. trickykid Linux From Scratch 0 09-21-2003 10:52 AM
Please All: Read This! Very Important ranixlb Linux - General 7 05-15-2002 07:02 AM
IMPORTANT - Please read! jeremy Linux - Newbie 0 03-25-2002 06:52 PM

LinuxQuestions.org > Forums > Other *NIX Forums > *BSD

All times are GMT -5. The time now is 01:03 AM.

Main Menu
Advertisement
My LQ
Write for LQ
LinuxQuestions.org is looking for people interested in writing Editorials, Articles, Reviews, and more. If you'd like to contribute content, let us know.
Main Menu
Syndicate
RSS1  Latest Threads
RSS1  LQ News
Twitter: @linuxquestions
Open Source Consulting | Domain Registration