Security concerns caused my company to disable the ability to write to a USB drive on the machine I use for work. They provide backup and cloud based storage facilities, but my requirements for local storage for my video work have grown, and my internal hard disk capacity has not.
I considered upgrading my machine, and even purchased the new one–at a cost of over $4,000, but didn’t open the box when it arrived; I decided with the coming economic changes due to the coronavirus, perhaps I should investigate a less expensive path first.
Raspberry Pi: Less Expensive
I have thought about testing out a Raspberry Pi for quite a while now. My son’s adventurousness in upgrading his 10 year old Mac memory (for $10) helped me finally do it. $64 for a Raspberry 4, with 2 Gig of memory, a storage case and fan, two heat syncs, and a cable to attach an HDMI.
I had a wireless USB keyboard and mouse; found I needed more than my old 1 gig SD Micro card so two days later that was another $8.
That is certainly less expensive. Like 40 times less expensive.
Upon opening the package, this I read this:
The Raspberry Pi is a small computer- a very small computer.
It consists of mostly the same parts as a standard desktop computer or laptop…The Pi may be less powerful than your Windows PC or Macintosh, but it is still impressive that it fits all of this on a board only slightly larger than a credit card.
The original goal of the UK-based Raspberry Pi Foundation was to create a device that would address their perceptions of failing standards in the teaching of computer science. As computers have evolved, they have become more difficult to write software for at a “low-level” with close interaction between the hardware and software. And as they have become more integrated in our daily lives, the consequences of breaking your computer by experimenting have become more severe…and expensive.
So, unlike conventional systems, the Pi is a machine that is designed to be played with and used for experiments. Its diminutive form factor and relatively low cost mean that you can do what you want with it, and this attracts far more diverse groups of users than just students and teachers.
“Raspberry PI Quick Start Guide” by Vilros
After two long days, I am impressed by how well the designed system meets that mark.
Here is a video of the results:
Range of Activities
Because my work computer (a Mac) has the USB port disabled, I couldn’t use it to initialize the Micro SD memory card. Fortunately, my wife’s Windows 10 Laptop served the purpose. I won’t go into all the steps I took, but here they are in short.
SD Card Configuration
The Windows application for creating an image on the SD Card was very simple and did everything that was needed.
I found a number of instances on sites that suggested editing files on the SD card before using it to boot up the Raspberry. For example, adding a file called “ssh” in the root directory makes the Raspberry start the ssh service, and editing network configuration parameters can easily be done here (the process of encrypting a wifi password was not clear in a number of early sites I read).
Impressions:
- The SD memory card is a very effective way of preparing a bootstrap system, and gets one very close to what happens when a system starts, without being overwhelming.
- After investing time in setting up a working system, one wants more than one memory card to explore other options without destroying all that work.
Operating System
I experimented with 2 different operating systems: Raspbian Pi Desktop (a Debian based Linux), and Ubuntu (another Linux flavor) both Core and Server versions.
I also experimented with headless installation, wherein there is no keyboard or monitor attached. Having become comfortable with ssh and command-line work over the last few years, I enjoyed doing this.
It is probably quite natural – as I did – to start with a desktop before trying a headless installation. I didn’t realize the differences between the choices in operating systems as I went from Raspbian to Ubuntu, and chose Core, which requires a headless system. I stumbled into a number of issues.
Having gone there, I switched to Ubuntu desktop before learning my desired disk support configuration couldn’t be achieved there. I then went back to Raspbian, opting for headless. Perhaps it was because this was now my fourth time through the steps, I was pleased with how well this set up.
I also had that working quite well when I decided to try to optionally get a desktop working on it. It took a bit to figure out how to accomplish that from within a headless ssh interface, and it forced some of the networking issues discussed below.
Impressions:
- Raspbian is better suited to the Raspberry Pi hardware, but more limited in the applications available
- More investigation of what the differences in the operating systems before stumbling into them might have been helpful, but even now I don’t see a good guide for that online.
- But in the spirit of learning, one can see how effective the process of charging ahead and changing all sorts of fundamental things can be.
External Hard Drive
My objective in using the system was solving a disk storage issue, specifically to write. Although I didn’t purchase the 4 terabyte USB hard drive with the Raspberry, I ended up experimenting a lot with it.
For the first 12 hours I was able to use the drive without reformatting it, although I had already transferred all files I wanted to save to other devices, knowing I wanted to be able to use it experimentally.
Impressions:
- Although there are interoperable storage formats for Mac, Windows, and zlinux, they all have limits to the best features of the specific operating system storage formats
- Since I was attempting to solve a Mac storage problem, I ended up defaulting to an older Mac format that provided some level of cross platform access.
- Windows Disk utilities are more accessible and seem more powerful than Mac’s. I ended up having to turn my Mac into recovery mode in order to access the tool to get back to the original hard disk format I had chosen to stay with. (I’m not sure why I never thought to try a Linux disk utility.)
- If you want to experiment like the Raspberry is intended to enable, plan to have a USB hard drive you can sacrifice to the cause.
Networking
I fortunately figured that a wired connection to my home router would be the easiest way to use the Raspberry. I was glad I did, as it reduced for me one level of complexity, where I wasn’t really all that interested in experimenting.
As part of attempting to install a desktop after having booted headless on Raspbian, I followed instructions to install software to get the display working which also installed another version of the networking tools. I then was left trying to debug the new problems it caused, I learned was quite old and not an active project any longer.
I ended up switching to another networking tool, and gave up on wirelessly using ssh to get into the machine. It costs me a few hours near the end of my desire for more “learning.”
Impressions:
- A wired connection controls one aspect of the system allowing for experimentation in others areas
- Given the nature of distributed software and open source installation, networking is almost more important than storage.
- Given enough time, one will begin to find the limits of the software available for a platform when compared to the richest, most developed platforms.
Applications
VNC Viewer by RealVNC provided a nice network desktop view.
For my remote disk configuration, two links provided a great deal of help in creating the system I wanted. How to Use a Raspberry Pi as a Networked Time Machine Drive For Your Mac, and How to Setup a Raspberry Pi AFP Server.
Another useful tool once I got the storage problem basically working was Rclone, allowing syncing data from cloud services to the hard disk. A powerful tool, but the documentation is not the strongest part of the system (Note that this little help was important to getting the system working).
Impressions:
In the end, the applications were not all that interesting to me. And even though at the end of two days I had Mac OS’s Time Machine backup utility working, the next morning it stopped. I considered trying to figure it out, but then determined that relying upon this machine as a back-up device probably was not the best idea.
For me, given the access to computing resources that I have, the Raspberry PI is best used for experimentation. It will provide a fine approach to external storage, which I can remove and plug it into my Mac for direct access if the configuration becomes unstable.
Given time and the nature of ever changing technology and the pace of development of open source software for the breadth of computing the world, I’m sure I won’t keep the Raspberry up to date. For me, it is probably best used for experimentation, not production.
Objective
So what was the objective of those who created the Raspberry PI?
As computers have evolved, they have become more difficult to write software for at a “low-level” with close interaction between the hardware and software. And as they have become more integrated in our daily lives, the consequences of breaking your computer by experimenting have become more severe…and expensive.
The Raspberry Pi allowed me a lot of experimentation (perhaps over 30 hours in two days). It did so at a very low cost. And it allowed me to get close to the machine in a number of ways, particularly in configuring the boot SD card.
Conclusion
As I wrote in my textbook, Balancing Act, chapter 17, understanding what the machine has to do to answer a question can have very large implications to the usefulness and costs of the result.
I applaud the makers of the Raspberry Pi, and would like to see a similarly successful effort in the space of smart phones, to enable a radically new type of financial system, as described in this blog entry about Really Simple Commerce.
I look forward to experimenting with that system at some point.
[…] on other POC projects, including the short Raspberry Pi experimentation, and the longer Universal Ledger Infrastructure project, I have recently experimented with a […]