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
|
Patches upstreamed along the way (v4l2-request to FFmpeg, VDPU346 to
|
||||||
linux-media) count double — they benefit the whole fleet.
|
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
|
## Packaging — marfrit-packages
|
||||||
|
|
||||||
New fleet hosts should get Fourier userspace via `pacman -S` / `apt install`,
|
New fleet hosts should get Fourier userspace via `pacman -S` / `apt install`,
|
||||||
|
|||||||
Reference in New Issue
Block a user