This code is forked from https://github.com/chrisss404/check-mk-arm
I will try to refactor and update it for my own use cases. The build instructions will be documented in the future. Currently I am working on updated builds.
dpkg: error processing package check-mk-raw-* (--install): dependency problems - leaving unconfigured Errors were encountered while processing: check-mk-raw-* That's perfectly fine. Run apt-get install -f and the installation should complete successfully.
The rrdcached issues many small write requests which may harm your SD card, see: https://forum.checkmk.com/t/checkmk-on-raspberry-pi/27760/4
Go to Setup > General > Global settings > Site Management and reduce the number at Apache process tuning to 5.
In case of issues accessing the Checkmk web interface, check the pre-defined iptables rules, see: https://blog.meinside.dev/When-Oracle-Clouds-Ubuntu-Instance-Doesnt-Accept-Connections-to-Ports-Other-than-22/
# build a specific version of Checkmk targeting Debian 32-bit, e.g.: 2.2.0p1 INSTALL_DEPENDENCIES=1 bash build_check_mk_debian_32bit.sh <version> # build a specific version of Checkmk targeting Ubuntu 64-bit, e.g.: 2.1.0p21 INSTALL_DEPENDENCIES=1 bash build_check_mk_ubuntu_64bit.sh <version> Build or get a deb package that targets your system and install it as shown below, then follow the official user guide to set everything up.
dpkg -i check-mk-raw-*.deb apt-get update && apt-get install -f cp scripts/create_build_environment_variables.py scripts/create_build_environment_variables.py_v2 vim scripts/create_build_environment_variables.py_v2 - if checksums and all(v == "--" for k, v in checksums): - raise RuntimeError( - "All provided 'pathhash' items result in emtpy hashes." - " This is considerd to be an error." - ) diff -u scripts/create_build_environment_variables.py scripts/create_build_environment_variables.py_v2 > ../create_build_environment_variables-allow-empty-pathhash.patch cp defines.make defines.make_v2 vim defines.make_v2 -# By default our internal Python mirror is used. -# To use the official Python mirror, please export `USE_EXTERNAL_PIPENV_MIRROR=true`. -EXTERNAL_PYPI_MIRROR := https://pypi.python.org/simple -INTERNAL_PYPI_MIRROR := https://devpi.lan.tribe29.com/root/pypi - -ifeq (true,${USE_EXTERNAL_PIPENV_MIRROR}) -PIPENV_PYPI_MIRROR := $(EXTERNAL_PYPI_MIRROR) -else -PIPENV_PYPI_MIRROR := $(INTERNAL_PYPI_MIRROR) -endif +PIPENV_PYPI_MIRROR := https://pypi.python.org/simple diff -u defines.make defines.make_v2 > ../defines.make-use-official-python-mirror.patch cp omd/packages/heirloom-mailx/heirloom-mailx_http.bzl omd/packages/heirloom-mailx/heirloom-mailx_http.bzl_v2 vim omd/packages/heirloom-mailx/heirloom-mailx_http.bzl_v2 - "https://ftp.debian.org/debian/pool/main/h/heirloom-mailx/heirloom-mailx_" + HEIRLOOMMAILX_VERSION + ".orig.tar.gz", - "https://artifacts.lan.tribe29.com/repository/upstream-archives/heirloom-mailx_" + HEIRLOOMMAILX_VERSION + ".orig.tar.gz", + "http://archive.ubuntu.com/ubuntu/pool/universe/h/heirloom-mailx/heirloom-mailx_" + HEIRLOOMMAILX_VERSION + ".orig.tar.gz", diff -u omd/packages/heirloom-mailx/heirloom-mailx_http.bzl omd/packages/heirloom-mailx/heirloom-mailx_http.bzl_v2 > ../heirloom-mailx-fix-source-url.patch cp Makefile Makefile_v2 vim Makefile_v2 - npm --version | grep "^$(NPM_VERSION)\." >/dev/null 2>&1 - node --version | grep "^v$(NODEJS_VERSION)\." >/dev/null 2>&1 - npm ci --yes --audit=false --unsafe-perm $$REGISTRY + npm install diff -u Makefile Makefile_v2 > ../Makefile-adapt-ran-npm-target.patch cp Makefile Makefile_v2 vim Makefile_v2 +.ran-webpack: export NODE_OPTIONS := --max-old-space-size=2048 diff -u Makefile Makefile_v2 > ../Makefile-reduce-webpack-memory-consumption.patch cp omd/Makefile omd/Makefile_v2 vim omd/Makefile_v2 - navicli \ diff -u omd/Makefile omd/Makefile_v2 > ../omd-Makefile-remove-module-navicli.patch cp omd/packages/Python/Python.make omd/packages/Python/Python.make_v2 vim omd/packages/Python/Python.make_v2 + CFLAGS="${CFLAGS} -fno-semantic-interposition" \ - LDFLAGS="-Wl,--rpath,/omd/versions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/lib $(PACKAGE_OPENSSL_LDFLAGS)" + LDFLAGS="-Wl,--rpath,/omd/versions/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx/lib -fno-semantic-interposition $(PACKAGE_OPENSSL_LDFLAGS)" diff -u omd/packages/Python/Python.make omd/packages/Python/Python.make_v2 > ../python-make-add-fno-semantic-interposition.patch cp omd/packages/Python/Python.make omd/packages/Python/Python.make_v2 vim omd/packages/Python/Python.make_v2 -PYTHON_SYSCONFIGDATA := _sysconfigdata__linux_x86_64-linux-gnu.py +PYTHON_SYSCONFIGDATA := _sysconfigdata__linux_aarch64-linux-gnu.py diff -u omd/packages/Python/Python.make omd/packages/Python/Python.make_v2 > ../python-make-set-aarch64-architecture.patch cp omd/packages/Python/Python.make omd/packages/Python/Python.make_v2 vim omd/packages/Python/Python.make_v2 -PYTHON_SYSCONFIGDATA := _sysconfigdata__linux_x86_64-linux-gnu.py +PYTHON_SYSCONFIGDATA := _sysconfigdata__linux_arm-linux-gnueabihf.py diff -u omd/packages/Python/Python.make omd/packages/Python/Python.make_v2 > ../python-make-set-arm-architecture.patch cp omd/packages/protobuf/protobuf.make omd/packages/protobuf/protobuf.make_v2 vim omd/packages/protobuf/protobuf.make_v2 - echo -e '\nprotoc-static: $(protoc_OBJECTS) $(protoc_DEPENDENCIES) $(EXTRA_protoc_DEPENDENCIES)\n\tg++ -pthread -DHAVE_PTHREAD=1 -DHAVE_ZLIB=1 -Wall -Wno-sign-compare -static-libgcc -static-libstdc++ -s -o protoc google/protobuf/compiler/main.o -lpthread ./.libs/libprotoc.a ./.libs/libprotobuf.a' >> Makefile && \ + echo -e '\nprotoc-static: $(protoc_OBJECTS) $(protoc_DEPENDENCIES) $(EXTRA_protoc_DEPENDENCIES)\n\tg++ -pthread -DHAVE_PTHREAD=1 -DHAVE_ZLIB=1 -Wall -Wno-sign-compare -static-libgcc -static-libstdc++ -s -o protoc google/protobuf/compiler/main.o -lpthread ./.libs/libprotoc.a ./.libs/libprotobuf.a -latomic' >> Makefile && \ diff -u omd/packages/protobuf/protobuf.make omd/packages/protobuf/protobuf.make_v2 > ../protobuf-make-add-latomic.patch cp Pipfile Pipfile_v2 vim Pipfile_v2 -pbr = "==5.11.0" # needed by jira diff -u Pipfile Pipfile_v2 > ../pipfile-remove-pbr.patch cp Pipfile Pipfile_v2 vim Pipfile_v2 -playwright = "==1.30.0" # used for in-browser testing diff -u Pipfile Pipfile_v2 > ../pipfile-remove-playwright.patch cp Pipfile Pipfile_v2 vim Pipfile_v2 -pymssql = "==2.2.7" # needed by check_sql active check +pymssql = "==2.2.8" # needed by check_sql active check diff -u Pipfile Pipfile_v2 > ../pipfile-update-pymssql.patch cp omd/packages/xmlsec1/xmlsec1_http.bzl omd/packages/xmlsec1/xmlsec1_http.bzl_v2 vim omd/packages/xmlsec1/xmlsec1_http.bzl_v2 - "https://www.aleksey.com/xmlsec/download/xmlsec1-" + XMLSEC1_VERSION + ".tar.gz", - "https://artifacts.lan.tribe29.com/repository/upstream-archives/xmlsec1-" + XMLSEC1_VERSION + ".tar.gz", + "https://www.aleksey.com/xmlsec/download/older-releases/xmlsec1-" + XMLSEC1_VERSION + ".tar.gz", diff -u omd/packages/xmlsec1/xmlsec1_http.bzl omd/packages/xmlsec1/xmlsec1_http.bzl_v2 > ../xmlsec1-fix-source-url.patch