Je compile/crée mes propres paquets deb du noyau avec:
make-kpkg --rootcmd fakeroot --initrd --append-to-version=$version --revision=1 kernel_image kernel_headers
Mais lorsque j'installe les deux packages, dans/lib/modules/(* name_kernel_compiled *), il crée deux liens, sources et build, pointant vers le dossier avec les sources, à partir de la compilation.
sources le lien est correct mais build devrait pointer vers/usr/src/linux --- (version kernel), vous ne pensez pas?
La solution est dans la documentation make-kpkg
:
Vous pouvez consulter un autre exemple dans le répertoire des exemples:
/usr/share/kernel-package/examples/
pour voir s’il existe un autre exemple de script que vous souhaitezcp
dans/etc/kernel
- et vous pouvez créer vos propres scripts.
Par exemple, si vous utilisez les packages
linux-headers-*
pour compiler des modules tiers sans avoir à conserver le répertoire des sources, vous serez peut-être intéressé par:
/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
Ces scripts essaieront de s’assurer que le lien symbolique
/lib/modules/$VERSION/build
est sain - c’est-à-dire qu’il pointe vers les packages d’en-tête, que vous installiez d’abord les packages d’image ou les packages d’en-tête - et se charge du nettoyage lorsque l’un des fichiers les paquets sont installés.
Le lien symbolique /lib/modules/<version>/build
doit pointer vers le répertoire de construction, c’est-à-dire où les fichiers objets ont été placés pendant la construction du noyau. Dans votre cas, votre répertoire source est le même que votre répertoire de construction, les deux liens symboliques renverront au même répertoire.