Чистят только некоторые модули перед сборкой ядра Linux


Здесь у меня есть ситуация, когда мне нужно построить одно и то же ядро против разных конфигураций. Теперь я пытался построить ядро, не делая make clean, но это дает мне проблему. Существует вероятность, что один конфиг имеет несколько встроенных драйверов, а другой может иметь тот же диск, что и модуль. В моем случае, я хочу избежать сделать чистым, чтобы сэкономить время! Компиляция нового ядра занимает много времени, и поскольку я уже скомпилировал то же самое ядро, изменив только несколько драйверов / модулей, я хотел бы знать любой альтернативный вариант, кроме очистки всего ядра.

Спасибо!

2 3

2 ответа:

Вам не нужно перестраивать все ядро, если вы работаете только с несколькими модулями. Тем не менее, если ваш модуль требует изменений в .config , то выполните следующие действия каждый раз, чтобы получить модуль, построенный для конкретного .config

modify/copy the .config as per the requirement into the src dir
make prepare
make scripts
make modules_prepare
make M=drivers/<some driver>
make M=drivers/<some driver> clean

Допустим, вы просто хотите скомпилировать только беспроводной модуль. Теперь его файлы находятся в папке Linux_kernel/net/wireless

Для компиляции только беспроводных модулей.

cd Linux_kernel
make ARCH=arm modules M=$(pwd)/net/wireless/

Он будет генерировать два модуля

Linux_kernel / net / wireless / cfg80211.ko

Linux_kernel / net / wireless / lib80211.ko

Теперь, чтобы очистить эти модули

make ARCH=arm modules M=$(pwd)/net/wireless/ clean