Build infra: distcc recipe (CT108 + tesla) for kernel + userspace
This commit is contained in:
@@ -181,6 +181,45 @@ HEVC once the stretch goal is viable.
|
||||
Patches upstreamed along the way (v4l2-request to FFmpeg, VDPU346 to
|
||||
linux-media) count double — they benefit the whole fleet.
|
||||
|
||||
## Build infrastructure
|
||||
|
||||
Fourier touches two kinds of builds: userspace (FFmpeg + patches, GStreamer,
|
||||
libva-v4l2-request) and kernel (DT + module compiles if we carry out-of-tree
|
||||
rkvdec2 / VDPU346). Both benefit from distcc — CT108 (14-core aarch64 on
|
||||
data, wake via `wake-data` on hertz) plus always-on tesla on hertz.
|
||||
|
||||
Zeroconf is broken in containers — hand-wire `DISTCC_HOSTS`.
|
||||
|
||||
### Kernel / DT modules (cross-build from x86 host)
|
||||
|
||||
```sh
|
||||
DISTCC_HOSTS="localhost/4 192.168.88.208:3632/14,lzo,cpp tesla.lxd:3632/4,lzo,cpp" \
|
||||
pump make -j80 O=build/ ARCH=arm64 \
|
||||
CROSS_COMPILE='distcc aarch64-linux-gnu-' HOSTCC='ccache gcc'
|
||||
```
|
||||
|
||||
Pump mode sometimes misbehaves on aarch64 cross builds — fall back to plain
|
||||
`make -j80` without `pump` if include-server throws.
|
||||
|
||||
### FFmpeg / userspace (native aarch64 host — ohm, ampere, fermi build CT)
|
||||
|
||||
```sh
|
||||
export DISTCC_HOSTS="localhost/4 192.168.88.208:3632/14,lzo,cpp tesla.lxd:3632/4,lzo,cpp"
|
||||
export MAKEFLAGS="-j80"
|
||||
makepkg -s # AUR / marfrit-packages workflow
|
||||
# or, from raw tree:
|
||||
./configure && pump make -j80
|
||||
```
|
||||
|
||||
`makepkg` honours `MAKEFLAGS` but not `DISTCC_HOSTS` for all build hooks —
|
||||
put `DISTCC_HOSTS` in `/etc/makepkg.conf` or export before invocation. CC/CXX
|
||||
wrappers: `/usr/lib/distcc/` symlinks on native aarch64 (NOT
|
||||
`/usr/lib/distcc/bin/`).
|
||||
|
||||
Remember to re-run `wake-data` if CT108 is asleep — see `his` skill or the
|
||||
`project_distcc_infra.md` memory for the full recipe. When that memory and
|
||||
this README diverge, fix both.
|
||||
|
||||
## Packaging — marfrit-packages
|
||||
|
||||
New fleet hosts should get Fourier userspace via `pacman -S` / `apt install`,
|
||||
|
||||
Reference in New Issue
Block a user