A Linux Machine for a Few Bucks
Uros Popovic's project demonstrates how you can create your own practical Linux computer, completely from scratch, for about $5.
Linux is well-known for its efficiency and ability to run on some very tiny hardware platforms. Its versatility has made it the go-to operating system for a wide range of devices, from smartphones and tablets to embedded systems and Internet of Things devices. This adaptability stems from its open-source nature, which allows developers to tailor it to suit the specific requirements of various hardware configurations.
But just how tiny and inexpensive of a hardware platform can you get your own useful Linux system up and running on? Many people would probably answer that question by pointing to the diminutive Raspberry Pi Zero, or a similar single board computer. For about ten dollars, and in a package the size of a stick of chewing gum, that would seem like a pretty good answer, even though Linux could run on an even less powerful platform. But that is not really what I had in mind in asking the question about getting your own useful Linux system up and running.
A software engineer by the name of Uros Popovic recently spent some time trying to build a minimal, yet practical, Linux computer completely from scratch, with the goal of keeping the cost under five dollars. Popovic had previously gone through a similar exercise, but did all of the work in a virtual environment. This time the plan was to get mainline Linux running on a custom, physical computer. And lucky for us, the entire project was written-up in detail so that we can play along at home. Be warned that this is not a step-by-step tutorial, however, so you will need to bring some knowledge to the table if you want to recreate the device for yourself.
The system is built around the Allwinner F1C100S SoC, which provides processing, memory, and USB and UART peripherals all in one package. That was paired with an SPI NOR flash memory chip to provide permanent storage — about 8 to 16 megabytes of space is sufficient. In single quantities, these components can be purchased for about five dollars. Popovic followed another engineer’s tutorial to create a PCB with these components, and then had it manufactured with JLCPCB.
Throughout the remainder of the write-up, Popovic gives lots of helpful tips on how to build the bootloader, compile the Linux kernel, and initialize the filesystem. Finally, some steps are given to get the system up and running for the first time. Popovic also notes that a LicheePi Nano board, or similar, can be substituted by anyone that wants to build the Linux system without worrying about the custom hardware.
For some people, an exercise like this is a great way to spend a weekend. If that is you, you will not want to skip out on reading the write-up. On the other hand, if this sounds more like a nightmare to you, well, there is always the Raspberry Pi Zero.