1. Introduction

Written by users of the TrueOS® operating system. Maintained and edited by Dru Lavigne and Tim Moore.

Welcome to TrueOS®!

This Handbook covers the installation and use of TrueOS®. This Handbook is a work in progress and relies on the contributions of many individuals. To assist with the Handbook, refer to the documentation README. If using IRC Freenode, join the #trueos channel and converse with many other TrueOS® users. Gitter is another popular option for users.

TrueOS® (formerly known as PC-BSD®) began in 2005 when Kris Moore presented the first beta version of a FreeBSD operating system pre-configured for desktop use. Since then, TrueOS® has matured into a polished, feature-rich, free-of-charge, open source operating system that meets the desktop or server needs of the beginner to the advanced user alike.

TrueOS® is essentially a customized installation of FreeBSD, not a forked derivative. Since the underlying FreeBSD system is kept intact, you have a fully functional FreeBSD system under the hood. TrueOS® provides an easy-to-use installer which can be used to install a desktop or a server version of FreeBSD. Other differences from FreeBSD include:

  • TrueOS® pre-configures the BSD-licensed Lumina® desktop environment during a desktop installation. Additional desktop environments can be installed and appear in the login menu, allowing the user to select their environment.
  • The TrueOS® installer supports configuring ZFS and encryption during installation.
  • TrueOS® provides both a graphical and command line software management system.
  • TrueOS® provides many graphical utilities for configuration and management. These utilities have both a command line equivalent and a REST and WebSocket API so they can also be used to manage multiple systems.
  • TrueOS® comes pre-configured with a number of automatic scripts for performing tasks like connecting digital cameras or USB memory sticks.
  • The TrueOS® boot menu supports boot environments or snapshots of the operating system, and the TrueOS® Update Manager automatically adds a new boot environment to the boot menu before updating the operating system or software. With this functionality, if an update fails the system can reboot into the previous version of the operating system, before the update installed.

While it began as an independent project, TrueOS® is financially backed and supported by the enterprise-class hardware solutions provider iXsystems since October 2006.

1.1. Features

TrueOS® provides many features:

  • Easy installation: To install either a graphical desktop or command-line server, simply insert the installation media, reboot the system to start the installer, and answer a few questions in the installation menus.
  • Automatically configured hardware: Video, sound, network, and other devices configure automatically during installation.
  • Customizable desktop interface: TrueOS® installs the Lumina® desktop, but additional desktop environments can be installed to support day-to-day computing needs.
  • Easy software management: With the SysAdm AppCafe, installing, upgrading, and uninstalling software is safe and easy.
  • Lots of software available: AppCafe® is used to install software ported to FreeBSD (currently over 26,100 applications).
  • Easy to update: TrueOS® (with SysAdm) provides a built-in Update Manager which provides notifications of available updates. This utility makes it easy to apply operating system security fixes, bug fixes, and system enhancements. Additionally, the Update Manager is used to upgrade the operating system or update installed software.
  • No defragmentation: TrueOS® hard drives never need defragmenting and are formatted with OpenZFS, a self-healing filesystem.
  • Laptop support: Provides power saving, swap space encryption, and automatic switching between wired and wifi network connections. Also, the rolling release model of TrueOS® provides an environment to quickly add support for new hardware.
  • Easy system administration: TrueOS® provides many graphical tools for performing system administration.
  • Localization: TrueOS® supports a variety of native languages and locales.
  • Vibrant community: TrueOS® has a friendly and helpful community.

1.1.1. Security

Your TrueOS® system is secure by default. This section provides an overview of the built-in security features. If you want to know more about increasing the security of your system beyond its current level, additional resources are also provided in this section.

The security features built into TrueOS® include:

  • Naturally immune to viruses and other malware: Most viruses are written to exploit Windows systems and do not understand the binaries or paths found on a TrueOS® system. Antivirus software is still available in the Security section of AppCafe®, as this is useful when sending or forwarding email attachments to users running other operating systems.
  • Potential for serious damage is limited: File and directory ownership and permissions along with separate user and group functions mean, as an ordinary user, any program executed is only granted the abilities and access of the user. A user not a member of the wheel group can not switch to administrative access and can not enter or list the contents of a directory not been set for universal access.
  • Built-in firewall: The default firewall ruleset allows accessing the Internet and the shares available on your network, but does not allow any inbound connections to your computer.
  • Very few services are enabled by default: View which services are started at boot time by reading through the output of rc-update.
  • SSH is disabled by default: SSH can only be enabled by the superuser. This setting prevents bots and other users from trying to access your system. If SSH is needed, add sshd_enable=YES to /etc/rc.conf. Start the service by typing service sshd start. A firewall rule also needs to be added using the SysAdm Firewall Manager to allow SSH connections over TCP port 22.
  • SSH root logins are disabled by default: If SSH is enabled, login as a regular user and use su or sudo when administrative actions are required. Do not change this setting, as it prevents an unwanted user from having complete access to the system.
  • sudo is installed: It is configured to allow users in the wheel group permission to run an administrative command after typing their password. By default, the first user created during installation is added to the wheel group. Use the SysAdm User Manager to add other users to this group. Change the default sudo configuration using visudo as the superuser.
  • AES instruction set (AESNI) support is loaded by default for the Intel Core i5/i7 processors that support this encryption set. This support speeds up AES encryption and decryption.
  • Automatic notification of security advisories: The SysAdm Update Manager automatically notifies you if an update is available as the result of a security advisory affecting TrueOS®. This allows you to keep your operating system fully patched with just the click of a mouse.
  • The TrueOS® operating system and its available software packages are built with LibreSSL, which has fewer vulnerabilities than OpenSSL.
  • PersonaCrypt allows a user to use a removable, encrypted device as their home directory.
  • Tor Mode can be used to anonymously access Internet sites as it automatically forwards all Internet traffic through the Tor Project’s transparent proxy service.

To learn more about security on FreeBSD and TrueOS® systems, man security is a good place to start. These resources provide more information about security on FreeBSD-based operating systems:

1.1.2. ZFS Overview

ZFS is an enterprise grade file-system, which provides many features. These include: support for high storage capacities, high reliability, the ability to quickly take snapshots, boot environments, continuous integrity checking and automatic repair, RAIDZ which was designed to overcome the limitations of hardware RAID, and native NFSv4 ACLs.

If new to ZFS, the Wikipedia entry on ZFS provides an excellent starting point to learn about its features. Additionally, FreeBSD Mastery: ZFS by Michael W Lucas and Allan Jude is a helpful ZFS resource as it is implemented in FreeBSD.

These resources are also useful to bookmark and peruse as needed:

Table 1.1.1 is a brief glossary of terms used by ZFS:

Table 1.1.1 ZFS Terms
Term Description
Pool A collection of devices providing physical storage and data replication managed by ZFS. This pooled storage model eliminates the concept of volumes and the associated problems of partitions, provisioning, wasted bandwidth, and stranded storage. Thousands of filesystems can draw from a common storage pool, each one consuming only its required space. The combined I/O bandwidth of all devices in the pool is available at all times to all filesystems. The Storage Pools Recommendations of the ZFS Best Practices Guide provides detailed recommendations for creating the storage pool.
Mirror A form of RAID where all data is mirrored onto two or more disks, creating a redundant copy should a disk fail.
RAIDZ ZFS software solution equivalent to RAID5, as it allows one disk to fail without losing data. Requires at least 3 disks.
RAIDZ2 Double-parity ZFS software solution similar to RAID6, as it allows two disks to fail without losing data. Requires a minimum of 4 disks.
RAIDZ3 Triple-parity ZFS software solution. RAIDZ3 offers three parity drives and can operate in degraded mode if up to three drives fail with no restrictions on which drives can fail.
Dataset Once a pool is created, it can be divided into datasets. A dataset is similar to a folder as it supports permissions. A dataset is also similar to a filesystem since properties such as quotas and compression can be set.
Snapshot A read-only, point-in-time copy of a filesystem. Snapshots can be created quickly and, if little data changes, new snapshots take very little space. For example, a snapshot with no changed files takes 0 MB of storage, but a changed 10 GB file will store both old and new versions. Snapshots provide a clever way of keeping a history of files, should an older copy or even a deleted file need to be recovered. For this reason, many administrators snapshot often (e.g. every 15 minutes), store them for a period of time (e.g. for a month), and store them on another system. Such a strategy allows the administrator to roll the system back to a specific time, or if there is a catastrophic loss, an off-site snapshot can restore the system up to the last snapshot interval (e.g. within 15 minutes of the data loss). Snapshots can be cloned or rolled back, but the files on the snapshot can not be accessed independently.
Clone A writable copy of a snapshot which can only be created on the same ZFS volume. Clones provide an extremely space efficient way to store many copies of mostly-shared data such as workspaces, software installations, and diskless clients. Clones do not inherit the properties of the parent dataset, but rather inherit the properties based on where the clone is created in the ZFS pool. Because a clone initially shares all its disk space with the original snapshot, its used property is initially zero. As changes are made to the clone, it uses more space.
ZIL A filesystem journal that manages writes. The ZIL is a temporary storage area for sync writes until they are written asynchronously to the ZFS pool. If the system has many sync writes, such as from a database server, performance can be increased by adding a dedicated log device known as a SLOG (Secondary LOG). If the system has few sync writes, a SLOG will not speed up writes. When creating a dedicated log device, it is recommended to use a fast SSD with a supercapacitor or a bank of capacitors able to handle writing the contents of the SSD’s RAM to the SSD. If a dedicated log device is needed, the SSD should be half the size of system RAM, as anything larger is unused capacity. Note a dedicated log device can not be shared between ZFS pools, and the same device cannot hold both a log and a cache device.
L2ARC ZFS uses a RAM cache to reduce read latency. If an SSD is dedicated as a cache device, it is known as an L2ARC and ZFS uses it to store more reads which can increase random read performance. However, adding a cache device will not improve a system with too little RAM and actually decreases performance, as ZFS uses RAM to track the contents of L2ARC. RAM is always faster than disks, so always add as much RAM as possible before determining if the system would benefit from a L2ARC device. If a lot of applications do large amounts of random reads on a dataset small enough to fit into the L2ARC, read performance may be increased by adding a dedicated cache device. SSD cache devices only help if the working set is larger than system RAM, but small enough that a significant percentage of it fits on the SSD. Note a dedicated L2ARC device can not be shared between ZFS pools.

1.2. TrueOS® Comparisons

As TrueOS® grows and evolves, many users appreciate comparisons with other operating systems. These comparisons are intended to help new users deciding to install and try TrueOS®, with accuracy being the chief concern.

1.2.1. FreeBSD and PC-BSD

These features or enhancements were introduced for TrueOS® and now separate TrueOS® from PC-BSD®:

Note

PC-BSD® and FreeBSD are placed together as both are very similar “under the hood”. Differences for either OS to TrueOS® are listed here.

  • Based on FreeBSD-CURRENT.

  • The GRUB bootloader has been replaced by the FreeBSD bootloader, which now provides both GELI and boot environment support.

  • Quick boot times with OpenRC: TrueOS® is using OpenRC as part of the init process to start services in parallel. This results in dramatically improved system boot times for TrueOS®. OpenRC is also used to improve general service management, in addition to adding the functionality to automatically run when new elements are introduced to the system, such as plugging in an ethernet cable. Use of OpenRC introduces a new level of differentiation from FreeBSD as TrueOS® now uses some different system services. These differences are listed in Table 1.2.1

    Table 1.2.1 Different system services between TrueOS® and FreeBSD
    TrueOS® Service Started From FreeBSD Service
    openntpd Ports ntpd
    network Base netif
    wpa_supplicant Ports; Start with network wpa_supplicant (from Base)
    dhcpcd Ports dhclient

    Note

    The Different system services between TrueOS® and FreeBSD table is updated as development continues on the TrueOS® implementation of OpenRC. For a complete list of all available services through OpenRC, see Services and runlevels.

  • A TrueOS® installation installs the Lumina® Desktop. Additional window managers can be installed using AppCafe®.

  • The SysAdm™ Client and Server has replaced Control Panel. Most of the utilities from the Control Panel are rewritten to use the SysAdm middleware. Under the hood, SysAdm provides REST and WebSocket APIs for securely managing local and remote FreeBSD and TrueOS® systems.

  • Many utilities have been converted to the SysAdm API and are available through SysAdm:

    • AppCafe
    • Update Manager
    • Boot Environment Manager
    • Life Preserver
    • Firewall Manager
    • User Manager
    • Network Manager
  • The functionality provided by the About utility is incorporated into Lumina Information.

  • The functionality provided by the Service Manager (pc-servicemanager) is integrated into SysAdm.

  • The Active Directory & LDAP utility (pc-adsldap) is deprecated.

  • Login Manager (pc-dmconf) is replaced by pcdm-config).

  • System Manager (pc-sysmanager) is deprecated.

  • freebsd-update is retired in favor of using pkg for system updates.

  • The option to use the SCFB display driver is added to the installer. This driver is suitable for newer UEFI laptops as it automatically detects native resolution and is a good solution for newer Intel drivers that have not been ported yet to FreeBSD. Before selecting this driver, check the BIOS and ensure the CSM module is disabled. This driver does not support a dual-head configuration, such as an external port for presentations, or suspend and resume.

  • Customize is removed from the System Selection screen in order to reduce the size of the installation media. Additional software can be installed post-installation using AppCafe®.

  • The Boot to console (Disable X) option has been added to the graphical boot menu.

  • These new utilites are available in the SysAdm Client: Managing Remote Connections and Task Manager.

  • The graphical and command line versions of PBI Manager and Warden are removed.

  • pc-thinclient is removed as it is deprecated.

1.2.2. Linux and TrueOS®

TrueOS® is based on FreeBSD, meaning it is not a Linux distribution. If you have used Linux before, you may find some features you are used to have different names on a BSD system and some commands are different. This section covers some of these differences.

BSD and Linux use different filesystems during installation. Many Linux distros use EXT2, EXT3, EXT4, or ReiserFS, while TrueOS® uses OpenZFS. This means if you wish to dual-boot with Linux or access data on an external drive formatted with another filesystem, you will want to research if the data is accessible to both operating systems.

Table 1.2.2 summarizes the various filesystems commonly used by desktop systems. TrueOS® automatically mounts several filesystems: FAT16, FAT32, EXT2, EXT3 (without journaling), EXT4 (read-only), NTFS5, NTFS6, and XFS. See the section on Files and File Sharing for a comparison of some graphical file manager utilities.

Table 1.2.2 Filesystem Support on TrueOS®
Filesystem Native to Non-native support type Usage notes
Btrfs Linux none  
exFAT Windows none requires a license from Microsoft
EXT2 Linux r/w support loaded by default  
EXT3 Linux r/w support loaded by default since EXT3 journaling is not supported, you will not be able to mount a filesystem requiring a journal replay unless you fsck it using an external utility such as e2fsprogs
EXT4 Linux r/o support loaded by default EXT3 journaling, extended attributes, and inodes greater than 128 bytes are not supported; EXT3 filesystems converted to EXT4 may have better performance
FAT16 Windows r/w support loaded by default  
FAT32 Windows r/w support loaded by default  
HFS+ Mac OS X none older Mac versions might work with hfsexplorer
JFS Linux none  
NTFS5 Windows full r/w support loaded by default  
NTFS6 Windows r/w support loaded by default  
ReiserFS Linux r/o support is loaded by default  
UFS2 FreeBSD check if a Linux distro provides ufsutils; r/w support on Mac; UFS Explorer can be used on Windows changed to r/o support in Mac Lion
ZFS TrueOS®, FreeBSD    

Linux and BSD use different naming conventions for devices. For example:

  • In Linux, Ethernet interfaces begin with eth. With BSD, interface names indicate the name of the driver. For example, an Ethernet interface may be listed as re0, indicating it uses the Realtek re driver. The advantage of this convention is you can read the man 4 page for the driver (e.g. type man 4 re) to see which models and features are provided by the driver.
  • BSD disk names differ from Linux. IDE drives begin with ad and SCSI and USB drives begin with da.

Some of the features used by BSD have similar counterparts to Linux, but the name of the feature is different. Table 1.2.3 provides some common examples:

Table 1.2.3 BSD and Linux Feature Names
TrueOS Linux Description
IPFW iptables Default firewall
/etc/init.d/ for operating system and /usr/local/etc/init.d/ for applications rc0.d/, rc1.d/, etc. In TrueOS®, the directories containing the startup scripts do not link to runlevels as there are no runlevels. System startup scripts are separated from third-party application scripts.
/etc/ttys and /etc/rc.conf telinit, init.d/ Terminals configured in ttys and rc.conf indicate which services start at boot time.

Users comfortable with the command line may find some of the common Linux commands have different names on BSD. Table 1.2.4 lists some common commands and what they are used for.

Table 1.2.4 Common BSD and Linux Commands
Command Used
dmesg discover what hardware was detected by the kernel
sysctl dev display configured devices
pciconf -l -cv show PCI devices
dmesg | grep usb show USB devices
kldstat list all modules loaded in the kernel
kldload <module> load a kernel module for the current session
pkg install <pkgname> install software from the command line
sysctl hw.realmem display hardware memory
sysctl hw.model display CPU model
sysctl hw.machine_arch display CPU Architecture
sysctl hw.ncpu display number of CPUs
uname -vm get release version information
gpart show show device partition information
fuser list IDs of all processes with one or more files open

There are many articles and videos which provide additional information about some of the differences between BSD and Linux:

1.2.3. TrueOS and Windows

TrueOS® uses several similar, but different elements to their counterparts on Windows. Table 1.2.5 highlights a few of these:

Note

This table isn’t meant to be an exhaustive listing of applications, but simply provide a few TrueOS/FreeBSD equivalents for users familiar with their previous operating system.

Table 1.2.5 TrueOS/Windows equivalents
Element Windows TrueOS
Office Applications Microsoft Office LibreOffice
Image editing Photoshop GIMP
PDF viewing Acrobat Okular
Media Player Windows Media VLC Media Player
Internet Browsing Internet Explorer and many options Chromium, Firefox and many options

Here are a few resources that go into greater detail examining the differences between Windows and BSD:

1.3. Virtualization

A virtualized environment allows a user to test drive an operating system without overwriting the current operating system. This is an excellent way to practice installation, determine whether the hardware is supported, or to try multiple versions of different operating systems. Virtualization software effectively creates windows (known as virtual machines) to install and use an operating system. The only limitation to virtualization is the hardware, as each virtual machine uses CPU and RAM. Depending upon the amount of CPU and RAM in the computer, the installed operating system using virtualization software may run slowly. If the computer slows down, try closing other applications running on the computer to free up some RAM.

To run virtualization software on TrueOS®, search for virtualbox within the SysAdm AppCafe and install the VirtualBox open source virtualization program and the VirtualBox Guest Additions. The guest additions add mouse pointer integration, shared folders between the host and guest, better video support, and a shared clipboard.

Note

The first time running VirtualBox on a TrueOS® system, a background script automatically gives the user account the permissions required to run this application. This might break any existing shortcuts to VirtualBox. To fix the shortcut, logout and in again.

If the computer is running another operating system, download the binary for the specific operating system from the VirtualBox Downloads page. VirtualBox runs on Windows, Linux, Macintosh, and OpenSolaris. It supports a large number of virtual machine installable operating systems.

This section describes how to prepare VirtualBox for an installation of TrueOS® using an .iso file.

1.3.1. Creating a Virtual Machine for an ISO File

Once the TrueOS® ISO is downloaded and VirtualBox installed on the current system, create a virtual machine and use the ISO to install TrueOS® into the virtual machine. The virtual machine must meet several minimum requirements and this section will demonstrate how to configure these:

  • 1024 MB base memory size.
  • A virtual disk at least 20 GB in size for a server installation or at least 50 GB in size for a desktop installation.
  • A bridged adapter.

To create the virtual machine, start VirtualBox to see the screen shown in Figure 1.3.1.

_images/vbox1a.png

Fig. 1.3.1 VirtualBox Menu

Click New to start the new virtual machine wizard and display the screen in Figure 1.3.2.

_images/vbox2a.png

Fig. 1.3.2 Create Virtual Machine - Name, Type, and Version

Enter a name for the virtual machine; it can be anything which makes sense to you. Click the Operating System drop-down menu and select BSD. In the Version drop-down menu, select FreeBSD (64 bit). Click Next to see the screen in Figure 1.3.3.

_images/vbox3a.png

Fig. 1.3.3 Virtual Machine Reserved Memory

The base memory size must be changed to at least 1024 MB. If the system has a lot of RAM, use more. Any number within the green area is considered a safe value by VirtualBox, meaning it should not slow down the computer too much. When finished, click Next to see the screen in Figure 1.3.4.

_images/vbox4a.png

Fig. 1.3.4 Virtual Hard Drive - New or Existing

This screen is used to create the virtual hard drive, or the amount of disk space available to the virtual machine. If this is your first virtual machine, keep the default of Create a virtual hard drive now and click Create to go to the screen shown in Figure 1.3.5. If you have created a virtual machine in the past and wish to reuse its disk space, select Use an existing virtual hard drive file from the drop-down menu. Create as many virtual machines as desired. However, if the computer is getting low on disk space, consider reusing existing virtual hard drives to prevent the physical hard drive from being used up by old virtual machines.

_images/vbox5a.png

Fig. 1.3.5 Hard Drive Type

Select VDI and click Next to see the screen in Figure 1.3.6.

_images/vbox6a.png

Fig. 1.3.6 Storage Type

Now choose whether to have Dynamically allocated or Fixed size storage. The first option uses disk space as needed until it reaches the maximum size set in the next screen. The second option creates a disk the same size as that specified amount of disk space, whether it is used or not. Choose the first option if disk space is a concern; otherwise choose the second option as it allows VirtualBox to run slightly faster. Once Next is selected, the screen in Figure 1.3.7 displays.

_images/vbox7a.png

Fig. 1.3.7 Virtual Disk - File Name and Size

This screen is used to set the size (or upper limit) of the virtual machine. If planning to install TrueOS® into the virtual machine, increase the size to at least 20 GB or an error will display during the TrueOS® installation. If planning to install KDE, GNOME, multiple desktop managers, or applications within the virtual machine, choose at least 50 GB. Whatever size is set, be sure the computer has enough free disk space to support it. Use the folder icon to browse to a directory on disk with sufficient space to hold the virtual machine.

Once the selections are made, press Create to finish using the wizard. The virtual machine will now show up in the left box, as seen in the example in Figure 1.3.8.

_images/vbox8a.png

Fig. 1.3.8 New Virtual Machine “test”

In order to use the network card, configure bridging on the virtual machine. To do this, go to Settings Network. In the Attached to drop-down menu select Bridged Adapter, then select the name of the physical interface from the Name drop-down menu. In the example shown in Figure 1.3.9, the Intel Pro/1000 Ethernet card is attached to the network and has a device name of re0.

_images/vbox9a.png

Fig. 1.3.9 VirtualBox Bridged Adapter Configuration

Before starting the virtual machine, configure it to use the installation media. Click the Storage hyperlink in the right frame to access the storage screen seen in Figure 1.3.10.

_images/vbox10a.png

Fig. 1.3.10 Virtual Machine Storage Settings

Double-click the word Empty, which represents the DVD reader. To access the TrueOS® installer from the DVD reader, double-check the Slot is pointing to the correct location (e.g. IDE Secondary Master) and use the drop-down menu to change it if the location is incorrect.

If using an ISO stored on the hard disk is preferred, click the DVD icon then Choose a virtual CD/DVD disk file to open a browser menu to navigate to the location of the ISO. Highlight the desired ISO and click Open. The name of the ISO will now appear in the Storage Tree section.

TrueOS® is now ready to be installed into the virtual machine. Highlight the virtual machine and click on the green Start icon. A window opens, indicating the virtual machine is starting. If a DVD is inserted, it should audibly spin and the machine will start to boot into the installation program. If it does not or if using an ISO stored on the hard disk, press F12 to select the boot device when the message to do so appears, then press c to boot from CD-ROM. Proceed through the installation as described in the Install section.

Note

If the installer GUI doesn’t appear to load after configuring your virtual machine, you may need to enable EFI in Virtualbox by navigating Settings System Motherboard and checking Enable EFI (special OSes only).

1.4. Supported Hardware

While the TrueOS® installer is very easy to use, installing a brand new operating system can sometimes be a daunting task.

Before beginning, there are a few things to check to ensure the system is ready to install TrueOS®.

  • Dual-booting or installing over the entire drive? If dual-booting, please ensure a primary partition is available. Refer to the chapter on Dual Booting.
  • Is your important data backed up? Any irreplaceable data, such as emails, bookmarks, or important files and documents should always be backed up to an external media, such as a removable drive or another system, before installing or upgrading any operating system.

To determine if the chosen hardware is detected by TrueOS®, start a new installation and click the Hardware Compatibility icon in the lower left corner of the Language screen.

If any problems arise with the installation, refer to the Troubleshooting section of this handbook.

This section discusses the TrueOS® hardware requirements and some supported hardware.

1.4.1. Minimum Requirements

TrueOS® has moderate hardware requirements and typically uses less resources than its commercial counterparts. Before installing TrueOS®, make sure the hardware or virtual machine meets at least the minimum requirements. To get the most out of your TrueOS® experience, use a system exceeding the minimum or recommended system requirements.

At bare minimum, these requirements must be met in order to install TrueOS®:

Minimum

  • 64-bit processor
  • 1 GB RAM
  • 20 GB of free hard drive space on a primary partition for a command-line server installation.
  • Network card

Here are the recommended requirements. More RAM and available disk space improves the computing experience:

Recommended

  • 64-bit processor
  • 4 GB of RAM
  • 50 GB of free hard drive space on a primary partition for a graphical desktop installation.
  • Network card
  • Sound card
  • 3D-accelerated video card

TrueOS® does not require 50 GB for its installation. The minimum recommendation is to provide sufficient room for the installation of applications and to store local ZFS snapshots and boot environments. These can be used to retrieve earlier versions of files, rollback the operating system to an earlier point in time, or clone the operating system.

More RAM is always recommended, so install as much as you can afford. To play modern video games, use a fast CPU. To create a collection of music and movies on the computer, sufficient disk space is required.

1.4.2. Processor

TrueOS® installs on any system containing a 64-bit (also called amd64) processor. Despite the name, a 64-bit processor does not need to be manufactured by AMD in order to be supported. The FreeBSD Hardware Notes - amd64 lists the amd64 processors known to work.

1.4.3. Graphics

Like many open source operating systems, TrueOS® uses X.org drivers for graphics support. TrueOS® automatically detects the optimal video settings for supported video drivers. Verify the graphics hardware is supported by clicking the Hardware Compatibility icon within the installer.

Here is the major graphic vendor support:

NVIDIA: 3D acceleration on NVIDIA is provided by native FreeBSD drivers. If an NVIDIA video card is detected, an nVidia settings icon will be added to Browse Applications for managing NVIDIA settings.

Intel: 3D acceleration on most Intel graphics is supported. This includes Skylake, Haswell, Broadwell, and ValleyView.

ATI/Radeon: 3D acceleration on most ATI and Radeon cards is supported.

Optimus: At this time there is no switching support between the two graphics adapters provided by Optimus. Optimus implementations vary, so TrueOS® may or may not be able to successfully load a graphics driver on hardware. If a blank screen shows after installation, check the BIOS to see if it has an option to disable one of the graphics adapters or to set discrete mode. If the BIOS does not provide a discrete mode, TrueOS® defaults to the 3D Intel driver and disables NVIDIA. This will change in the future when the NVIDIA driver supports Optimus.

1.4.4. Wireless

TrueOS® has built-in support for most wireless networking cards. TrueOS® automatically detects available wireless networks for supported wireless devices. Verify the device is supported by clicking the Hardware Compatibility icon within the installer. If it is an external wireless device, insert it before running the installer.

Certain Broadcom devices, typically found in less expensive laptops, are buggy and can have lockups when in DMA mode. If the device freezes, try switching to PIO mode in the BIOS. Alternately, add hw.bwn.usedma=0 to /boot/loader.conf and reboot to see if anything changes.

1.4.5. Laptops

Many TrueOS® users successfully run TrueOS® on their laptops. However, some issues may occur, depending upon the model of laptop. These typically deal with:

  • Sleep/suspend: Unfortunately, Advanced Configuration and Power Interface (ACPI) is not an exact science, meaning experimentation with various sysctl variables may be required to achieve successful sleep and suspend states on your particular laptop model. If the laptop is a ThinkPad, ThinkWiki is an excellent resource. For other types of laptops, try reading the SYSCTL VARIABLES section of man 4 acpi and check to see if there is an ACPI man page specific to the laptop’s vendor by typing apropos acpi. The Tuning with sysctl(8) section of the FreeBSD Handbook demonstrates how to determine the current sysctl values, modify a value, and make a modified value persist after a reboot.

  • Synaptics: Disabling the system’s touchpad may be dependant upon the hardware. This forum post describes how to enable Synaptics and some of the sysctl options this feature provides.

    The SysAdm Mouse Settings also has options for disabling a system’s touchpad, if one is detected.

To test the laptop’s hardware, use the Hardware Compatibility icon in the Language screen before continuing with the installation.

To install TrueOS® onto an Asus Eee PC, review the FreeBSD Eee page first.

The FreeBSD Tuning Power Consumption page has some tips for reducing power consumption.

With regards to specific hardware, the ThinkPad T420 may panic during install. If it does, go into the BIOS and set the video mode to “discrete”, which should allow the installation to complete. Some Thinkpads have a BIOS bug preventing them from booting from GPT-labeled disks. If unable to boot into a new installation, restart the installer and go into Advanced Mode in the Disk Selection screen. Make sure GPT (Best for new hardware) is unchecked. If it was checked previously, redo the installation with the box unchecked.