Zero to Hero

Learn the basics of FreeBSD in 30 minutes

About this guide

Zero to Hero is a broad, swift introduction to FreeBSD for newcomers who have little to no knowledge of the operating system, the project behind the operating system, or the community surrounding both the operating system and the project.

Goals

If you are brand new to FreeBSD, then you might have some or all of the following questions:

With this guide, our shared goal is to answer all fundamental questions of this kind. Broadly speaking, then, we aim to provide:

Relationship to the FreeBSD Handbook

For the official introduction to the FreeBSD operating system, see Part I of the FreeBSD Handbook.

Zero to Hero differs from Part I of the Handbook in 3 ways:

  1. Whereas the Handbook is official and (therefore) updated strictly when needed, this document is unofficial and (therefore) able to be updated and changed constantly. Rephrased, whereas the Handbook is largely static, this document is meant to be dynamic.

  2. Whereas the Handbook tends to be theoretical with tangible examples only as needed, this guide is chiefly practical.

  3. Whereas the Handbook is strictly about the FreeBSD operating system with only passing reference to outside software (and no recommendations regarding outside software), this guide includes direct engagement with and recommendations for a host of third-party packages.

'Zero to Hero' vigorously will point you, the reader, to different portions of the 'Handbook' for broader and deeper reading.

Study Timeline

Here is an outline of the topics that we cover with an estimated amount of time to read and digest each item. The total estimated time is 30 minutes.

  1. What is FreeBSD? (5 minutes)
    1. History (2 minutes)
    2. FreeBSD Today (2 minutes)
    3. BSD License(s) (1 minute)
  2. How do I install FreeBSD on my computer? (5 minutes)
    1. Plan your installation (2 minutes)
    2. Create the installation medium (1 minute)
    3. Install FreeBSD (2 minutes)
  3. Once I have installed FreeBSD, how do I start using it? (6 minutes)
    1. Documentation: man pages & more (2 minutes)

    2. Common commands (2 minutes)
    3. Desktop environments & window managers (2 minutes)

  4. What common desktop software applications are available for FreeBSD? (9 minutes)
    1. Office software (3 minutes)
    2. Web browsers and email clients (3 minutes)
    3. Terminal emulators and geeky gadgets (3 minutes)
  5. Where can I learn more about FreeBSD? (5 minutes)
    1. Handbook, Wiki, and Man Pages -- oh, my! (2 minutes)
    2. IRC and mailing lists (2 minutes)
    3. Further reading (1 minute)

What is FreeBSD?

History

Ultimately, FreeBSD is a descendant of AT&T's original Unix operating system, which was first released in 1969. In 1979, 10 years after Unix's release, the Computer Systems Research Group (CSRG) at the University of California, Berkeley published the first Berkeley Software Distribution (BSD) of Unix, a version of AT&T's operating system with many improvements from computer science students and researchers working at UC Berkeley and elsewhere. Over the next fifteen years, BSD gained extensive rewrites, additions, and other improvements from academic contributors all over the world, until (eventually) the operating system was constituted almost exclusively by CSRG's code rather than AT&T's code.

In 1992, with CSRG's funding waning and the BSD project facing possible collapse, the project managers released nearly the entire operating system's source code under the first BSD License (see below). A team of persons who had contributed to BSD took the source code and created what is now the FreeBSD operating system, releasing version 1.0 in 1993.

Since the name "Unix" is still owned by AT&T, FreeBSD, like other *BSD operating systems (e.g. NetBSD and OpenBSD), is legally called a "Unix-like operating system." However, unlike some other Unix-like operating systems with which you might be familiar (e.g. GNU/Linux), the *BSD operating systems are truly based on the original Unix and work with many of the same commands and principles as their primordial counterpart did in 1969. The FreeBSD operating system, in turn, has been developed as a stand-alone project continuously since 1993.

For more about FreeBSD's history, see Absolute FreeBSD (3rd ed.), xxiv-xxvi or Chapter 1 (Introduction) in the Handbook.

FreeBSD Today

Today, FreeBSD has hundreds of committers. Committers are developers who play an active, regular role in writing and reviewing the source code with direct modification access. Thus, receiving a "commit bit" (i.e. the rights of a committer) is a great honor for a code contributor, reflecting that the community as a whole trusts his/her work.

Committers elect the Core Team and other code-related administrative groups. The Core Team has managerial oversight of the direction of FreeBSD's code and the priorities of the code committing team writ large. The FreeBSD project functions almost wholly democratically, so the members of the Core Team play the important role of resolving disputes.

Many people contribute to FreeBSD in ways beside working with code, including writing (like those of us who write for the Wiki), speaking, submitting bug reports for the code contributors and committers, fundraising, and more. The FreeBSD Foundation is a non-profit organization dedicated to supporting and promoting the FreeBSD Project and community worldwide.

There is not any way of knowing how many computers have FreeBSD or a FreeBSD-derived operating system running on them, but the number is probably in the millions. FreeBSD's flexibility for server, firewall, embedded system, and desktop usage makes it highly popular. FreeNAS (an operating system for network attached storage), pfSense and OPNSense (enterprise-grade firewalls), and GhostBSD (an operating system specifically designed for regular desktop usage) are three (among many) globally famous projects that are actually custom builds of FreeBSD that come pre-configured with additional software. Since FreeBSD powers everything from the massive server arrays that Netflix uses to share online videos to Sony's Playstation video game consoles, it is probable that you already have interacted with FreeBSD in some capacity without even knowing it.

BSD License(s)

FreeBSD uses a simplified version of the original BSD License. All BSD Licenses are highly permissive, meaning (in simplest terms) that code released under BSD Licenses is truly open for anyone to use for any purpose as long as he/she does not claim to have written it and understands that the authors of the code are not liable in case of difficulties with it.

Contributors often volunteer their time for the good of the world with no expectation of anything in return. FreeBSD is a gift.

For FreeBSD's detailed legal information, see freebsd.org/copyright.

For the exact wording of FreeBSD's own License, see The FreeBSD Copyright.

How do I install FreeBSD on my computer?

Over the 30 years since FreeBSD became an independent project, its contributors have worked hard to make installation easy for most situations but extremely flexible for special use cases. Here we give just enough detail to cover simple small office and home installation scenarios.

For a more detailed installation guide, see Absolute FreeBSD (3rd ed.), Chapters 2--4 or Chapter 2 (Installing FreeBSD) in the Handbook.

Plan your installation

The most important part of any installation is planning. Only you, the person who intends to install FreeBSD, can know what your exact requirements are. More advanced users will need to answer big-picture questions of this kind, which we specifically show here to highlight some of FreeBSD's unique features (so, dear beginner, you may feel free to skip this for now and move directly to "Determine your hardware needs"):

Since you are a true beginner, it is likely that none of those 4 world-renowned features of FreeBSD means anything to you at this time. Fear not! We are halfway through this 30 minute Zero to Hero guide; let us not get bogged down in the details. You will learn about FreeBSD's myriad features as time continues.

Determine your hardware needs

For you, dear beginner, the most important step in planning your installation will be determining whether or not FreeBSD will work properly on your hardware.

The good news is that if you own a desktop, laptop, or server computer from when FreeBSD started (1993) or later, FreeBSD probably will work well on your device.

FreeBSD has four tiers of support for various CPU architectures. At this time, 64-bit x86 (amd64), which is the standard architecture for nearly all such computers built today (including both Intel and AMD CPUs), as well as 64-bit ARM, which is a popular architecture for embedded systems and single-board computers (e.g. the Raspberry Pi, on which FreeBSD runs perfectly), are both Tier 1, meaning that they are fully supported and have top overall priority. Many other architectures have Tier 2 (developmental) or Tier 3 (experimental) support.

If you do not know which architecture you have, and your PC is from about 2005 or later, then you have an amd64-based (Tier 1) system.

You should check our Wiki's Graphics and WiFi pages for the most up-to-date information about specific graphics cards and wireless networking cards, respectively.

Choose the best FreeBSD version for you

The next step is to choose which version of FreeBSD to install. For almost every beginner, the most recent -RELEASE is the best choice. -RELEASE has binary upgrades, which means that it can be upgraded automatically with a few keystrokes. The most recent -RELEASE also will have the widest range of modern hardware support with the most up-to-date features writ large of all -RELEASE versions that are supported at a given time. The list of currently supported -RELEASE versions is available at freebsd.org/where.

Create the installation medium

  1. Download the correct installation image from freebsd.org/where. The most reliable and fastest installation medium for modern amd64 hardware is a standard USB flash drive. Alternatively, you may use a CD-ROM or a DVD. For a flash drive, you will want a .img image. For a CD-ROM or DVD, you will want a .iso image. If your computer has a stable, wired (RJ-45) Internet connection available for it (not wireless, since that would require additional setup), we recommend the *-mini-memstick.img and *-bootonly.iso, which will automatically download fully updated versions of all system utilities and other parts of FreeBSD for you during installation. If your computer does not have such a connection, then we recommend the full *-memstick.img image for a USB flash drive or *-dvd1.iso image specifically for a DVD (which contains a more full fileset than *-disc1.iso for CD-ROMs).

Install FreeBSD

Once I have installed FreeBSD, how do I start using it?

Documentation: man pages & more

Common commands

Desktop environments & window managers

What common desktop software applications are available for FreeBSD?

Office software

Web browsers and email clients

Terminal emulators and geeky gadgets

Where can I learn more about FreeBSD?

Handbook, Wiki, and Man Pages -- oh, my!

IRC and mailing lists

Further Reading

Guidebooks

News

Bibliography

Absolute FreeBSD (3rd ed.) FreeBSD Handbook

CoreyStephan/ZeroToHero (last edited 2021-08-29T00:34:10+0000 by CoreyStephan)