Most people, don’t realize how prolific Linux has become. With the Embedded Linux Conference just a week away, I’ve been reflecting on how Linux has provided a sort of computing “circle of life” experience for me. It’s powered my computational hardware 20 years ago and continues to do so today.
In the Beginning
Way back in 1986, I purchased my first laptop, a Toshiba T1100-Plus laptop. It had dual 720kB floppy disks, a 7.16 MHz, 80c86 CPU and 640kB of RAM. The screen was monochrome and WiFi…well…not yet. The only operating system available for this awesome beast was MS-DOS, which was command-line only.
Minix was out in the wild and I tried it on the T1100, with mediocre success. The functionality was very basic and was clunky to use on my machine. Unix was pretty mature and I had a version on the Sun Microsystems machines I managed in the tool design department.
I wanted more. I wanted a lot more. I wanted Unix at home.
Of course, there was absolutely no chance of running Unix on the old T1100.
Somewhere around 1997, I finally acquired a “Unix-like” system of my own. It materialized as a huge, seemingly 10-million page Linux manual and CD package put out by Walnut Creek and purchased at the then-cutting edge CompUSA store. The manual was really nothing more than a bound edition of what seemed like the entire collection of man pages, at the time, with a bit of expert guru interviews thrown in for good measure. The pages were super thin and had a funny “printing ink” smell, which I still fondly remember.
I had an Intel ‘486 desktop machine, in my office, that seemed like a perfect candidate for an “upgrade” to Linux. The box had 640kB of RAM, a 10MB (as best I can recall) hard drive, a 720kB floppy drive and an early CD drive.
I spent quite a few evenings getting Slackware Linux, a distribution included in the CD set, running on that desktop box. As the World Wide Web came up to speed and techies everywhere were building their own machines, Linux gradually matured to a “nerd-usable” level. Loading Linux would remain pretty much completely out of the question for the mainstream PC user, well into the late 2000’s and early 2010’s.
Today, mainstream Linux versions like Ubuntu and Mint are popular and virtually foolproof for anybody to install on their desktop or notebook. And, as if you need more choices, DistroWatch keeps track of dozens of specialized versions of Linux from which to choose.
Linux Connects Today’s Hardware to the Past
So, here we are in 2017.
All the computers at my home, run Linux. Well, except a MacBook Pro, owned by my daughter. Even that is derived from Linux.
Linux has very broad hardware support, particularly in favor of the Off-The-Shelf Hacker. Check it out:
The flagship Linux-capable microcontroller in the DIY/Maker Movement world is the Raspberry Pi and its clones. There are versions of Raspbian, Noobs, Ubuntu (Mate) and Red Hat (PiDora) that all run on the Pi. Download the image file to a PC and then burn it on a micro-SD card. Pop the card into the Pi, hook up a monitor and keyboard/mousepad, apply power and you are up and running.
Most Linux releases come with a desktop including basic applications like a browser, text editor, software manager and other mainstream computing tools.
Need to do some old-school development or system administration work? Open a terminal window and jump on the awesomely powerful command line. You don’t even have to use a monitor, keyboard/mouse and graphical user interface desktop. Just configure your board as “headless” and simply log into it remotely, using ssh. Headless and servers go together, so setting up an MQTT broker (server) or web server, is a no-brainer with Linux on these nano-machines. I recently ran Mosquitto (a MQTT broker) on a headless, WiFi-equipped $9 CHIP computer. Linux resides in FLASH memory, on that board.
Then you have exotic nano-Linux microcontroller boards like the BeagleBone Black Wireless. This little monster sports Linux in FLASH memory, 512 MB of RAM, graphics acceleration, HDMI, WiFi, Bluetooth, a bunch of GPIO pins and 2 onboard programmable real-time units (PRU). Those PRUs free up the main processor, running Linux, from handling low-level hardware input/output tasks. It’s like adding a couple of high-performance Arduinos to a Raspberry Pi and putting them all on the same tiny little self-contained board. Robotics and signal processing are great jobs for the Bone.
Again, you can hook up a monitor/keyboard combo or run it headless (and wireless) with ssh and the command line, because the full power of Linux is right there at your beck and call.
Linux Marches on
TechCrunch recently offered a nice write-up on the newly released CHIP Pro, which is a production-capable CHIP computer module for building commercial products. What kind of everyday problems can be solved with a CHIP Pro, some sensors, perhaps a few actuators, a wireless connection to the Web and the vast Linux application pool? The mind boggles.
You should be sure to check out the LinuxGizmo website. It finds and reports on the absolute latest, cutting-edge boards that run Linux. These little machines include everything from one-off specialty modules to extreme, multi-core, industrial-strength single board computers (SBCs), with every bell and whistle you can imagine. Understandably, some include an equally impressive price tag.
High cost for prototype solutions is very common. If you are solving an interesting problem that makes a difference for your customer, the cost usually comes down with volume, more sales and product/process maturity.
My use of Linux started out on fairly low-powered computing hardware, ramped up throughout the PC and notebook era, then circled back through moderately-powered single board computers hooked up to sensors and output devices. Today’s nano-Linux machines will only become more powerful over time. How long until we have a $1 SBC running Linux in FLASH? That would be something, right?
I think the biggest challenge facing an Off-The-Shelf Hacker today is identifying worthwhile problems to productively crush with all these cool tools, applications, hardware and the power of the Linux operating system.