The host platform chosen to cross-compile the BeagleBone kernel is the same build machine that we used for the previous blog article, Building the Linux Kernel - An Introduction, an Ubuntu based virtual machine. That is, a BeagleBone Black running a recent Debian based image. With that in mind, a working BeagleBone Black will be required to test the final kernel build. Using a host platform, we will build a new Linux kernel and then deploy this to an existing BeagleBone filesystem. This platform lends itself to use in these projects because not only is the hardware open-source but it is also very well supported by Linux and the open-source communities.Īs such, I will use the BeagleBone Black platform to demonstrate how we can build a kernel for a different architecture. In recent years at ITDev, we have seen a number of new and existing projects using hardware that is very similar to the BeagleBone Black platform. The BeagleBone Black is a low-cost ARM Cortex A8 processor-based single board computer produced by the foundation. The Target platform - The BeagleBone Black The process of cross-compiling the Linux kernel is much the same as compiling the kernel natively, except in this instance, we invoke the cross-compiler toolchain rather than the native toolchain. In this case, we are building on a 64-bit intel based architecture. This is where the toolchain will be installed. The host machine is the machine that we use to build the target software. In this example we will compile a kernel for the BeagleBone Black system which is based on an ARM architecture. The target is the system that we wish to compile for. The two main elements are the target and the host. When cross-compiling there are some basic terms that we use to refer to the systems involved in the process. That is, build a piece of software on a machine dissimilar to the machine (architecture) it is destined to run on, hence the term cross-compiling. This is normally carried out for a number of reasons but perhaps the most important is the time required to compile the given piece of software locally often embedded systems are limited in terms of processing power and available storage. Often, in the world of embedded computing, we need to compile a piece of software, whether that is a software application, some software libraries, or the operating system itself, non-natively. Expanding on my previous blog post, which covered the basics of natively building a Linux kernel from scratch, we will now look at building a kernel for a different architecture.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |