Zero to Hero
Learn the basics of FreeBSD in 30 minutes
Contents
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:
- What is FreeBSD?
- How do I install FreeBSD on my computer?
- Once I have installed FreeBSD, how do I start using it?
- What common desktop software applications are available for FreeBSD?
- Where can I learn more about FreeBSD?
With this guide, our shared goal is to answer all fundamental questions of this kind. Broadly speaking, then, we aim to provide:
- a document that is truly helpful for complete newcomers to FreeBSD with as few hidden assumptions about pre-existing knowledge as possible
- an introduction to the FreeBSD operating system, the project behind the operating system, and the community that surrounds both the operating system and the project
- a guide by which anyone can learn the basics of FreeBSD in as few as 30 minutes
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:
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.
Whereas the Handbook tends to be theoretical with tangible examples only as needed, this guide is chiefly practical.
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.
- What is FreeBSD? (5 minutes)
- History (2 minutes)
- FreeBSD Today (2 minutes)
- BSD License(s) (1 minute)
- How do I install FreeBSD on my computer? (5 minutes)
- Plan your installation (2 minutes)
- Create the installation medium (1 minute)
- Install FreeBSD (2 minutes)
- Once I have installed FreeBSD, how do I start using it? (6 minutes)
Documentation: man pages & more (2 minutes)
- Common commands (2 minutes)
Desktop environments & window managers (2 minutes)
- What common desktop software applications are available for FreeBSD? (9 minutes)
- Office software (3 minutes)
- Web browsers and email clients (3 minutes)
- Terminal emulators and geeky gadgets (3 minutes)
- Where can I learn more about FreeBSD? (5 minutes)
- Handbook, Wiki, and Man Pages -- oh, my! (2 minutes)
- IRC and mailing lists (2 minutes)
- 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"):
Do you need to build a ZFS pool to preserve a high degree of data integrity with crucial features like automatic healing being a part of the operating system itself? If so, read Chapter 20 (The Z File System) in the 'Handbook' or Chapter 12 (The Z File System) of Absolute FreeBSD (3rd ed.).
Should you integrate Jails into your installation as a fundamental part of its operation for the complete isolation of processes as a way to limit a potential intruder's number of attack surfaces while reducing the odds of a system crash if an unstable third-party application should fail? If so, read Chapter 15 (Jails) in the Handbook or Chapter 22 (Jails) of Absolute FreeBSD (3rd ed.).
Do you need the Linux Binary Compatibility layer, a.k.a. Linuxulator, for a pseudo-native installation of some piece of software that happens to be available for GNU/Linux but not FreeBSD? If so, see Chapter 10 (Linux Binary Compatibility) in the Handbook or the end of Chapter 17 (Advanced Software Management) of Absolute FreeBSD (3rd ed.).
Should you build a custom kernel, say, to add some key hardware support or to reduce FreeBSD to a radically small total footprint for an embedded system? If so, read Chapter 8 (Configuring the FreeBSD Kernel) in the Handbook or Chapter 6 (Kernel Games) in Absolute FreeBSD (3rd ed.).
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
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
All Users: The most up-to-date comprehensive guidebook is Michael W. Lucas's Absolute FreeBSD, 3rd ed (No Starch Press, 2019). This volume should be accessible for anyone with at least an elementary understanding of Unix-like operating systems, but true newcomers are likely to need to cross-check some concepts and terms in the FreeBSD Handbook, here in the FreeBSD Wiki, and/or elsewhere.
Advanced Users: Robert N. M. Watson, George V. Neville-Neil, and Marshall Kirk McKusick's The Design and Implementation of the FreeBSD Operating System, 2nd ed. (Addison-Wesley Professional, 2014) is an exceedingly intricate study that is meant for kernel developers, software engineers, and other persons who work on or with the operating system at an advanced level.
News
Official: The FreeBSD Journal is the FreeBSD Foundation's official magazine.
Unofficial: FreeBSDNews is a news website maintained by members of the FreeBSD community.
Bibliography
Absolute FreeBSD (3rd ed.) FreeBSD Handbook