Я компилирую/создаю свои собственные deb пакеты ядра с:
make-kpkg --rootcmd fakeroot --initrd --append-to-version=$version --revision=1 kernel_image kernel_headers
Но когда я устанавливаю оба пакета в/lib/modules / (*name_kernel_compiled*), он создает две ссылки, источники и сборку, указывая на папку с источниками, от я скомпилировал.
исходная ссылка корректна, но сборка должна указать на/usr/src/linux-(ядро версии), разве Вы не думаете?
Символьная ссылка /lib/modules/<version>/build
должна указывать на каталог сборки - то есть, где объектные файлы были размещены во время сборки ядра. В вашем случае ваш исходный каталог совпадает с вашим каталогом сборки, поэтому обе символические ссылки будут указывать на один и тот же каталог.
Решение находится в make-kpkg
документации:
Вы можете посмотреть другой пример в каталоге примеров:
blockquote>/usr/share/kernel-package/examples/
, чтобы увидеть, есть ли другой пример сценария, в который вы хотитеcp
включить/etc/kernel
- и вы можете создавать свои собственные сценарии.
Например, если вы используете пакеты
blockquote>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
Эти сценарии попытаются удостовериться, что символическая ссылка
BLOCKQUOTE>/lib/modules/$VERSION/build
вменяема - это указывает на пакеты заголовков, устанавливаете ли вы сначала пакеты изображений или сначала пакеты заголовков - и заботится об очистке, когда любой из пакетов установлен.