Да, я согласен с сэром, но он строит полное ядро. И то, что я хочу, это , чтобы построить только ту часть, где я внес изменения, и добавить ее в существующее ядро . Не создавайте все ядро для небольшого изменения.
Если я правильно понял, вы хотите скомпилировать объектный код для части файловой системы ядра и как-то взломать его в текущее ядро.
Короткий ответ:
Это не может быть сделано. Просто скомпилируйте все ядро. После первой компиляции make
обеспечит перекомпилирование только измененных файлов, поэтому будущие сборки будут быстрыми.
Длинный ответ:
Если в настоящее время работает ядро компилируется поддержку EXT3 как модуль (я предполагаю, что это возможно - я не проверял), вы можете попробовать скомпилировать измененный код файловой системы как модуль, и поменять его на ваше запущенное ядро, выгрузив модуль текущей файловой системы и загрузив его. Конечно, вы сможете это сделать только в том случае, если на самом деле вы не используете драйвер EXT3 во время разгрузки.
Затем вы столкнетесь с теми же проблемами, что и создание и запуск модулей ядра OOT. Вам наверняка понадобятся заголовки ядра, одна и та же версия компилятора, используемая для компиляции текущего ядра и исходных файлов ядра. Вам также может понадобиться играть с файлами Makefile, чтобы встроенные модули могли быть созданы как OOT-модуль.
Конечно, все это предполагает, что ваше текущее ядро было построено с драйвером EXT3 в качестве загружаемого модуля ядра, что может и не быть.
Если это не так, вам не повезло. Если вы умны, вы можете использовать какой-то хакерский хакер, чтобы поменять подсистему EXT3 на ваши измененные объектные файлы в текущем ядре. Если это не имеет смысла для вас, достаточно сказать, что это невозможно.
Запуск make должен составлять только те детали, которые устарели. –
Да, я согласен с вами, но он строит полное ядро. И я хочу создать только ту часть, где я внес изменения, и добавить ее в существующее ядро. Не создавайте все ядро для небольшого изменения. – AnnGM
Возможно, стоит попробовать выяснить, почему make думает, что все ваши объекты устарели. Одна из возможностей заключается в том, что некоторые из файлов заголовков ядра имеют метки времени, которые позже, чем текущая системная дата-время. –