Как заставить компиляцию distcc работать распределенно через службу systemd?

CONFIG_BLK_DEV_INITRD=y

Этот параметр конфигурации ядра также обязателен. Он включает поддержку initrd в ядре Linux.

К счастью, Buildroot устанавливает его для нас по умолчанию, когда дается BR2_TARGET_ROOTFS_CPIO=y.

Затем вы передаете CPIO в QEMU с опцией qemu -initrd. Моя полная команда QEMU:

./buildroot/output.x86_64~/host/usr/bin/qemu-system-x86_64 -m 128M -monitor telnet::45454,server,nowait -netdev user,hostfwd=tcp::45455-:45455,id=net0 -smp 1  -M pc -append ' nopat nokaslr norandmaps printk.devkmsg=on printk.time=y console=ttyS0' -device edu -device lkmc_pci_min -device virtio-net-pci,netdev=net0 -kernel./buildroot/output.x86_64~/images/bzImage  -nographic  -initrd './buildroot/output.x86_64~/images/rootfs.cpio'

Вот минималистичный полностью автоматизированный пример Buildroot + QEMU:https://github.com/cirosantilli/linux-kernel-module-cheat/tree/b3868a3b009f2ab44fa6d3db3d174930b3cf7b69#initrd

2
23.12.2020, 14:06
1 ответ

Тонкая деталь, которую я упустил, это дополнительный --аргумент listen для демона в случае службы systemd, как показано в исходном посте. Аргумент прослушивания --управляется настройкой LISTENER в /etc/default/distcc, и по умолчанию используется значение 127.0.0.1, что позволяет принимать соединения только с локального хоста.

В моем случае я должен был установить значение 192.168.0.1, чтобы прослушивать все машины в локальной сети.

0
18.03.2021, 22:42

Теги

Похожие вопросы