This article will describe FreeBSD, a Unix-derived operating system that most of us consider a Linux operating system, and give some details pros and cons of FreeBSD.
Let’s start with the description of it.
FreeBSD is a free and open-source Unix-derived operating system. It was built for desktops, laptops, servers, and embedded systems that is based on the Berkeley Software Distribution (BSD) and runs a variety of platforms. It focuses mostly on features, speed, and stability.
Well, since when did free BSD exist, where do its roots go?
It was 1974. AT&T granted the University of California, Berkeley a Unix source license. With DARPA assistance, the Computer Systems Research Group began updating and enhancing AT&T Research Unix. This modified version was named "Berkeley Unix" or "Berkeley Software Distribution" (BSD), and it included technologies such as TCP/IP, virtual memory, and the Berkeley Fast File System. Bill Joy created the BSD project in 1976.
The first public version of BSD, "Networking Release 1," or simply Net-1, was released in June 1989. "Networking Release 2" (Net-2) would be incomplete without those AT&T files. Net-2 launched in 1991. On June 19, 1993, the name FreeBSD was decided for the project. In November 1993, the first version of FreeBSD was released
Figure 1. FreeBSD Version History
- Modules [kernel] “loadable” dynamically. It allows new types of File System, Network Protocols, or Binary Emulators to load into the system without having to create a new kernel.
- FreeBSD bhyve: The FreeBSD base system now (with FreeBSD 10) includes a new BSD-licensed, legacy-free hypervisor. It can presently run all supported versions of FreeBSD, as well as OpenBSD and Linux through the grub-bhyve port.
- As you may be familiar with Windows, In FreeBSD multi-user access is possible. That means a different user can perform their task simultaneously. All peripherals can be used as shared.
- FreeBSD can communicate with other systems thanks to the Full TCP / IP connection. Not only it can act as a Primary server but also performs critical duties such as FTP ,Firewall, email services, and Network File System
- The Ports Collection is a collection of over 23,000 third-party programs that can be installed and operated on FreeBSD with ease.
- If you require access to a large number of third-party programs, FreeBSD has more than four times the number of apps in the ports and packages system as OpenBSD.FreeBSD also offers a wealth of tuneable options for the kernel, filesystem, and network that OpenBSD does not.
- Jails are a light-weight alternative to virtualization
- FreeBSD Firewalls: IPFW and IPFilter are included in the basic system, as well as a modified version of the popular pf with better SMP performance. IPFW also contains the dummynet function, which allows network managers to mimic undesirable network circumstances such as latency, jitter, packet loss, and bandwidth limitations.
- The memory protection feature allows applications (or users) to avoid interfering with each other's tasks.
- The industry standard X Window (X11R6) system provides a graphical user interface (GUI) for the most common VGA cards and monitors, including all source code.
- DTrace, a sophisticated event-based performance analysis and troubleshooting tool is heavily ported to FreeBSD.
- Well-documented and always up-to-date online documentation is available.
- Support of Ultra-DMA peripherals in ISA Bus
The first official release. It was released in November 1993. 22.214.171.124 was released in July 1994.
The Ports Collection is a collection of port-related items feature launched with FreeBSD 1
Some remaining issues from the import of 386BSD have been fixed and some ported apps have been added (XFree86, XView, InterViews, elm, nntp) were the remarkable features of FreeBSD 1.
Released on 22 Nov. 1994 FreeBSD 2.0 was the first version of FreeBSD to be legally free of AT&T Unix code, with Novell's consent. It was the first version to be extensively utilized in the early days of Internet server spread. Significant changes can be listed as in this release.
- BSD-Lite 4.4 was used to replace the codebase (to satisfy terms of the USL v. BSDi lawsuit settlement).
- There is a new installer and a new boot manager.
- More filesystems are supported by loadable filesystems (MS-DOS, unionfs, kernfs).
- Loadable kernel modules from NetBSD were imported.
- phkmalloc has been used in place of BSD malloc.
- ELF allows for full Linux emulation.
- Shaped traffic on the dummynet.
Released in 16 October 1998.FreeBSD 3.0 was the first branch to enable symmetric multiprocessing (SMP) systems through the use of a Giant lock, and it marked the move from a.out to ELF executables. FreeBSD 3.1 was the first to provide USB capability, while 3.2-RELEASE was the first to include support for Gigabit network adapters.
4.0-RELEASE was released in March 2000, and the most recent 4-STABLE branch release was 4.11 in January 2005, which was maintained until January 31, 2007.FreeBSD 4 was praised for its reliability, was a preferred operating system for ISPs and web hosting providers during the first dot-com explosion, and is widely regarded as one of the most reliable and high-performance operating systems in the whole Unix family.
This release was launched on 14 January 2003. The FreeBSD 5.4 and 5.5 releases demonstrated that the technologies released in the FreeBSD 5.x branch would have a future in highly reliable and high-performing versions. Cryptography enabled by default in base. With this version, bluetooth started to be supported
In 1 November 2005 FreeBSD 6.x releases expanded work on SMP and threading optimization, as well as additional work on enhanced 802.11 capabilities, TrustedBSD security event auditing, substantial network stack performance increases, a fully preemptive kernel, and hardware performance counter support (HWPMC).
After 3 years later from FreeBSD 6 on 27 February 2008 FreeBDS 7 was launched.SCTP, UFS journaling, an experimental port of Sun's ZFS file system, GCC4, improved support for the ARM architecture, jemalloc (a memory allocator optimized for parallel computation,and major network, audio, and SMP performance updates and optimizations were among the new features of FreeBSD 7 distributions
FreeBSD 8 was released on 26 November 2009. A new virtualization container called "vimage" has been added. This is a FreeBSD jail that contains a virtualized instance of the FreeBSD network stack and is built with the jail command. The FreeBSD netisr (Kernel network dispatch service) framework has been rewritten to allow parallel threading. The FreeBSD TTY updated with a new FreeBSD TTY that supports SMP and has more robust resource handling. FreeBSD 8 started to support USB 3.0
FreeBSD 9 released 12 January 2012. One bsdinstall installer has been introduced and is utilized by the ISO images included with this version.ZFS has been upgraded to version 28. Softupdates journaling is now supported by the Fast Filesystem. Highly Available Storage (HAST) framework has been implemented. The NFS subsystem has been upgraded, and the new version now supports NFSv4 in addition to NFSv3 and NFSv2.
FreeBSD release date 20 January 2014.Capsicum has been enabled by default in the kernel, facilitating sandboxing of various programs that run in the "capabilities mode.virtio support has been added.
Support for the Raspberry Pi has been added.FreeBSD Raspberry Pİ Installation can be accessed from that connection.
The stable version of FreeBSD 11 was launched on October 10, 2016. The new version of NetMap introduced in this release. Parallel mounting has been added to the ZFS filesystem.Trim(8), which deletes material for blocks on flash-based storage devices that employ wear-leveling methods, has been added.64-bit ARM Architecture support became available.
FreeBSD 12 released date 11 December 2018. With this release, the ext2fs(5) filesystem has been upgraded to enable full read/write functionality for the ext4 filesystem.FreeBSD has altered how graphics drivers are handled on amd64 and i386 platforms. The Ports Collection now includes graphics drivers for current ATI-AMD and Intel graphics devices.
FreeBSD 13 released date 13 April 2021. FreeBSD 13 is now available, including significant improvements such as the transition to a new OpenZFS filesystem and an improved toolchain that attempts to unify FreeBSD across all platforms.Dropping support for obsolute drivers result in better performance on modern machines.Although ZFS support has been there for some time, the switch to the new OpenZFS tree guarantees that users have access to the most up-to-date capabilities.This version has prioritized codebase cleanup and performance enhancements.
Let's look at the advantages of FreeBSD, which forms the infrastructure of many known systems from Netflix to Mac Os.
Some of the main advantages of using FreeBSD can be listed as easy installation, being free, secure, and stable. Let’s look at these in detail.
FreeBSD provides detailed installation documentation for a variety of platforms. Even if you are not familiar with other operating systems (Linux,unix) you can install it with the help of documentation.FreeBSD may be installed via a CD-ROM, DVD, or directly using FTP or NFS with the guidance of documentation.
Normally, such a full-fledged operating system is thought to be paid but FreeBSD is free of charge and available with its code.
Security is highly important to FreeBSD, and its developers are continuously trying to make the operating system as safe as possible.BSD and Unix have a well-deserved industry reputation for rock-solid (though not flawless, as misconfiguration can lead to vulnerabilities) security and stability.
When we look at the perspective of a number of vulnerabilities that Linux and FreeBSD systems faced.FreeBSD is 7 times lower than Linux in the last 20 years (Of course, Linux is more widely used and is the target of bad actors.)
Figure 2. The last 20 years of FreeBSD vs Linux Vulnerability Counts
Another factor that makes BSD safe is that it is built on a monolithic kernel.
In addition to its Security advantage over other OS, FreeBSD provides a stability edge.FreeBSD servers have been known to run for years without issue.
These are sufficient reasons for us to prefer FreeBSD over other OS.
Let us now have a look at some of its drawbacks.
One of the most complaining aspects of FreeBSD is less developer support.
Getting to terms with a new and sophisticated operating system is never easy, no matter how appealing the graphical user interface seems. In this regard, FreeBSD is no different. Less community support especially for newbies can lead to understanding problems.
The FreeBSD installer is available in a variety of formats, including ISO Disc Images in CD (disc1), DVD (dvd1), and Network Install (boot only) sizes, as well as normal and small USB memory stick images.
You can download the installer, VM Images, SD Card Images according to your environment and preferences
Figure 3. FreeBSD Download
I will explain installing FreeBSD on an Oracle VM in this article
First, you need to download the FreeBSD ISO file according to your needs and environment
Or You can get the latest VM images from
Figure 4. VirtualBox Download
To create a virtual environment we need to have a virtualization program. In this tutorial, VirtualBox will be used.
Download VirtualBox from
https://www.virtualbox.org/ according to your OS.
After downloading it you can install it very straightforward
After installing it we can start to configure our virtual FreeBSD 13 machine.
Create a new Virtual Machine on Virtualbox by clicking icon
Figure 5. Create Virtual Machine
Type the name of your Virtual FreeBSD OS, you may change the Machine Folder also.
In this example, the 32bit version will be used for installation.
Figure 6. Select the Amount of Memory Size
Determine Memory Size according to your needs and resources.32bit FreeBSD allows a maximum 4GB ram
Figure 7. Create Virtual Hard disk
We are creating from scratch so that select the 2nd option
Figure 8. Select the hard disk file type
Choose the type of file that you would use for the new virtual hard disk. Choose the 1st option
Figure 9. Select storage type
Choose the storage type. We are going to choose dynamically allocated.
Figure 10. File location and size
Select the file location and select the size based on your available disk resources.
Figure 11. FreeBSD settings on VirtualBox
After creating VirtualBox you need to configure VM settings. Click to
Figure 12. Adjust Processor(s)
Modify processor settings according to your resources. The more you have a processor the more you can allocate.
Figure 13. Adjust Screen Settings
If you don't use it for graphical work you can specify minimum video memory.
Figure 14. IDE Settings
Figure 15. Select Optical Drive to load iso file
You need to select the iso file by clicking the Optical Drive and choose the iso file.
Figure 16. Network Settings
The network setting should be Bridged Adapter to connect your VM from your host OS.
After clicking OK you finish your configuration.
Now you can start your Virtual Box by using the VM Management page.
Figure 17. Start Virtual Machine
After starting FreeBSD , the opening windows will ask you to select iso image.
Figure 18. Select start-up disk
Select the FreeBSD iso and click start
Figure 19. Booting FreeBSD on VirtualBox
Your VM FreeBSD is booting now
Figure 20. Welcome to FreeBSD
To start installation Click Install
Figure 21. Keyboard selection on FreeBSD
Select your keyboard from the keyboard map. Then click Continue
Figure 22. Set Hostname
Give a hostname for your FreeBSD
Figure 23. Distribution Select
For minimum configuration select only kernel-dbg
Figure 24. Partitioning
Partitioning will be Auto (UFS)
Figure 25. Partition
After selecting partitioning, you will be asked to create a partition or not. Select the Entire disk and continue
Figure 26. Partition Scheme
Choose the MDR Dos Partitions and click OK
Figure 27. Partition Edition
You may change partition sizes or you can continue as default. Click Finish
Figure 28. Confirmation for Partition Edition
After all setting done you will be warned about
Your changes will now be written to disk. If you have chosen to overwrite existing data, it will be PERMANENTLY ERASED. Are you sure you want to commit your changes?
Commit and continue.
Figure 29. Fetching Distribution
After committing Distribution files will be fetched and extracted then will be installed.
Figure 30. Set Password
If you have successfully installed FreeBSD you will see this window that is asking you to specify a Root (admin) password for your operating system. Type a password secure and memorable. While typing you won’t see any character but it will write.
Figure 31. Network Configuration
In this section you need to set your Network Configuration.This home network and we are selecting wifi and click OK
Figure 32. DHCP Configuration
If you want to use DHCP click Yes
Figure 33. IPv6 Configuration
Click NO for IPv6 configuration
Figure 34. Resolver Configuration
You can specify different DNS like google 126.96.36.199 or you can use your DNS Server
Figure 35. Time Zone Configuration
Set your time zone on this screen
Figure 36. Time and Date Settings
Set the time
Figure 37. System Configuration
For System Configuration choose the proper needs for you . Selected two services are enough for us now.
Figure 38. System Hardening
Figure 39. Add User
You add another user later. Click No
Figure 40. Final Configuration
If you have finished the configuration you can exit or you can continue to modify previous settings.
Click OK to continue.
Figure 41. Manual Configuration
After installation has been completed. You need to manually modify some configs
We need to change some configs manually.
Figure 42. Modify the remote connection config file
To modify the remote connection config file. Type ee /etc/sh/sshd.config
Figure 43. Permit Root Login
Firstly change the Permit Root Login as yes. And delete # comment sign.
Figure 44. Password Authentication
Change the PasswordAuthentication settings as yes
Figure 45. Leave Menu
After configs have been completed press ESC and select a
poweroff command to shutdown your FreeBSD
Figure 46. Eject the iso image from Optical Drive
In shutdown mode, we need to eject the iso image from Optical Drive. After ejection Boot your FreeBSD by clicking
Figure 47. Login FreeBSD
After booting on the login page type your username (
password that you have specified. With the ifconfig command, you can learn the IP address of your FreeBSD and you can connect it as remote with any SFTP SSH tools.
That’s it . You have a fresh virtual FreeBSD now.