Как протестировать измененный исходный код FreeBSD?

[

] Единственная информация, которую можно получить из обычной файловой системы для файла - это время модификации ([]ls -l[]), доступ ([]ls -lu[]) и модификация статуса ([]ls -lc[]). [

] [

]Файл не изменяется при закрытии, поэтому в его статусе нет ничего, что отражало бы это. Информация текущей директории []stat[] также не отражает это закрытие и отражает время модификации и изменения из файла (пока в директории не изменится что-то другое).[

] [

]Время модификации, вероятно, будет другим, если вы сделаете небуферизованную запись в файл, так как тогда реальный доступ к диску []может[], но не обязательно должен быть в момент закрытия файла. Но я не вижу простого способа проверить это из командной строки.[

] [

]BTW. Для этих экспериментов проще использовать []stat[], так как она имеет секундную гранулярность, то есть не нужно так долго ждать, чтобы получить видимую разницу ;-)[

].
1
19.04.2015, 00:47
2 ответа

Для компиляции модуля ядра необходимо создать Makefile и включить в него makefile модуля ядра /usr/src/share/mk/bsd.kmod.mk, например:

# Note: It is important to make sure you include the <bsd.kmod.mk>  makefile after declaring the KMOD and SRCS variables.

# Declare Name of kernel module
KMOD    =  module

# Enumerate Source files for kernel module

SRCS    =  module.c

# Include kernel module makefile
.include <bsd.kmod.mk>

И, наконец, запустить make, чтобы скомпилировать его и проверить, правильно ли он скомпилирован.
И так как она не представлена в модулях ядра (/boot/kernel/*.ko), но перечислена в sys/conf/files, думаю, вам следует перекомпилировать ядро, чтобы применить изменения. Дополнительную информацию вы можете найти на странице . Так как это копия cc_newreno.c, вы можете переименовать ваше оригинальное /usr/src/sys/netinet/cc/cc_newreno.c во что-то другое, чтобы сохранить там ваше новое и перекомпилировать его.

2
27.01.2020, 23:37

netinet в настоящее время не является модулем ядра, поэтому я предлагаю добавить ваш изменённый файл в sys/conf/files вместо этого.

0
27.01.2020, 23:37

Теги

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