What you need for this book
The prerequisites required for efficient learning are mentioned in the following sections.
Software prerequisites
You should have a little knowledge of the software of a non-graphical text editor, such as vi, emacs, or nano. You can even connect an LCD display, a keyboard, and a mouse directly to the BeagleBone Black, and then use the graphical interface; in this book, we assume that you are able to do little modifications to the text files using a text-only editor.
The host computer, that is, the computer you will use to cross-compile the code and/or to manage the BeagleBone Black is assumed to run on a GNU/Linux-based distribution. My host PC is running an Ubuntu 14.04 LTS, but you can use a Debian-based system too with little modification, or you may use another GNU/Linux distribution but with a little effort from you, mainly regarding cross-compiling tools installation. Foreign systems, such as Windows, Mac OS, or similar ones, are not covered in this book because we should not use low technology systems to develop the code for high technology systems.
To know how a C compiler works and how to manage a Makefile could help, but don't worry, all examples start from the very beginning, so even a developer who is not skilled should be able do the job.
This book will present some kernel programming techniques but these cannot be taken as a kernel programming course. You need a proper book for such a topic! However, each example is well-documented and you will find several suggested resources.
Finally, let me add that knowing a visualization system could be useful, especially in case you wish to set up your own developing host computer.
Hardware prerequisites
In this book, all the code is developed for the BeagleBone Black board Revision C, but you can use an older revision without any issues; in fact, the code is portable, and it should work on other systems too!
The computer peripherals used in this book are discussed in the section where I got the hardware and where you can buy it; but of course, you can decide to surf the Internet in order to find a better and cheaper offer.
You should not have any difficulties connecting the hardware to the BeagleBone Black presented in this book, since the connections are very few and well documented. They don't require any particular hardware skills to be performed by you.