====================================== How to use Genode directly on hardware ====================================== Martin Stein Abstract ######## This document provides brief instructions about building and booting Genode with the 'base-hw' repository. The 'base-hw' repository provides an implementation of the Genode core that runs directly on hardware, without an intermediate third-party kernel. It supports a limited range of target boards. For further target specific informations, have a look at '/repos/base-hw/doc/.txt' where '' is one of the following: 'pbxa9' - Realview PBXA9 'vea9x4' - Versatile Express A9X4 'imx31' - Freescale i.MX31 'panda' - PandaBoard A2 Prerequisites ############# To build Genode you need to download and install the tool-chain used by Genode. Have a look at this page: :[http://genode.org/download/tool-chain]: Genode tool-chain If you want to use the so called run-scripts in Genode, a mechanism that automates building, integration and testing of components, you have to install the following, additional package: ! apt-get install expect If you want to examine the examples that are given in this document, you will need Qemu for ARM emulations to run them on your machine: ! apt-get install qemu-kvm-extras Building Genode to run directly on hardware ########################################### The current version of the Genode source code is available at this page: :http://genode.org/download/repository: Donwloading the Genode source code Now, go to a directory where you want the Genode build directory to remain. Use the helper script in the 'tool' directory of the Genode source tree to create the initial build environment. You need to state the build directory you want to create, and the hardware target to run Genode on. ! /tool/create_builddir hw_ BUILD_DIR= Where '' is one of the following, depending on the hardware system you aim at: 'pbxa9' - Realview PBXA9 'vea9x4' - Versatile Express A9X4 'imx31' - Freescale i.MX31 'panda' - PandaBoard A2 Please notice that not all of these targets might be emulateable with Qemu. To be on the safe side use 'pbxa9'. For informations about how to boot 'base-hw' images on real hardware have a look at '/repos/base-hw/doc/.txt'. Now, go to the newly created build directory make a test: ! cd ! make run/nested_init This will build the Genode components that are needed to run a simple test with 3 nested init programs, and than execute it via Qemu.