From ef70c05be1c5d1d587917515adcff0d6f31fb987 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20S=C5=82owi=C5=84ski?= Date: Fri, 10 Jan 2025 17:38:48 +0100 Subject: [PATCH 1/2] Small fixes in docs. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ONE-DCO-1.0-Signed-off-by: Marcin Słowiński --- .../how-to-cross-build-runtime-for-arm.md | 46 +++++++++++++++++-- 1 file changed, 42 insertions(+), 4 deletions(-) diff --git a/docs/howto/how-to-cross-build-runtime-for-arm.md b/docs/howto/how-to-cross-build-runtime-for-arm.md index df1436b7b11..e636b78c3a9 100644 --- a/docs/howto/how-to-cross-build-runtime-for-arm.md +++ b/docs/howto/how-to-cross-build-runtime-for-arm.md @@ -25,7 +25,7 @@ RootFS will be prepared at `tools/cross/rootfs/arm` or `tools/cross/rootfs/aarch ***\* CAUTION: The OS version of rootfs must match the OS version of execution target device. On the other hand, you need to match the Ubuntu version of the development PC with the Ubuntu version of rootfs to be used for cross-build. Otherwise, unexpected build errors may occur.*** -If you are using Ubuntu 20.04 LTS, select `focal`, if you are using Ubuntu 22.04 LTS, select `jammy`. You can check your Ubuntu code name in the following way. +If you are using Ubuntu 20.04 LTS, select `focal`, if you are using Ubuntu 22.04 LTS, select `jammy`, for Ubuntu 24.04 LTS, select `noble`. You can check your Ubuntu code name in the following way. ``` $ cat /etc/lsb-release @@ -81,7 +81,7 @@ If you select specific version, update symbolic link for build toolchain. Otherwise, you should set your custom cmake crossbuild toolchain. You can find cmake toolchain files in `infra/nnfw/cmake/buildtool/cross/`. ``` -$ update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-10 80 \ +$ sudo update-alternatives --install /usr/bin/arm-linux-gnueabihf-gcc arm-linux-gnueabihf-gcc /usr/bin/arm-linux-gnueabihf-gcc-10 80 \ --slave /usr/bin/arm-linux-gnueabihf-g++ arm-linux-gnueabihf-g++ /usr/bin/arm-linux-gnueabihf-g++-10 \ --slave /usr/bin/arm-linux-gnueabihf-gcov arm-linux-gnueabihf-gcov /usr/bin/arm-linux-gnueabihf-gcov-10 ``` @@ -104,17 +104,55 @@ ACL source will be automatically installed in `externals/ARMCOMPUTE` when you bu You can check ACL source information in `infra/cmake/packages/ARMComputeSourceConfig.cmake` +## Install numpy + +Python package `numpy` is needed for build. It's recommended to always install python packages in virtualenv. +To do this, at first you need to install python venv package: + +``` +$ sudo apt-get install python3-venv +``` +Next, create virtualenv: + +``` +$ python3 -m venv venv +``` + +and activate it (please keep in mind that you will have to activate it always before build) + +``` +$ source /venv/bin/activate +``` + +Next, just in case upgrade pip package: + +``` +(venv)$ pip install -U pip +``` + +and finally install `numpy`: + +``` +(venv)$ pip install numpy +``` + ## Cross build for ARM by using Makefile.template Give `TARGET_ARCH` variable to set the target architecture. If you used `ROOTFS_DIR` to prepare in alternative folder, you should also give this to makefile. +Remember to activate venv if you didn't activate it already: + +``` +$ source /venv/bin/activate +``` + ``` -$ CROSS_BUILD=1 TARGET_ARCH=armv7l make -f Makefile.template +(venv)$ CROSS_BUILD=1 TARGET_ARCH=armv7l make -f Makefile.template # If ROOTFS_DIR is in alternative folder -$ ROOTFS_DIR=/path/to/your/rootfs/arm \ +(venv)$ ROOTFS_DIR=/path/to/your/rootfs/arm \ CROSS_BUILD=1 TARGET_ARCH=armv7l make ``` From 67a47c6329585247f13f94735d97fdf89e5b9337 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Marcin=20S=C5=82owi=C5=84ski?= Date: Fri, 10 Jan 2025 17:40:06 +0100 Subject: [PATCH 2/2] Add python virtualenv to gitgnore file. --- .gitignore | 3 +++ 1 file changed, 3 insertions(+) diff --git a/.gitignore b/.gitignore index 44c15ba07fd..f8f244926c9 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,6 @@ # Makefile /Makefile + +# Python virtualenv +/venv