diff --git a/BANANAPI.md b/Hardware.md similarity index 92% rename from BANANAPI.md rename to Hardware.md index 62962b5..4206139 100644 --- a/BANANAPI.md +++ b/Hardware.md @@ -1,4 +1,4 @@ -# Setup BananaPI for benchmarking +# Setup Hardware (Banana PI and Drdroid XU4) for benchmarking The goal of this documentation is to get a linux image running on a bananaPI board that allows for very isolated benchmarks showing full @@ -6,9 +6,9 @@ time distributions of the measurement runs. ## Base Setup -First step is to get a linux image running on the banana PI. We choose to use the +First step is to get a linux image running on the hardware platforms. We choose to use the [armbian](https://www.armbian.com/) project as it is the only one with support for the -bananaPI m3. For this we generally +both boards. For this we generally [follow the instructions given](https://docs.armbian.com/Developer-Guide_Build-Preparation/), below are notes on what to do to get the rt kernel patch into it and to build. @@ -23,19 +23,21 @@ General Setup: - `$ git clone --depth 1 https://github.com/armbian/build` - `$ cd build` - To verify the environment first go for a 'clean build' without patch: `# ./compile.sh` -- Select the bananaPI m3 board and a minimal console build +- Select the bananaPI m3/odroid xu4 board and a minimal console build +- NOTE: To this date, the legacy kernel (4.14.y) has to be selected for the odroid xu4 board Apply RT Pach: - Find the current kernel version armbian is using, e.g. from the previous build logs - Download and unpack the matching rt path from https://mirrors.edge.kernel.org/pub/linux/kernel/projects/rt/ - You should have a single .patch file, place it in build/userpatches/kernel/sunix-current/patch-5.4.28-rt19.patch - Re-run the `# ./compile.sh` script -- Select BananaPI M3, Command Line Minimal and SHOW KERNEL CONFIG +- Select BananaPI M3/Odroid XU4, Command Line Minimal and SHOW KERNEL CONFIG - The build should pick up the patch (and show it in the logs) - You will be ask to fill in some settings. Choose (4) fully preemptive at the first option - Fill out the other asked settings to your liking. To avoid issues just leave them at default. - You will then be in the kernel config window -- Here disable the file systems AUFS and NFS in the settings (they cause build issues and we do not need them) + - BananaPI: Here disable the file systems AUFS and NFS in the settings (they cause build issues and we do not need them) + - Odroid: Disable Heterogeneous Multi-Processing (HMP) in the settings (does not work with preempt_rt yet) - Store the settings and build the image - If successfull, the flashed image should show the preempt patch with `uname -a` and should have good latencies in cyclictest