<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="/feed.xml" rel="self" type="application/atom+xml" /><link href="/" rel="alternate" type="text/html" /><updated>2026-05-11T01:26:44+00:00</updated><id>/feed.xml</id><title type="html">Mastache Cloud</title><subtitle></subtitle><author><name>denkigish</name></author><entry><title type="html">…and so it begins!</title><link href="/freebsd/adventures/2025/08/29/and-so-it-begins.html" rel="alternate" type="text/html" title="…and so it begins!" /><published>2025-08-29T23:16:56+00:00</published><updated>2025-08-29T23:16:56+00:00</updated><id>/freebsd/adventures/2025/08/29/and-so-it-begins</id><content type="html" xml:base="/freebsd/adventures/2025/08/29/and-so-it-begins.html"><![CDATA[<p>During the pandemic,</p>

<p>I decided to pursue my data analytics certificate. As part of that journey, I was pushed to create a webpage to share with the world. I first started the page using Wordpress. I had used it before, and i knew how to get around. I got tired of paying so much to host such a simple website. I decided to look at my options and i was convinced to look at static webpages. This is my new site, created using Jekyll. Lets see where this journey takes me. Welcome, and good travels.</p>
<blockquote>
  <p>Ah, you seek meaning.</p>

  <p><strong>Then listen to the music, not the song.</strong></p>

  <p>–<em>Kosh Naranek of Babylon 5</em></p>
</blockquote>]]></content><author><name>denkigish</name></author><category term="FreeBSD" /><category term="Adventures" /><summary type="html"><![CDATA[During the pandemic,]]></summary></entry><entry><title type="html">Installing FreeBSD Software Packages.</title><link href="/freebsd/adventures/2024/07/07/installing-freebsd-software-packages.html" rel="alternate" type="text/html" title="Installing FreeBSD Software Packages." /><published>2024-07-07T23:16:56+00:00</published><updated>2024-07-07T23:16:56+00:00</updated><id>/freebsd/adventures/2024/07/07/installing-freebsd-software-packages</id><content type="html" xml:base="/freebsd/adventures/2024/07/07/installing-freebsd-software-packages.html"><![CDATA[<p>Once you have installed FreeBSD I would suggest installing the software you will need to use it. This varies by person, and part of the appeal of FreeBSD especially for the Raspberry Pi, is that you don’t have someone else’s idea of what you need installed. For example, the OS does include vim as a text editor, but it doesn’t also include other text editors. So I need to install “nano” if I want to use it. For my purposes, I want some basic things installed to make my life a little easier. I will not cover how to install each package. If the package requies additional configuration, it will be discussed in separate articles. Eventually, I will install the following, but will start with nano and sudo first:</p>

<ul>
  <li>Nano – text editor</li>
  <li>sudo – command to grant temporary admin rights.</li>
  <li>XFCE – desktop environment</li>
  <li>LightDM – graphical Login Manager</li>
  <li>tiger-vnc-server – VNC server for remote access.</li>
  <li>Zsh – Z shell</li>
  <li>pyenv – python package manager</li>
</ul>

<p>Freebsd has ports and packages. My understanding of ports is code that is ready to download and compile. Packages are binary packages / compiled programs ready to be installed. I prefer packages, because ports honestly intimidate me. Some day I will venture into ports, but that day is not today.</p>

<h2 id="install-nano--text-editor">Install Nano – text editor</h2>

<p>To install a package such as “nano”. You need 2 things administrative access, and you need to call the package command and say install “nano”. First you must access the root account which has administrative access, to install a package. To do so, after the command prompt ‘%” type su and hit <Enter> key. The su command stands for super user. After clicking enter you will be prompted for a password. Enter your root password and hit the <Enter> key, as a default on the Raspberry Pi install, the password is “root”. Note: the password, will not be displayed when you type it in. Upon successfully entering the password your prompt changes to the ‘#”. An example of how to do this follows:</Enter></Enter></p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% su
Password:
#
</code></pre></div></div>
<p>Once in the root account, you use the pkg command, with the install argument and package name argument. It will search the packages available, and if found will display the package and ask if you wish to proceed installing it. Type “y” for “yes” and when you return to the command prompt the process is complete. This looks like:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># pkg install nano
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
	nano: 7.2_1
Number of packages to be installed: 1
The process will require 3 MiB more space.
649 KiB to be downloaded.
Proceed with this action? [y/N]: y
[1/1] Fetching nano-7.2_1.pkg: 100%  649 KiB 664.6kB/s    00:01
Checking integrity... done (0 conflicting)
[1/1] Installing nano-7.2_1...
[1/1] Extracting nano-7.2_1: 100%
#
</code></pre></div></div>

<p>The installation of nano was done to make the next step easier. I don’t know the vim commands and don’t really feel the need to learn it for casual computing. However, to make administering this computer easier, I want to install the sudo command. The sudo command is used to grant the user, temporary admin rights, without logging into an administrative account. If you want to find out about sudo, you can of course read about it on its webpage.</p>

<h2 id="install-sudo">Install sudo</h2>

<p>To install the sudo package on FreeBSD you simply do the following at the command root command prompt. You should still be logged into the root account from earlier, if not you can repeat the earlier step of logging into the super user account.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># pkg install sudo
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
The following 1 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
	sudo: 1.9.15p5_4
Number of packages to be installed: 1
The process will require 8 MiB more space.
2 MiB to be downloaded.
Proceed with this action? [y/N]: y
[1/1] Fetching sudo-1.9.15p5_4.pkg: 100%    2 MiB   1.8MB/s    00:01
Checking integrity... done (0 conflicting)
[1/1] Installing sudo-1.9.15p5_4...
[1/1] Extracting sudo-1.9.15p5_4: 100%
#
</code></pre></div></div>
<p>Unfortunately sudo needs a little setup before it can be used. A freshly installed sudo will only allow the root user to use sudo, everyone else will receive a warning. In order to address this we must edit the sudoers file. This is a configuration file that tells sudo who is allowed to use the sudo command. You can edit the file by using nano, and providing the path to the sudoers file to nano. It is possible that the sudoers file to be edited is located at /etc/sudoers instead.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>#nano /usr/local/etc/sudoers.d/adminuser
</code></pre></div></div>

<p>The nano editor will update the command line. In the header row, it will show that you are running nano and what version, followed by the path and name of the file you are editing. On the footer rows, it will show the commands. The “^” character stands for the CTRL key, and the capital letter stands for the letter to type to execute the command identified to the right. Therefore ^G Help will get the help screen. Below is the blank sudoers file.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>GNU nano 7.2 /usr/local/etc/sudoers.d/adminuser Modified 
^G Help      ^O Write Out ^W Where Is  ^K Cut       ^T Execute
^X Exit      ^R Read File ^\ Replace   ^U Paste     ^J Justify
</code></pre></div></div>

<p>I can add a group of users, or I can add an individual user to the file. You must remember that the files are executed from top to bottom, so the last modification will apply. In this case, I will not do anything fancy, and will give the freebsd all sudoer rights. If there are entries, you would add this at the bottom, on a blank row.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>&lt;username or group&gt; ALL=(ALL) ALL 
</code></pre></div></div>
<p>In our case we want to add freebsd and also the wheel group of users. So the following is entered into the file.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>GNU nano 7.2 /usr/local/etc/sudoers.d/adminuser Modified %wheel ALL=(ALL) ALL
freebsd ALL=(ALL) ALL

 
^G Help      ^O Write Out ^W Where Is  ^K Cut       ^T Execute
^X Exit      ^R Read File ^\ Replace   ^U Paste     ^J Justify
</code></pre></div></div>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>GNU nano 7.2 /usr/local/etc/sudoers.d/adminuser Modified %wheel ALL=(ALL) ALL
freebsd ALL=(ALL) ALL

 
Save modified buffer?
 Y Yes
 N No           ^C Cancel
</code></pre></div></div>

<p>The next step is to save the file, this is done by the ^X Exit command. When you type in CTRL+X the display updates asking if you want to save the modified buffer. This is nano’s way of asking if you want to save the file. Type y for yes, and you are returned to the command line. Now you can use sudo on the freebsd account. To return to the freebsd account and its command prompt , when you are in the su session , just type in exit and enter. This will return you to the freebsd account.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># exit
%
</code></pre></div></div>]]></content><author><name>denkigish</name></author><category term="FreeBSD" /><category term="Adventures" /><summary type="html"><![CDATA[Once you have installed FreeBSD I would suggest installing the software you will need to use it. This varies by person, and part of the appeal of FreeBSD especially for the Raspberry Pi, is that you don’t have someone else’s idea of what you need installed. For example, the OS does include vim as a text editor, but it doesn’t also include other text editors. So I need to install “nano” if I want to use it. For my purposes, I want some basic things installed to make my life a little easier. I will not cover how to install each package. If the package requies additional configuration, it will be discussed in separate articles. Eventually, I will install the following, but will start with nano and sudo first:]]></summary></entry><entry><title type="html">Installing FreeBSD on Raspberry Pi 3B+</title><link href="/freebsd/adventures/2024/07/04/installing-freebsd-on_raspberrypi3b+.html" rel="alternate" type="text/html" title="Installing FreeBSD on Raspberry Pi 3B+" /><published>2024-07-04T23:16:56+00:00</published><updated>2024-07-04T23:16:56+00:00</updated><id>/freebsd/adventures/2024/07/04/installing-freebsd-on_raspberrypi3b+</id><content type="html" xml:base="/freebsd/adventures/2024/07/04/installing-freebsd-on_raspberrypi3b+.html"><![CDATA[<p>The following assumes some familiarity with the command line or terminal, in linux, or macOS. If you have none, you can refer to <a href="https://ubuntu.com/tutorials/command-line-for-beginners#1-overview">Ubuntu’s tutorial</a> or to <a href="https://support.apple.com/guide/terminal/get-started-pht23b129fed/2.14/mac/14.0">Apple’s</a>.</p>

<p>So, for this I am using a Mac running Mac OS 14.5 Sonoma. The instructions are pretty similar for any Mac. You can accomplish similar on Linux or Windows. Start by going to the <a href="https://www.freebsd.org/">FreeBSD website</a>. While there you can download the image file for an SD Card. Click on the “Download FreeBSD” link, and browse the page looking for the FreeBSD release you want to try. I chose FreeBSD 14.1, and I looked for the SD Image. FreeBSD for RPI at this time is only available as an image file for an SD card. For the Raspberry PI 3B+ you want to. choose the aarch64 build, and select the RPI (3/4) link. In the following file download page, you want to select ” FreeBSD-14.0-RELEASE-arm64-aarch64-RPI.img.xz”. This file will not need to be uncompressed. Verify you chose the right image file, as you want to install it to the right board.</p>

<p>Once you have the file downloaded you can use any disk imager for the Raspberry Pi. Since I already had Balena Etcher installed, I went ahead and used this to image my SD card. You can download Balena from their <a href="https://etcher.balena.io/">page</a>. Balena guides you through the steps once it is installed. You select the drive/ SD card you wish to use for the install media, you then choose the image file you wish to install. Then you flash the image to the SD card. This installs FreeBSD to your SD card, in its entirety. You will be prompted for your admin user name, to erase the SD card contents and replace its contents with the FreeBSD image.</p>

<p>From here it is straight-forward to just take the imaged SD card and plug it in to the SD card slot on your Raspberry Pi. Boot your Raspberry Pi, and if connected to a keyboard, mouse and terminal, you will have a fully functional FreeBSD installation on Raspberry Pi. This is the recommended method for installing FreeBSD on the RPI. However, if you don’t have an extra keyboard, monitor and mouse. You can SSH into your RPI right away. You will need the ip address of your RPI, and that can be found using your router, or another client computer on your network using <a href="https://www.fing.com/">Fing</a>, or other network inspection software. The RPI has 2 accounts natively setup, the “root” account, and the “freebsd” account. The root account does not have the ssh server active, for security reasons, but it is an admin account that you can use to install software packages. The freebsd account does have an ssh server enabled, but is not an administrative account. The native account have a default password of “root” and “freebsd” corresponding to their account name. To login to the RPI you simply type the following command into the terminal:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ssh freebsd@&lt;ip_address&gt; 
e.g.
ssh freebsd@192.168.1.200 
</code></pre></div></div>
<p>This calls the “ssh” command, and tells it the user is freebsd and the computer you want to log into can be found at ip address 192.168.1.200. The terminal will prompt you to enter your password, which on a new machine is “freebsd”. I will leave this as the password until this raspberry pi is completely setup.</p>

<p>After booting up, or logging in your terminal will look something like this.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>Last login: Thu Jul  4 12:30:59 2024 from studio.attlocal.net
FreeBSD 14.0-RELEASE (GENERIC) #0 releng/14.0-n265380-f9716eee8ab4: Fri Nov 10 08:59:18 UTC 2023
Welcome to FreeBSD!
Release Notes, Errata: https://www.FreeBSD.org/releases/
Security Advisories:   https://www.FreeBSD.org/security/
FreeBSD Handbook:      https://www.FreeBSD.org/handbook/
FreeBSD FAQ:           https://www.FreeBSD.org/faq/
Questions List:        https://www.FreeBSD.org/lists/questions/
FreeBSD Forums:        https://forums.FreeBSD.org/
Documents installed with the system are in the /usr/local/share/doc/freebsd/
directory, or can be installed later with:  pkg install en-freebsd-doc
For other languages, replace "en" with a language code like de or fr.
Show the version of FreeBSD installed:  freebsd-version ; uname -a
Please include that output and any error messages when posting questions.
Introduction to manual pages:  man man
FreeBSD directory layout:      man hier
To change this login announcement, see motd(5).
%
</code></pre></div></div>
<p>You are logged as user “freebsd” if you need to login to root to install applications or need admin rights, you can do so by typing “su” after the command prompt “%”.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% su
</code></pre></div></div>
<p>The “su” stands for super user, and will log you into a session of the root user. You can exit from the new session by typing the exit command following the new command prompt “#”. The command prompts are different because the root and freebsd accounts use different shells. However that is more detail than you need right now. Just recognize the different prompts. Notice you are back to the “%” command prompt. I point these out because these prompts aren not consistent with Linus or other BSD’s. Therefore you might not understand what is going on.</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>% su
Password:
# exit
%
</code></pre></div></div>
<p>At this point you have successfully installed the FreeBSD OS on your Raspberry Pi. However, while it has the bare necessities, you may want to install some software packages to get more use out of it.</p>

<h2 id="time-zone-setup-and-sync--updated-122824">Time Zone setup and Sync – Updated 12/28/24</h2>

<p>At this point, you want to make sure that you run bsdconfig to setup your timezone. If you don’t do this, your install will not install any software because its clock is not correct.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># bsdconfig
</code></pre></div></div>
<p>You need to run bsdconfig and select the timezones menu, and follow the prompt to select your timezone, then you need to sync your clock with the internet time servers.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>ntpd -qg  # Sync time with NTP
</code></pre></div></div>
<p>Upon completion of syncing your time you can confirm your time is correct by using the date command.</p>
<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code># date
Sat Dec 28 15:21:01 CST 2024
</code></pre></div></div>
<p>Your date should be synced up. You can now continue</p>]]></content><author><name>denkigish</name></author><category term="FreeBSD" /><category term="Adventures" /><summary type="html"><![CDATA[The following assumes some familiarity with the command line or terminal, in linux, or macOS. If you have none, you can refer to Ubuntu’s tutorial or to Apple’s.]]></summary></entry><entry><title type="html">Raspberry Pi 3B+ and FreeBSD!</title><link href="/freebsd/adventures/2024/07/02/raspberry-pi3b+-and-freebsd.html" rel="alternate" type="text/html" title="Raspberry Pi 3B+ and FreeBSD!" /><published>2024-07-02T23:16:56+00:00</published><updated>2024-07-02T23:16:56+00:00</updated><id>/freebsd/adventures/2024/07/02/raspberry-pi3b+-and-freebsd</id><content type="html" xml:base="/freebsd/adventures/2024/07/02/raspberry-pi3b+-and-freebsd.html"><![CDATA[<p>Why am I doing this.</p>

<p>When I was going to community college, I remember asking a professor what I should do to get into this thing called open source software, and he suggested getting into Linux. I was fascinated by computers, but knew practically nothing at all. The teacher referred me to the gnu/linux webpage, and I took a look, and decided I was way out of my depth. Fast forward a few years and I was using Solaris in college, with very limited training, still no linux. However after graduating I decided to make the jump to Mac OSX. From 2003 onward I have been using OSX for my personal computing, and of course I learned more about the terminal commands over time.</p>

<p>So During the pandemic, I started my data analytics journey. DeVry made me take an introductor course on the Internet of Things (IoT). I didn’t complain too much since it was required, and it was essentially a lab course using an Arduino. This made me start looking at the Raspberry Pi (RPI)that I had heard a lot about. Finally I took a jump and got the biggest RPI I could, which at that time was a 3B+ with 4GB of ram. I used it to learn the Linux terminal, in my class, but haven’t really used it too much. Since Linux is a “UNIX” clone, I wanted to get as close to true “UNIX” as I could. I also had some experience with the different ways of doing things for each Linux Distribution, and didn’t want many ways but really just a single way to do things. So I took the plunge of using FreeBSD, because as full OS, as long as it was FreeBSD the instructions should be consistent. There may be more than one way to peel a mango in FreeBSD, but they are all FreeBSD’s way of peeling a mango.</p>

<p>I also have a bunch of software packages that I want to learn, but I don’t necessarily want to clutter up my daily driver with all those experiments. Some might say, install Docker, or use VM’s and I have considered it, and briefly tried it. It is still a piece of software I don’t want on my personal machine. So that is why I now have 2 Raspberry Pi’s. On one I just have a clean Raspberry Pi OS installation, which I share with my son’s so they can learn to program python. On the other, I have chosen to install FreeBSD. My plans are to learn jails on FreeBSD to install mongo, sql, and a git server to start with.</p>

<p>Before we dive into installing and setting up FreeBSD on the RPI. I do have to say the following. It is not necessarily easy finding instructions on how to setup FreeBSD software packages. However, it is not impossible. Part of the reason for this, is that instructions for Linux will populate your web search, and while similar they are not the same . What has impressed me the most, is just how responsive FreeBSD is on the RPI, even compared to the RPI’s native OS distribution, Raspbarry Pi OS. It starts fast, and even with a desktop environment it is responsive. Will I use an RPI 3B+ as a daily driver? No, I have a daily driver for that, but I don’t think I will complain using it to learn software packages on.</p>

<p>I began my FreeBSD learning journey on <a href="https://www.youtube.com/@RoboNuggie">RobNuggie’s YouTube Channel</a>. I have also referenced The FreeBSD Handbook, as well as reading the book <a href="https://nostarch.com/absfreebsd3#updates">Absolute FreeBSD by Michael Lucas</a>.</p>]]></content><author><name>denkigish</name></author><category term="FreeBSD" /><category term="Adventures" /><summary type="html"><![CDATA[Why am I doing this.]]></summary></entry></feed>