Я на начальных этапах использования кросс-компилятора (ELDK) для сборки встроенной системы Linux из исходного кода ядра. Ядро успешно собрано с помощью make ARCH=powerpc CROSS_COMPILE=powerpc-linux- 44x/virtex5_defconfig и make ARCH=powerpc CROSS_COMPILE=powerpc-linux- uImage .

Я хотел бы включить встроенные модули на этом этапе, скомпилированные на моем хост-компьютере. я бегу

make ARCH=powerpc CROSS_COMPILE=powerpc-linux- modules
make ARCH=powerpc CROSS_COMPILE=powerpc-linux- INSTALL_MOD_PATH=/opt/eldk-5.8/powerpc-4xx modules_install

и убедитесь, что модули по умолчанию, включенные в ядро, собраны и установлены в указанном каталоге.

Мой вопрос: как мне определить, какие модули собираются и устанавливаются с помощью этих двух последних команд? Я хотел бы исключить некоторые модули по умолчанию и включить дополнительные модули из отдельного исходного кода, такие как coreutils.

Спасибо за любую помощь, которую вы могли бы предоставить.

1 ответ1

0

Получив ответ на этот вопрос для потомков, я помогу тем, кто может быть таким же невежественным, как и я в то время.

Действительно, как отмечают опилки, добавление встроенных модулей и драйверов может быть настроено с помощью make menuconfig . Многие пакеты могут быть настроены как встроенные (в двоичный файл ядра) или как модуль. В первом случае не было бы необходимости выводить их в корневую файловую систему через make modules_install .

Пользовательские драйверы можно добавить в дерево ядра, включив источник в соответствующую папку, а затем обновив KConfig и Makefile которые управляют этой папкой, следуя примеру встроенных пакетов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .