[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

construction d'un .deb pour un noyau avec une config locale



Bonjour,

j'ai l'habitude de reconstruire mon noyau afin d'y intégrer une ou deux options non-activées par le noyau de base Debian.

Pour cela, la méthode que j'utilise est la suivante :

0) Préparation
==============

  ("kernel-package", "fakeroot" et "build-essential" sont installés)

  cd '/home/monuser/Bureau/oli/Librazik/04-Constructions propres/Reconstructions propres'
  mkdir 'monnoyau/'
  cd 'monnoyau'


1) Récupération des sources avec rustines Debian et déballage
=============================================================

  apt-get source linux-source-3.16


2) Mise en place
================

  cd linux-3.16[TAB]
  cp /boot/config-`uname -r` .config #pour récupérer la config' Debian actuelle
  make oldconfig


3) Sélection des options
========================

  make menuconfig
  pour une configuration en mode "ncurses" (avec le paquet "libncurses5-dev" installé)

  Je personnalise les 2 options dont j'ai besoin.

  Je donne un nom à ce noyau pour m'y retrouver
    -> "General setup" -> "Local version - append to kernel release" -> mettre "-monnoyau"
    -> Puis je sors en enregistrant la configuration

4) Compilation
==============

  make -j `nproc` LOCALVERSION= deb-pkg
  qui me crée un beau .deb facilement manipulable avec les outils apt*



Mon problème est que cette méthode fonctionnait jusqu'à la dernière mis à jour du noyau (Jessie) mais que maintenant, j'ai une erreur pendant la compilation :

  ...
  ... (zap)...
  ...
  LD [M]  sound/usb/usx2y/snd-usb-usx2y.ko
  BUILDDEB
make[2]: warning: jobserver unavailable: using -j1.  Add '+' to parent make rule.
ln: la cible « ./debian/tmp/lib/modules/3.16.7-ckt9-monnoyau/source » n'est pas un répertoire
Makefile:1094: recipe for target '_modinst_' failed
make[2]: *** [_modinst_] Error 1
scripts/package/Makefile:90: recipe for target 'deb-pkg' failed
make[1]: *** [deb-pkg] Error 2
Makefile:1203: recipe for target 'deb-pkg' failed
make: *** [deb-pkg] Error 2


si je regarde dans ./debian/tmp/lib/modules/3.16.7-ckt9-monnoyau/ , je n'ai effectivement pas de répertoire nommé "source", uniquement un répertoire nommé "kernel" et c'est donc certainement pour cela que la construction plante.

Je ne suis pas trop certain de par où il me faut chercher. J'ai utiliser les moteurs de recherche avec des morceaux de ce message d'erreur ci-dessus, mais n'y comprend pas grand chose et mon intuition me dit qu'il manque simplement une règle de création de ce répertoire dans le processus de construction (cad: debian/rules) ou quelque chose du genre.

Que me conseillez-vous de faire ?

Remarque annexe : ma "méthode" de construction est basée sur l'idée de coller le plus possible au noyau Debian et de produire des .deb proprement installables et dés-installables avec les outils apt*. Ceci dit, si il y a une meilleure méthode que celle-là, je veux bien la connaître.

Cordialement,
Olivier


Reply to: