The sudden popularity of miniboard systems like Raspberry Pi have brought back the pioneering spirit of Linux’s early days. Suddenly, do it yourself in the open source community is back.
By now, most people of the geek persuasion have heard of the Raspberry Pi, but just in case you haven't, here's the nickel tour.
Raspberry Pi got its start in 2006, when a bunch of people in the University of Cambridge's Computer Laboratory in the United Kingdom were looking at the declining computer skills they were seeing in A Level students coming into their program. What they were seeing was not good, and it was a trend they could see being repeated in other nations besides the UK.
Despite the proliferation of personal computers, or perhaps because of it, kids were no longer experimenting en masse on PCs. Instead, they were using apps as they were presented, or just buying and downloading new ones to do what they wanted. Hacking, it seemed, was going way out of style.
The Cambridge team, lead by designer Eben Upton, began to put together a small, portable, and very inexpensive device that would boot right into a programming environment. From there, a student of any age could start coding to their heart's content.
In the US, the lack of computing skills being taught at a young age means they are facing a serious talent gap for application development ahead. We already have a talent gap in big-data-level data analysis, so its not beyond the realm of possibility that such a gap in programing is coming down the road.
This is not a good thing, and not for the usual geopolitical arguments that decry the US or the UK falling behind one nation or another. As a self-contained society, do we want the management of our information and content purely in the hands of a select few coding wizards?
In a way, the decline of programming literacy mirrors the decline of literacy after the fall of the Roman Empire … and we all know what happened then. The centralization of control of our data might be little different to our society as the centralization of the written word by the clergy and the very wealthy in the Middle Ages.
This is what the vision behind the Raspberry Pi is all about.
By 2008, the device now known as the Raspberry Pi had completed the design phase and was ready for production. The Raspberry Pi Foundation was founded that year, and after three years of fundraising and production, the Pi devices were rolling off of the assembly line.
There are two models of the Raspberry Pi available; Model A for $25 and Model B for $35. Both products feature a 700MHz ARM processor on a Broadcom system-on-a-chip board, with 256MB of RAM and an SD/MMC/SDIO card slot for onboard storage. The only major difference between the two models is that the extra 10 bucks will get you a 10/100 Ethernet jack in the Model B and a second USB port.
That small price differential and the popularity of a network-connected device might explain why wait times were anywhere from five to 12 weeks at the time of press to acquire a Model B, depending on the vendor.
And it's not alone anymore; new devices such as the Cotton Candy, Mele A1000, MK802, and Oval Elephant are part of this growing family of “mini-PCs.”
There are lots of projects that you can do beyond straightforward programming with the Raspberry Pi, of course. Already people have found the device to be a workable media streamer and an Internet radio). For this article, though, I will focus on the general purpose for the device: running a Linux operating system in which you can program.
There are any number of distributions that can run on the Raspberry Pi … essentially all you need is a distro compiled for an ARM11 processor in a disk image that will fit on at least a 2GB SD card. However, the Raspberry Pi team is currently recommending one of three distros, listed on their Downloads page: Raspbian "wheezy," Arch Linux ARM, and QtonPi.
For beginners, Raspberry Pi recommends the Debian variant Raspbian, which is considerably optimized for the Pi device and has LXDE, Midori, and other development tools. This is the one I installed for this article, but for the other images, the procedure will be the same, just change the file names.
Note: file names are those available at time of writing. They might have changed slightly since press time.
First, visit the Raspberry Pi Downloads page and download the latest edition of the Raspbian "wheezy" ZIP file.
In the directory you download the file into, extract the image with
Insert an SD card into your computer's reader slot and type
This will list the devices that are currently mounted. You should see a device name that doesn't match your system's current drive configuration. That extra device is your SD card. If the card has a name like /dev/sdd1, ignore the “1” (or any other number at the end of the name). The numbers indicate partitions, and when you write the disk image of Raspbian to the card in a bit, you will need the device name, which in this example would be /dev/sdd.
You need to unmount all of the partitions that are on the card. Most SD cards will only have one partition, but on the off chance it does contain more than one, unmounting them all will clear the way for the new disk image. Presuming the device name is /dev/sdd, enter
Repeat the umount command for all partitions with sdd in the name.
Now it's time to write the Raspbian image to the SD card with the dd command. Care must be taken here so you don't target your hard drive instead of your SD card. Still in the terminal application, navigate to the /2012-07-15-wheezy-raspbian directory and type
sudo dd bs=1M if= 2012-07-15-wheezy-raspbian.img of=/dev/sdd
This could take some time, so be patient and don't assume the process is locked up.
When the command-line prompt returns, type
to clear the write cache. Now you can remove the SD card and use it in your Raspberry Pi device.
With the HDMI port handling video and the two USB ports taking care of the mouse and keyboard controls, you might wonder whether you’re going to be constrained by the size of the SD card for your onboard storage. If you get yourself a powered USB hub, though, you can expand the ports and start using USB external drives for storage, too.
One of the biggest draws for the Raspberry device is not just the device itself; the community that surrounds this little device is very strong and growing very fast. If you weren't around in the early days of Linux, when things were fast and loose and information was catch-as-catch-can, then this will be a new experience harkening back to those days.
Linux veterans will feel like it’s old home week with the Raspberry community.
The influx of cheap and powerful hardware like this is sure to break open a lot of innovative projects, and already the Raspberry Pi is being eyed for fantasy terrestrial robots and reality extraterrestrial devices).
The possibilities, like Linux of old, are endless.
MSBuild is now just another GitHub project as Redmond continues its path to the light.
New rules emphasize collegiality in coding.
Upstart lands in the dust bin as a new era begins for Linux.
HP's annual Cyber Risk report offers a bleak look at the state of IT.
But what do the big numbers really mean?
.NET Core execution engine is the basis for cross-platform .NET implementations.
The Xnote trojan hides itself on the target system and will launch a variety of attacks on command.
Spammers go low-volume, and 90% of IE browsers are unpatched.
Adobe scrambles to release patches for vulnerable Flash Player.