How the board in front of you (Raspberry Pi) is a computer
The following diagram shows an abstract view of the board does.
The largest chip on the board is what is known as the SoC or
System-on-a-chip, which is listed on the diagram as ‘CPU/GPU’ and
is the brains of the Pi. The system-on-a-chip has that name
because there are a number of ‘support chips’, and other
electronics that are required for a CPU/GPU to communicate with the
outside world. The other large chip on the topside of the Pi is
the USB controller. On the bottom of the board are the wireless
(shielded), RAM, and MicroSD slot.
The I/O (input/output) on the Pi is mostly in the SoC with access
to the pins on the chip exposed with the double row of header pins
that are on the board. In addition there is an internal USB hub
that is used to connect the wired network connection and USB
ports. The wireless is embedded into the Pi and does not go
through the USB hub. (On most computers the wired connection is
also more directly connected, through a faster connection know as a
bus (a bus is collection of connections that work together).
A USB hub is a device that allows multiple USB devices (including
other USB hubs) to connect to a single USB controller.
Another important piece of the Pi is the RAM — that is the
scratchpad the CPU/GPU use while the Pi is powered on (but is not
And finally, connected through more I/O is the micro SD card, which
provides persistent storage, which means what is on it continues to
exist when the Pi is turned off, even if it is removed from the Pi.
For small deployments (or home or small office use) you may find yourself in need of a 'bare metal' server, but not want or need the expense of an x86 machine. If the workload is not too demanding, a Raspberry Pi can be a good choice. The Pi has the benefit of being inexpensive, using little electricity, and taking little space.
I've now built sites using a variety of static generation methods, participated in wikis and other's CMS systems, and was hosting a Plone instance (dynamic CMS), so I've decided to post a comparison of the different (and similar) trials and tribulations of using open source solutions for dynamic vs static web content management.
Around 2011 Android devices based on the WonderMedia 8xxx-series SoC (ARM v5) were being sold as netbooks. This article describes getting Debian 7 (Wheezy) running from SD card on one such: a Craig CLP281 Netbook.
Not worth it for most SOHO (Small Office Home Office) / startup deployments. I'd call three storage nodes, two controllers, and five reasonably beefy compute nodes the minimum to even consider the option. Headless libvirt combined with virt-manager makes a far less complicated VM environment and it can be online much more quickly.
The cross-compilation toolchains builtin to most modern Linux distributions do not support older versions of GCC. For old kernels (and other software) that require GCC4 or lower for building, this poses a challenge. One either needs to build a cross-compilation toolchain or use virtualization. This article describes setting up a cross-compilation toolchain.