Идея такая
mkdir o o/z o/l o/m
zramctl -alzo -s4G /dev/zram0
mkfs.ext4 -m0 -O^has_journal /dev/zram0
mount -odiscard /dev/zram0 o/z
mkdir o/z/u o/z/w
mount -t overlayfs overlayfs -olowerdir=o/l,upperdir=o/z/u,workdir=o/z/w o/m
B lowerdir кладём исходники, в merge запускаем сборку. Запись происходит только в ФС на zram. Чтение объектников для линковки — оттуда же.
В качестве бонуса, можно очень просто сделать «истинный» cleanup, снеся всё в upper.
Есть в такой схеме смысл?