Я думаю “/lib/modules/$ (uname-r)/, сборка” указывает на неправильную папку

Я компилирую/создаю свои собственные deb пакеты ядра с:

make-kpkg --rootcmd fakeroot --initrd --append-to-version=$version --revision=1 kernel_image kernel_headers

Но когда я устанавливаю оба пакета в/lib/modules / (*name_kernel_compiled*), он создает две ссылки, источники и сборку, указывая на папку с источниками, от я скомпилировал.

исходная ссылка корректна, но сборка должна указать на/usr/src/linux-(ядро версии), разве Вы не думаете?

6
задан 14 February 2011 в 18:44

2 ответа

Символьная ссылка /lib/modules/<version>/build должна указывать на каталог сборки - то есть, где объектные файлы были размещены во время сборки ядра. В вашем случае ваш исходный каталог совпадает с вашим каталогом сборки, поэтому обе символические ссылки будут указывать на один и тот же каталог.

0
ответ дан 14 February 2011 в 18:44

Решение находится в make-kpkg документации:

Вы можете посмотреть другой пример в каталоге примеров: /usr/share/kernel-package/examples/, чтобы увидеть, есть ли другой пример сценария, в который вы хотите cp включить /etc/kernel - и вы можете создавать свои собственные сценарии.


Например, если вы используете пакеты linux-headers-* для компиляции сторонних модулей, чтобы вам не приходилось хранить каталог исходников, вас может заинтересовать:

/etc/kernel/header_postinst.d/link
/etc/kernel/header_postrm.d/link
/etc/kernel/header_prerm.d/link
/etc/kernel/postinst.d/force-build-link
/etc/kernel/postrm.d/force-build-link

Эти сценарии попытаются удостовериться, что символическая ссылка /lib/modules/$VERSION/build вменяема - это указывает на пакеты заголовков, устанавливаете ли вы сначала пакеты изображений или сначала пакеты заголовков - и заботится об очистке, когда любой из пакетов установлен.

0
ответ дан 14 February 2011 в 18:44

Другие вопросы по тегам:

Похожие вопросы: