packaging/makeself/README.md
Netdata provides pre-built static binaries for Linux systems where native packages aren't available. The installer automatically uses these static builds when needed.
Key Features:
/opt/netdata| Architecture | Identifier | Notes |
|---|---|---|
| x86_64 | x86_64 | 64-bit Intel/AMD processors |
| ARMv6 | armv6l | Raspberry Pi 1, some older SBCs |
| ARMv7 | armv7l | Raspberry Pi 2/3, many SBCs |
| AArch64 | aarch64 | ARM 64-bit (Pi 4, newer devices) |
| Requirement | Purpose |
|---|---|
| Docker or Podman | Container environment for isolated builds |
| ~10GB disk space | For build artifacts and containers |
Before building, ensure your repository is clean from previous builds.
Run the build script with your target architecture identifier:
# For x86_64 (default)
./packaging/makeself/build-static.sh x86_64
# For ARM 64-bit (AArch64)
./packaging/makeself/build-static.sh aarch64
# For ARMv6
./packaging/makeself/build-static.sh armv6l
# For ARMv7
./packaging/makeself/build-static.sh armv7l
The script will automatically:
When building for an architecture different from your host:
The process generates several installer files in the artifacts/ directory:
artifacts/
├── netdata-latest.gz.run # Latest version
├── netdata-v[VERSION]-[BUILD].gz.run # Specific version
├── netdata-[ARCH]-latest.gz.run # Architecture-specific latest
└── netdata-[ARCH]-v[VERSION]-[BUILD].gz.run # Architecture-specific version
Example output:
$ ls -l artifacts/
drwxrwxr-x - user group cache
.rwxrwxr-x 94M user group netdata-latest.gz.run
.rwxrwxr-x 94M user group netdata-v2.3.0-193-nightly.gz.run
.rwxrwxr-x 94M user group netdata-x86_64-latest.gz.run
.rwxrwxr-x 94M user group netdata-x86_64-v2.3.0-193-nightly.gz.run
For troubleshooting, you can create a debug-enabled build:
./packaging/makeself/build-static.sh x86_64 debug
Debug build characteristics:
To diagnose memory issues or crashes:
PATH="/opt/netdata/bin:${PATH}" valgrind --undef-value-errors=no /opt/netdata/bin/srv/netdata -D
Important notes:
--undef-value-errors=no flag suppresses hundreds of false positives from the bundled librariesIf Netdata crashes during development or testing: