Как вставить модифицированный загрузчик 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 присутствует (и выгрузка может помешать выполнению двоичных файлов)?

Interesting Posts

Можно ли получить доступ к фреймбуферу, чтобы поместить пиксель на экран из командной строки?

массив awk, использующий число, поскольку значение не работает

Какой Linux имеет BSD-порты, такие как управление пакетами?

rsync очень медленный (фактор 8-10) по сравнению с cp при копировании файлов из nfs-share в локальный каталог

Ввести некоторые поля в диалоговом окне

Копирование всех файлов из одного каталога во все каталоги в том же родительском каталоге

Список всех файлов, заканчивающихся несколькими расширениями файлов?

Ошибка: команда не найдена

Как я могу использовать свой сервер для компиляции ядра для моего ноутбука?

Получение PID команды ранее в Pipeline

Перемещение одной строки экрана вверх / вниз в многострочном тексте

Как сделать две команды потреблять входные данные из stdin последовательно?

сравнение двух столбцов

Установка программного обеспечения в качестве пользователя

Любой символ, который я печатаю на консоли, отличной от GUI, получает добавочный символ ^ [

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