I received my Raspberry Pi 2 in the mail months ago. Of course I was so excited I set it up the same night I received it and proceeded to tinker with the OS and learn about it’s little nuisances. Here’s what I got “done” over the past few months with it:

  1. ARM OSes are not as “flavorful” as I imagined… Obviously the first place I went to find an OS for my Pi was the Raspberry Pi website, but really there are plenty of others. However, I wasn’t too impressed as it seemed to me they were either a) built for a specific purpose or b) not fully built out and missing a lot of packages (not everything has been ported to the ARM architecture). While I do love compiling and building some things from scratch, this wasn’t one of those projects. So Raspbian is the way to go…for now.
  2. Raspbian is Debian and I am a Redhat person… 2 things drive me crazy when using linux: 1) typing a command, hitting tab, bash auto-complete failing to find the command and 2) Realizing I am using Debian while attempting #1. At this point in time, Debian has a good stable train of OSes for the Pi and a nicely filled out repository of ARM architecture packages. There is a CentOS flavor  for Raspberry Pi available; however, the basic repositories don’t have enough packages to make it useful. Usually using EPEL alleviates that problem, but it appears that there is no ARM compatible repo just yet.
  3. Borking the OS is a part of the learning process…I had to restore my Pi 3 times before I got it right.
    1. Setting a static IP in /etc/network/interfaces is apparently the incorrect way to set the IP these days. So wrong in fact, that it completely borks the OS. I had only been running the Pi for about 15 minutes. The correct way is the modify the /etc/dhcpcd.conf file, following the instructions in the file should help.
    2. Trying on new OSes beside Raspbian and jumping ship back to Raspbian. As soon as I found out CentOS had an ARM compatible OS, I loaded it up. As I mentioned before, a lot of the functionality I was looking for (usually installed from EPEL packages), was not available.
  4. CUPS + Brother Printers don’t get along so well…This is sort of related to the Pi itself, but more of my aging hardware, specifically my Brother printer. This wasn’t one of the intended uses I had lined up for the Pi, but since my networking card in the Brother printer bit the dust this seemed like a logical next step. Only problem is the installer provided via Brother (a .deb file), is not ARM compatible. This print server project has been put on hold for the moment.
  5. Dedicated DHCP Server…Dynamic DNS is a convenient functionality and I realize I could take a load off of my home router from managing DHCP at the same time. DNSMasq is a very useful application that accomplishes this task is incredibly easy to setup. However, the only issue with this is that DNSMasq doesn’t dynamically update my home DNS server (which is being managed by FreeIPA). However, as of recent FreeIPA does have a way of dynamically receiving updates from the ISC DHCP server package as long as it is configured correctly. However, performing DNS/DHCP changes during the day creates some unique networking issues that others on the network will experience (specifically web surfing girlfriends). This project is also on hold until I can find a time when I cause network disruptions without bothering anyone but myself.
  6. ESXi NFS backup Server…My original post explained that this was my primary goal in purchasing this device. I finally got around to getting this setup. Using ghettoVCB and some cron jobs, I have been able to automate weekly backups of all my guest virtual machines.

Overall, I think I have only accomplished one task with the Pi and that’s my original project of performing automated ESXi backups. Thankfully it was in just the right time though as I just purchased some upgrades for my server: 2x 3TB hard drives, 16GB RAM kit. I plan to wipe the system, setup a RAID-5 array (3 active, 1 spare) and re-image the system to the latest ESXi, so restoring from these backups will come in handy.