Я являюсь коммиттером src.
Я часто начинаю с самого низкого релиза, к которому я намерен портировать порт (например, RELENG_11_3.
Я бы тогда сделал (до или после внесения изменений)):
make buildworld
затем разверните в каталоге тюрьмы:
make DESTDIR=/usr/jails/test installworld
Этот каталог тюрьмы, как подсказал первый респондент, может использоваться с bhyve, но мне проще его настроитьтюрьма или даже просто использование chroot.
Мне нравится конфигурировать мои тюрьмы в /etc/rc.conf вместо /etc/jail.conf:
Пример содержимого /etc/rc.conf:
jail_enable="YES"
jail_list="test"
jail_test_rootdir="/usr/jails/test"
jail_test_hostname="test"
jail_test_devfs_enable="YES"
Я могу привести более подробные примеры, например, когда у тюрьмы есть частный сетевой стек, например, вы можете использовать SSH, но я не понимаю, что сетевой стекЭто важно для вашего тестирования из опубликованного вопроса.
Вы можете увидеть работающую тюрьму с "jls", и вы можете войти в работающую тюрьму с "jexec test bash"
Внутри тюрьмы вы можетепротестируйте свои изменения.
При выполнении такого вида песочницы, тюрьмы работаютk до тех пор, пока / usr / src, который вы создали / установили в тюрьму, относится к выпуску, который:
- старше гостевой ОС или
- в той же STABLEпереход в качестве гостевой ОС или
- По крайней мере, совместимый с гостевой ОС в двоичной форме
Ситуации 1 и 2 довольно безопасны, в то время как ситуация 3 (например, запуск более новой версии). / usr / src чем гостевая ОС) может стать хитрым. Например, при попытке запустить / usr / src head (13.0-CURRENT) в гостевой ОС 12.0-RELEASE-pX, где KBI, KPI и API могут различаться в зависимости от ядра и пользовательского пространства (с джейлами каждый джайл работает под гостевым компьютером). Ядро операционной системы).
Если вы обнаружите, что вам нужно запускать новейшие исходники для старой гостевой ОС, тогда bhyve - определенно решение. Вы должны взять этот каталог jail и вместо запуска jail с этим корневым каталогом запустить экземпляр bhyve с каталогом jail в качестве корневого. Я не часто использую bhyve, поэтому не могу вспомнить, нужно ли вам сначала помещать содержимое в образ диска и сначала указывать bhyve на образ диска - другие и / или Google будут знать ответ на этот вопрос.