Fun with “that other OS” paradigm
I recently set up my 1st Unix machine running Project Trident (based on TrueOS, which is in turn based on FreeBSD.) Here, in no particular order, are some things you might need to know.
commands are to be entered into QTerminal and followed with an Enter keystroke, and it’s assumed you’re running (Project) Trident.
BSD is not Linux
If you have Linux experience, it’s tempting to think BSD is more of the same. It isn’t. For one, while Linux emphasizes performance and modularity, BSD emphasizes monolithic technical correctness and consistency (read: on the OS scale, not just at the kernel level.)
How to prepare your PC’s BIOS for BSD installation
- Enter your PC’s BIOS.
- Disable Secure Boot.
- Switch boot mode from UEFI to Legacy.
- Enable booting from external devices.
- Change your boot order so that the PC boots from the external device first.
- Check that your BIOS is set to the correct time. If it’s wrong, the time in BSD will be wrong too.
- If your PC currently runs Windows, install the latest BIOS version before you replace it with BSD. Technically you may be able to update the BIOS via USB later, but it’s a major PITA in comparison.
How to create an a Project Trident USB installer disk in Windows
- Download the installation ISO.
- Change the downloaded ISO’s extension from .iso to .img.
- Write the .img file to the USB disk using Win32 Disk Imager.
Just stick with the default shell, as most documentation is written assuming you’re using it. zsh is pretty good.
SWAP partition creation
When given the option during installation, enable it at the default size.
The canonical documentation for any BSD flavor is the main type of BSD it’s based on. So, for example, since Project Trident ultimately descends from FreeBSD, FreeBSD’s documentation is canonical for it.
How to set your timezone correctly
- Enter the PC’s BIOS and set the correct time there manually.
- Boot into Trident.
- Open QTerminal, then execute the following commands:
sudo service ntpdate restart
The command for the Lumina text editor
lte. If you need to start it as root, use
The command for the Lumina file manager
lumina-fm. If you need to start it as root, use
sudo lumina-fm. You can also start it as root from within the file mangaer GUI itself.
How to set up Resilio Sync in Project Trident
- Open AppCafe. You may have to open it twice and/or click on the TrueOS logo in the middle for the dropdown at the top center to change from local to trident.
- In the Browse tab, search for “Resilio.”
- Click the download icon beside the Resilio Sync search result. This will add the installation to the Pending tab, which you can then switch to follow the progress.
- Start Resilio Sync by entering
rslsync in QTerminal.
- Access Resilio sync by going to localhost:8888 in your browser.
There are a few quirks about running Resilio Sync on BSD. The first is that the documentation in the package and in the .conf files is rather misleading. Although most of it talks about Resilio running under the rslsync user, it’s installed to run under the the account that installed it (read: yours.) I still haven’t figured out exactly how to get it to run as a service, but when I do I’ll probably write a separate post about it.
How to list all the hardware the OS can see right now
sudo pciconf -lv
If you want to search the output of the above for a particular item, e.g. “bcm”, you can do so via:
sudo pciconf -lv | grep bcm
How to load something into the kernel
Using bwn as an example:
sudo kldload bwn
How to search output strings from a given command
| grep searchterm to the end of the command. You can also sort the search results by adding
| sort to the preceding. For example, to search the output of dmesg for bwn and sort the results:
sudo dmesg | grep bwn | sort
You can also use
| tail -n to get the last
n lines of a command’s string output.
How to check whether BSD detects a hardware component at all
The above is basically a printout of everything that scrolls down the display at boot. It’s pretty long, which is where the
sort commands come in: they help you filter it for what you want to find.
To fix flickering desktop graphics elements
How to set up SSH
- Open the terminal
sudo service sshd start
- Hit Enter
sudo rc-update add sshd
- Hit Enter
- Click the Start button
- Enter “SysAdm”
- Click on SysAdmin Client
- In the window that follows, click on Firewall
- Under the Open a Port heading, in the Open by Service label, click the Select a Service… dropdown
- Select ssh. 2 entries for port 22, 22/udp and 22/tcp, should appear above the Open a Port heading
- Click Restart
SSH should now be set up. Try logging in from another machine.
Deletion is a permanent operation
Unlike nearly every other OS type out there, BSD (and non-macOS Unix at large, apparently) assumes deleting something means you don’t want it anymore ever again.
The ways to get around this are to:
- Use snapshots.OR
- Make absolutely sure you want to get rid of something before you do.
How to set up ZFS snapshots
Where to find Project Trident and/or TrueOS support
Project Trident Telegram