mirror of
https://github.com/sigp/lighthouse.git
synced 2026-03-17 11:52:42 +00:00
* #6447 - Move some deprecated pages to a new section under `Archived` - Remove fallback log in mev as the log will not be present after VC using `/eth/v3/validator/blocks` endpoint by default - Add warning against using Btrfs file system (thank you @ChosunOne for the report) - Add data shared by @mcdee on tree states API queries time - Rename partial withdrawals to validator sweep to differentiate it from the upcoming execution layer partial withdrawals - Update NAT API response - Update docs on IPv6 - Rename .md files to follow a standard prefix section name, e.g., installation_*.md, advanced_*.md - Standardise .md files using underscore `_` instead of hyphen `-` to be consistent with other files naming conventions.
44 lines
1.4 KiB
Markdown
44 lines
1.4 KiB
Markdown
# Cross-compiling
|
|
|
|
Lighthouse supports cross-compiling, allowing users to run a binary on one
|
|
platform (e.g., `aarch64`) that was compiled on another platform (e.g.,
|
|
`x86_64`).
|
|
|
|
## Instructions
|
|
|
|
Cross-compiling requires [`Docker`](https://docs.docker.com/engine/install/),
|
|
[`rustembedded/cross`](https://github.com/rust-embedded/cross) and for the
|
|
current user to be in the `docker` group.
|
|
|
|
The binaries will be created in the `target/` directory of the Lighthouse
|
|
project.
|
|
|
|
### Targets
|
|
|
|
The `Makefile` in the project contains two targets for cross-compiling:
|
|
|
|
- `build-x86_64`: builds an optimized version for x86_64 processors (suitable for most users).
|
|
- `build-aarch64`: builds an optimized version for 64-bit ARM processors (suitable for Raspberry Pi 4).
|
|
|
|
### Example
|
|
|
|
```bash
|
|
cd lighthouse
|
|
make build-aarch64
|
|
```
|
|
|
|
The `lighthouse` binary will be compiled inside a Docker container and placed
|
|
in `lighthouse/target/aarch64-unknown-linux-gnu/release`.
|
|
|
|
## Feature Flags
|
|
|
|
When using the makefile the set of features used for building can be controlled with
|
|
the environment variable `CROSS_FEATURES`. See [Feature
|
|
Flags](./installation_source.md#feature-flags) for available features.
|
|
|
|
## Compilation Profiles
|
|
|
|
When using the makefile the build profile can be controlled with the environment variable
|
|
`CROSS_PROFILE`. See [Compilation Profiles](./installation_source.md#compilation-profiles) for
|
|
available profiles.
|