[Clo] Compilation du noyau
Mathieu Brabant
Brabant at magma.ca
Mer 12 Avr 11:31:02 EDT 2006
Je viens de penser à une méthode "patché" mais simple d'accomplir ce que
nous voulons :
1- Faire "rpmbuild -bp fichier.spec"
2- Modifier les fichiers voulus sous BUILD/
3- Changer la ligne %prep du fichier.spec à %prepnon
4- Faire "rpmbuild -bb fichier.spec"
Ta-da ! En changeant la ligne %prep à quelque chose d'autre (par exemple
%prepnon), la commande rpmbuild -bb ne trouve pas de section %prep à exécuter
et continu dans son processus normal, ayant pour effet de laisser la source
modifié intacte.
Qu'en penses-tu ?
Mathieu
On Tuesday 11 April 2006 17:04, Guy-Michel Lessard wrote:
> Réponses intercallés:
>
> Il nous faudrait une option qui fonctionne avec -bb et passe par dessus
> l'étape %prep. Comme-ça nous pourrions faire exécuter %prep avec "rpmbuild
> -bp fichier.spec", modifier la source et ensuite créer le RPM avec
> "rpmbuild -bb fichier.spec --skip-prep(existe pas)". L'option
> --short-circuit est intéressante mais ne s'applique que pour -bc ou -bi et
> ne peut pas être utilisé pour créer un RPM.
> Ouais, je regardais cela moi aussi.
>
> Évidemment c'est possible de modifier le fichier .tar.gz sous SOURCES/
> mais ce n'est pas la façon la plus simple.
> Ce que je vois de plus en plus est de récupérer les sources sous forme RPM
> mais compiler à la main.
>
>
> Pour le noyau, je viens de remarquer (sous FC5) que les fichiers configs
> se retrouvent tous sous /usr/src/redhat/SOURCES/, pas inclu dans
> linux-2.6.16.tar.bz2 et semblent être copié automatiquement à BUILD/ dans
> l'étape %prep. Peut-être si nous ferions un "rpm -bp kernel.spec", make
> xconfig, copié le .config résultant du répertoire BUILD/ à
> SOURCES/kernel-2.6.16-i686.config et ensuite faire le "rpmbuild -bb" ?
> J'ai pas le temps d'essayer présentement mais pour la compilation du noyau
> ce serait peut-être la solution.
> C'est ce que j'ai essayé et ça fonctionne partiellement, je m'explique.
> J'obtiens ce que je veux avec la recette ci-haut, les pilotes sont
> effectivement inclus dans le noyau. Premier problème est que la carte
> réseau semble être mal configuré p.c.q. je n'arrive pas à communiquer. À
> première vue, tout semble correct (ifconfig) mais aucune communication.
> J'éteint l'interface et je la reconfigure à la main avec ifconfig et bingo
> ça fonctionne. Il y a aussi le Makefile que j'aimerais bien modifier la
> ligne EXTRAVERSION afin de distinguer le noyau des autres mais ça aussi se
> fait effacer par %prep. J'ai trouvé une section sur la compilation du noyau
> dans "Redhat Linux Fedora 3 Unleashed", je vais étudier cela mais ça sent
> le "make this make that". Heureusement qu'il reste checkinstall :-)
Plus d'informations sur la liste de diffusion Clo