Benchmarks Of Many ARM Boards From The Raspberry Pi To... - - For some weekend benchmarking fun, I compared the Jetson TX2 that NVIDIA released this weekend with their ARM 64-bit "Denver 2" CPU cores paired with four Cortex-A57...

openSUSE Leap 42.2 gets 64-bit Raspberry Image - - The latest release from openSUSE has new images available for the Raspberry Pi and joins SUSE Linux Enterprise Server for Raspberry Pi in becoming the initial...

SUSE Linux Enterprise Server Out for Raspberry Pi 3,... - - The release of SUSE Linux Enterprise 12 Service Pack 2 is not the only thing SUSE Linux fans should get excited about today, as a community member published a very...

Linux on ARMThis tutorial is an updated version of this old post, with newer software and less obsolete emulated hardware. - Every year the market produces tons of new products that run on ARM cores, and are able to run operating systems such as Linux. While most of these products are quite expensive (think about smartphones, development kits or evaluation boards) it’s possible to explore the world of Linux on ARM freely, thanks to software emulators like QEMU.

I am going to show how to compile the kernel and emulate the boot. To simplify things, the boot will not include a complete filesystem but uses a minimal ramdisk to show the kernel executing just one program.

I chose to emulate the Versatile Express product because it’s well supported both by the mainline Linux kernel and by mainline QEMU. Moreover, this hardware platform runs on the Cortex-A9 core, which is an ARM CPU that is included in many smartphones today.


In order to follow the same steps that I did, you need some tools.

First of all, anything I do is performed on a Linux machine, specifically a Debian testing distribution, in a bash shell.

To manage the kernel compilation, GNU make should be installed (it is usually in build-essential package)

To compile the kernel for ARM architecture, a cross-compiler must be installed. The difference between a traditional compiler and a cross-compiler is that the traditional compiler runs on an architecture (for example x86_64) and produces binaries for the same architecture. A cross-compiler produces binaries for a different architecture (in our case ARMv7). Depending on your distribution and what works for your setup, you can choose from different toolchains:

comments powered by Disqus
Facebook Twitter RSS E-Mail

Linux on ARM