Introduction:

 

    FreeBSD is a "UNIX like" opensource operating system. Not like Linux, which provides only the kernel, FreeBSD provides full fledged - fully equipped operating system. The history of the operating system dates back to 1993.

And it is the most popular BSD (Berkeley Software Distribution) based operating system available in the open source community.

 

I would recommend you to read the history of FreeBSD a little. Links are available here:

https://en.wikipedia.org/wiki/FreeBSD

https://en.wikipedia.org/wiki/Research_Unix

 

You will find the history rather interesting.

 

From my reading I got to know that FreeBSD doesn't have micro kernel (original BSD and modern UNIX has ) instead it has monolithic kernel like Linux. Correct me if I am wrong.

 

Anyway I decided to try out FreeBSD on my Beagle Bone Black.

 

Setup the uSD card:

 

    After couple of failed attempts I got everything running. Here is the steps.

 

STEP 1 :

               Insert the uSD on your host device ( In my case it's an Ubuntu 18.04 PC)

STEP2 :

               Identify the partitions using lsblk command.

as you can see in my case the uSD card is mounted as sdb device. unmount the device

umount /dev/sdb1

 

STEP3:

            Download the FreeBSD operating system

 wget ftp://ftp.freebsd.org/pub/FreeBSD/releases/arm/armv7/ISO-IMAGES/\12.0/FreeBSD-12.0-RELEASE-arm-armv7-BEAGLEBONE.img.xz

 

STEP4:

          Extract and load the image to the card

          xz -d FreeBSD-12.0-RELEASE-arm-armv7-BEAGLEBONE.img.xz
          sudo dd if=FreeBSD-12.0-RELEASE-arm-armv7-BEAGLEBONE.img of=/dev/sdb bs=1M

 

Bootable image is ready!

 

Now comes the booting part. Insert the uSD card into the slot. Wire-up the Serial header to a serial-to-USB converter. Connect the USB to the host PC.

 

Press Down the "boot" button (next to the uSD card slot) and plugin the USB/DC-JACK to power-up the device. This makes sure that the board is booted from the uSD.

If everything goes well your beagle bone black will start throwing boot information through the serial port.

I used screen to view serial console. You can use your favorite one.

 

screen /dev/ttyUSB0 115200

 

 

You can login with either "root" or "freebsd".

password for root is root

password for freebsd is freebsd

 

Lets take a look at the root directory

 

cd /
ls

 

Looks very similar to Linux root file system right ?!!

 

Now lets do some GPIO programming.

As you know there are 4 LEDs.

 

cd /dev/led

There are 4 led files. Lets Turn on one LED.

 

echo "1" > beaglebone:green:usr2

 

 

That's it for now !

 

Thanks.