Chapter 1. BeagleBone Black System Board
While studying physics and natural science, I always felt that solving scientific or mathematical problems was the only way of really making use of a modern computer's speed and calculation power. Such problems appear in research, simulation, or visualization purposes, as well as in computer games. Playing around with computers and programming since the age of 13, I soon realized that linear problems such as equation systems can take a very long time to get solved on modern standard PCs, depending on the number of unknowns. Also, being interested in the miniaturization of hardware, I finally came across BeagleBone Black (BBB), which is a credit-card-sized computer that can run Linux. I soon stumbled across some already realized supercomputer projects on the Web that utilize similar boards. Having read some articles about their scalability and capabilities, I decided to try and understand how to build and configure such a supercomputer with the more modern BBBs instead of Raspberry Pi. I succeeded in building my first self-built, low-cost supercomputer that is a Beowulf cluster, and now I will show you how to build your own. The common reason why people buy BBB is because of its fascinating hardware. There are a lot of other embedded systems such as Arduino Mega or Raspberry Pi, which were created in order to enable hobby programmers to start the development of their own hardware controls or other applications right away. Compared to Arduino Mega or other low-level products, BBB has 100 times or more computational power and a lot of other integrated features for the same price.
The technical specifications of BBB are introduced in this chapter. Alongside the basic hardware architecture and board features, you will get to know other useful information on the boot selection button and internal storage partitions. Coming to the operating system (OS) and software parts, the main focus will be on the OS used throughout this book and a basic understanding of programming languages and the development tools for later chapters.
The following topics will be covered:
- Explanation of the system board features
- Introduction to existing operating systems
- Understanding the partition structure with and without a microSD card
- Explanation of boot partition and boot failure recovery
- Introduction to the necessary programming environment for this book
The last point is especially written for hobbyists who might or might not have basic programming skills, as all the steps required to create your own software will be explained and kept at a basic level.