Cross compiling with Bazel

This time a short introduction to Bazel and how to cross-compile with this tool. I will explain how to build for host platform, as well as for multiple different targets. You can get the partial repositories used in this exercise here. Installing Bazelisk I highly recommend using Bazelisk for managing…

Using a custom GCC toolchain for embedded Linux development

So previously I shortly introduced how to build a custom toolchain, now it's time to put it to use. A bare toolchain is rarely sufficient enough to build useful applications. We usually depend on external libraries, whether it's boost, protobuf or any other piece of code. This time, let's use…

Using crosstool-ng to generate a gcc toolchain

crosstool-ng is a handy tool for obtaining custom gcc toolchains which are tailored to your needs. This is especially useful when you are up to building a custom system for your embedded device, like a raspberry pi or a beagleboard. Building crosstool-ng itself crosstool-ng can be obtained in binary form,…

Buildroot with Raspberry Pi - U-Boot

Raspberry Pi has a fairly complicated boot process with two bootloaders. The first one resides in built-in ROM and is responsible for starting the GPU. The GPU executes bootcode.bin, the second bootloader, which in the end runs the kernel. Although, there is a possibility to have the root file…