Linux Mint 22.2 “Zara”: A Confident Step Forward in Desktop Freedom

Table of contents:-
Setting Up Your Virtual Machine
Installing Xorg and KDE Plasma 6
Post-Installation Configuration
Linux Binary Compatibility (Bonus)
Exploring Your New FreeBSD System
Are you considering dipping your toes into the FreeBSD waters but aren't quite ready to dive in headfirst? Perhaps you're a Linux enthusiast curious about FreeBSD's reputation for rock-solid stability and security. Whatever your motivation, setting up FreeBSD with the sleek KDE Plasma 6 desktop environment in a virtual machine is the perfect way to explore this powerful operating system without committing your physical hardware.
As someone who's spent countless hours experimenting with various operating systems in virtual environments, I've found that FreeBSD offers a refreshing alternative to mainstream Linux distributions. While it shares many similarities with Linux, FreeBSD's cohesive design philosophy and meticulous documentation make it a joy to work with once you've overcome the initial learning curve.
In this comprehensive guide based on an excellent YouTube tutorial by The Linux Lighthouse, I'll walk you through the entire process of installing FreeBSD with KDE Plasma 6 using Virt-Manager. We'll cover everything from initial setup to post-installation configuration, and even touch on FreeBSD's fascinating Linux binary compatibility features. By the end of this tutorial, you'll have a fully functional FreeBSD system with a modern desktop environment ready for exploration.
Before we can install FreeBSD, we need to create a suitable virtual machine using Virt-Manager. If you're unfamiliar with Virt-Manager, it's a user-friendly front-end for managing KVM/QEMU virtual machines on Linux hosts. Unlike ‘The Linux Lighthouse’ whose host was OpenSUSE Tumbleweed, mine was Tuxedo OS.
First, you'll need to download the FreeBSD installation ISO. The FreeBSD website offers several versions, but for this tutorial, we'll use the amd64 DVD1 ISO for FreeBSD 13.5-RELEASE. Once you've downloaded the ISO, launch Virt-Manager and create a new virtual machine with the following specifications:
Memory: 8192 MB [I used only 4096 MB (4 GB)]
CPU: 4 cores [I used 2 cores]
Storage: 24 GB
Network: Virtual network 'default' NAT
When creating the VM, make sure to tick the 'Customize configuration before install' option. This will allow us to make some important adjustments before starting the installation process.
In the configuration window, navigate to 'Boot Options' and enable the Boot Menu. Ensure that 'VirtIO Disk 1' and 'IDE CDRom 1' are both ticked. These settings will ensure that your VM can boot from both the installation media and the virtual hard drive.
For input devices, verify that a Tablet is already added, and then add an additional USB Mouse through the 'Add Hardware' menu. This dual input configuration will help ensure smooth mouse operation later when using the graphical desktop environment.
With these configurations in place, start the virtual machine to begin the FreeBSD installation process.
Once your virtual machine boots from the FreeBSD installation media, you'll be greeted by the FreeBSD installer. This text-based installer might seem intimidating if you're accustomed to graphical installers, but it's actually quite straightforward to navigate.
For the installation, follow these steps recommended by ‘The Linux Lighthouse’ while making any necessary adjustments based on your informed choice:-
Select the optimal system components (after ‘Keymap Selection’ and ‘Set Hostname’), making sure to include 'lib32' and 'ports'.
When prompted for the partitioning scheme, select 'Auto ZFS' with a 'stripe' configuration with no redundancy. ZFS is one of FreeBSD's most powerful features, offering advanced storage capabilities like snapshots, compression, and software RAID.
Configure the network settings after setting the new password for the root user (the following different options worked for me):
Set IPv4 to 'YES'
Set DHCP to 'YES'
Set IPv6 to 'YES'
Set stateless address autoconfiguration (SLAAC) to ‘Yes’
Set the time zone to where you are.
For system configuration (services at boot), enable:
sshd (SSH daemon)
moused (mouse daemon)
ntpd (Network Time Protocol daemon)
For system security, enable 'clear_temp'.
Create a user account, but don't add it to any additional groups yet.
It is recommended that you install the FreeBSD handbook, as it's an invaluable resource.
Once the installation is complete, the system will prompt you to reboot. Remove the installation media and allow the system to restart.
After rebooting, log in as root and let's begin configuring our freshly installed FreeBSD system.
First, let's update the base system:
freebsd-update fetch install |
When presented with the list of changes, press 'q' to exit the list and proceed with the installation.
Next, let's set up package management and install some essential tools:
pkg upgrade |
pkg install sudo bash-completion bash-completion-freebsd |
Now, let's configure our user accounts to use bash as the default shell instead of FreeBSD's default, csh (I used the default text editor ‘ee’ instead of ‘vi’ used by ‘The Linux Lighthouse’):
ee /etc/passwd |
Find the lines for both root and your user account, and change the shell path from /bin/csh to /usr/local/bin/bash. Save and exit.
To allow your user account to use graphical applications, we need to add it to the 'video' group:
ee /etc/group |
Find the 'video' line and add your username to it. Save and exit.
To enable sudo privileges for your user, add it to the 'wheel' group:
pw groupmod wheel -m username |
You can verify the changes with:
id -a username |
Now let's run one more system update before rebooting:
freebsd-update fetch install |
reboot |
After rebooting, log in as root again. Let's ensure that both root and your user account are properly configured to use bash and bash completion:
pw usermod -s /usr/local/bin/bash -n username |
Create a .bashrc file to enable bash completion:
echo "source /usr/local/share/bash-completion/bash-completion.sh" > .bashrc |
Now let's install the X Window System (Xorg), which is required for any graphical desktop environment:
pkg install xorg |
Before proceeding, it's good practice to identify your graphics hardware:
pciconf -lv | grep -B4 VGA |
And check your system's boot method:
sysctl machdep.bootmethod |
Since we're in a virtual environment, we'll need to configure Xorg to use the VESA driver:
ee /usr/local/etc/X11/xorg.conf.d/20-vesa.conf |
Add the following content:
Section "Device" |
Save and exit.
Now we're ready to install KDE Plasma 6 and its dependencies:
pkg install -g "plasma6-*" |
Enable the necessary services for KDE:
sysrc dbus_enable="YES" |
Configure sudo to allow members of the wheel group to use it without a password:
visudo |
Find the line containing %wheel ALL=(ALL) NOPASSWD: ALL, uncomment it, save, and exit.
If the ‘visudo’ command fails, as root perform the following command:
echo "username ALL=(ALL) ALL" >> /usr/local/etc/sudoers.d/users |
Remember to substitute the desired username for "username" in the echo command.
Now we can reboot and should be greeted by the SDDM login manager:
reboot |
If you encounter mouse issues in the graphical login screen, you might need to remove and reattach the mouse in Virt-Manager.
After logging into KDE Plasma, open a terminal and run:
sudo -i |
Let's install Firefox and update our package manager to use the "Latest" repository instead of "Quarterly" for more up-to-date software:
pkg install firefox |
In the FreeBSD.conf file, change 'quarterly' to 'latest', save, and exit.
Now let's update our system with the latest packages:
pkg upgrade |
You might want to install additional KDE applications like Konsole:
pkg install konsole
In Konsole, set up bash completion for your user:
echo "source /usr/local/share/bash-completion/bash-completion.sh" > ~/.bashrc |
One of FreeBSD's most powerful features is its ability to run Linux binaries. This is particularly useful for applications that aren't natively available on FreeBSD.
To enable Linux binary compatibility:
sudo -i |
For a more comprehensive Linux environment, you can set up a Debian/Ubuntu base system using debootstrap:
pkg install debootstrap |
Edit the filesystem table to properly mount necessary filesystems:
ee /etc/fstab |
Add the following lines:
devfs /compat/ubuntu/dev devfs rw,late 0 0 |
Save and exit, then mount all filesystems and enter the chroot environment:
mount -al |
You can verify that you're in the Linux environment with:
uname -s -r -m |
This will show Linux instead of FreeBSD, confirming that the Linux compatibility layer is working properly.
Now that you have a fully functional FreeBSD system with KDE Plasma 6, take some time to explore its features. FreeBSD differs from Linux in several important ways, despite the surface-level similarities:
A cohesive system design: Unlike most Linux distributions, which combine the Linux kernel with GNU utilities and various other components, FreeBSD is developed as a complete operating system. This means better integration between components and a more consistent user experience.
The ports collection: While we've used binary packages in this tutorial for simplicity, FreeBSD's ports collection offers a powerful way to compile software from source with custom options. It's similar to Arch Linux's AUR but more integrated into the base system.
Security and stability focus: FreeBSD tends to prioritize stability and security over having the latest features. This makes it an excellent choice for servers and mission-critical systems.
ZFS integration: While ZFS is available on Linux, it's more deeply integrated into FreeBSD and benefits from more extensive testing and development on this platform.
Jails: FreeBSD's jail system is a powerful containerization technology that predates Linux containers like Docker. It allows you to create isolated environments with their own files, processes, and users.
As you become more familiar with FreeBSD, you might want to explore these distinctive features in more depth.
In this abridged guide, we've walked through the complete process of installing FreeBSD with KDE Plasma 6 in a virtual machine using Virt-Manager. We've covered everything from initial setup to post-installation configuration, and even touched on FreeBSD's Linux binary compatibility features.
Virtual machines provide an excellent sandbox for learning new operating systems, and I encourage you to experiment freely with your new FreeBSD installation. Try installing different software, explore the system's unique features, and consult the excellent FreeBSD Handbook whenever you have questions.
FreeBSD's reputation for stability, security, and clean design is well-deserved. While it may have a steeper learning curve than some Linux distributions, the knowledge and skills you gain from using it are invaluable. Whether you're interested in servers, desktop computing, or just expanding your technical horizons, FreeBSD has a lot to offer.
Remember that the FreeBSD community is known for being helpful and knowledgeable, so don't hesitate to seek assistance on the FreeBSD forums or mailing lists if you encounter any issues not covered in this guide.
Special thanks goes to The Linux Lighthouse whose tutorial inspired this compact written guide and personally helped me figure out the proper network configuration for my virtual machine. The link to 'The Linux Lighthouse video' is provided under ‘References’ below for you to like, comment and share. (Previously I had succeeded using only VirtualBox for our own past FreeBSD guides.)
Disclaimer
FreeBSD, KDE, QEMU, and Virt-Manager are trademarks or registered trademarks of their respective owners. This guide is provided for educational purposes only. Always ensure you're using operating systems and software in compliance with their respective licenses. While virtual machines provide a relatively safe environment for experimentation, make sure to back up any important data before making significant system changes. The Distrowrite Project assumes no responsibility on behalf of The Linux Lighthouse for any damage or loss resulting from following this guide.
References
Comments
Post a Comment
Hello and welcome to The Distrowrite Project! We appreciate your engagement and value diverse perspectives. Our community thrives on respectful and constructive discussions. Please ensure your comments align with our guidelines: no hate speech, personal attacks, or spam. Let's foster a positive environment where everyone feels comfortable to share their thoughts and insights. Thank you for being a part of our community!