Как вставить модифицированный загрузчик ELF, если присутствует текущий загрузчик ELF?

Мне нужно изменить реализацию ядра загрузчика ELF дистрибутива Ubuntu 14.04. Загрузив исходники, используя:

sudo apt-get source linux-image-$(uname -r) 

Я запустил скрипт конфигурации:

 make config 

в корневом исходном дереве. После бесконечной последовательности входных запросов скрипт создал файл .config необходимый для сборки ядра (или набора модулей). Версия ядра, которую я использую, – linux-3.13.0 , и имеет следующую структуру исходного дерева:

 $ ls arch Documentation fs kernel README sound block drivers include lib REPORTING-BUGS tools COPYING dropped.txt init MAINTAINERS samples ubuntu CREDITS elf.dat ipc Makefile scripts usr crypto FileSystemMake Kbuild mm security virt debian.master firmware Kconfig net shortcuts 

Загрузчик ELF расположен в /path/to/source/fs/binfmt_elf.c . Следуя этому вопросу , чтобы скомпилировать отдельный модуль, достаточно запустить

 make /path/to/module/directory 

В этом случае это будет:

 make /path/to/source/fs 

Компиляция довольно длинная; это занимает около двадцати минут (на виртуальной машине), а вывод записывается (по умолчанию) в том же каталоге, в котором находится модуль. Я нашел объектные файлы, запустив:

 find . -name "*.o" 

in /path/to/source/fs . Фильтрация по имени, загрузчик ELF можно найти, запустив:

 find . -name "*elf*.o" 

В текущих источниках он записывается (по умолчанию) в:

 /path/to/source/fs/binfmt_elf.o 

Пройдя этот учебник , я заметил, что модули ядра имеют соглашение об именах module_name .ko , чтобы отличать их от файлов объектных пространств.

Как я могу вставить новый (измененный) загрузчик ELF в ядро, учитывая, что текущий загрузчик ELF присутствует (и выгрузка может помешать выполнению двоичных файлов)?

Linux и Unix - лучшая ОС в мире.