[LiSA-Devel] Intrebare playground

Radu Rendec radu.rendec at ines.ro
Mon Apr 27 13:53:45 EEST 2009


root[01:25 PM]playground:~ # rpm -q --verify kernel-devel
..5.....   /usr/src/kernels/2.6.25.9-40.lisa1.fc8-i686/.config
S.5.....   /usr/src/kernels/2.6.25.9-40.lisa1.fc8-i686/include/config/auto.conf
..5.....   /usr/src/kernels/2.6.25.9-40.lisa1.fc8-i686/include/linux/autoconf.h
S.5.....   /usr/src/kernels/2.6.25.9-40.lisa1.fc8-i686/scripts/basic/.docproc.cmd
S.5.....   /usr/src/kernels/2.6.25.9-40.lisa1.fc8-i686/scripts/basic/docproc
S.5.....   /usr/src/kernels/2.6.25.9-40.lisa1.fc8-i686/scripts/basic/fixdep
S.5.....   /usr/src/kernels/2.6.25.9-40.lisa1.fc8-i686/scripts/kconfig/conf

Oops... cred ca ai modificat fara sa vrei niste chestii de prin pachetul
de kernel instalat acolo. Nu-i o problema, le vom pune la loc. Hai sa-ti
explic care e ideea cu build-ul in afara tree-ului de kernel.

Pachetul kernel-devel de pe distributiile redhat nu contine toate
sursele kernelului, ci doar minimul necesar pentru a builda module +
configul cu care a fost buidat kernelul din pachetul corespunzator. Nu
ar trebui sa incerci sa rulezi make pe-acolo.

Pentru build-ul modulului de LiSA ai 2 variante.

Var.1: folosesti ceea ce iti ofera kernel-devel (buildezi pt. kernelul
instalat din pachete)

Pentru asta ar trebui ca tree-ul tau de git pt kernel sa fie pe un
branch de 2.6.25 (vezi ca Ionut a facut niste modificari in weekend).
Fiind in linux-2.6/net/switch din tree-ul tau, ar trebui sa modifici in
Makefile dupa cum urmeaza:

KVER := $(shell uname -r)
KDIR := /lib/modules/$(KVER)/build

Pe urma ar trebui sa poti sa faci urmatoarele:
make clean
make

Nu ai nevoie de root pentru toata partea de build; doar cand inserezi
modulul in kernel si testezi cu swcli.

Var.2: folosesti tree-ul propriu - nu merge decat daca *rulezi* exact
kernelul compilat in tree-ul propriu

Makefile-ul din net/switch ramane nemodificat, adica:

KDIR := ../..

Ar trebui sa mearga make clean / make.


Pentru reparat pachetul de build (ceea ce ar trebui pentru ca s-a
modificat .config si s-ar putea sa te trezesti ca nu poti insera modulul
in kernelul care ruleaza, desi s-a compilat corect):

* in /root/kernel-2.6.25.9-40.lisa1 exista pachetele de la kernelul care
ruleaza;
* trebuie reinstalat pachetul kernel-devel astfel:
        * rpm -e kernel-devel
        * rpm -ivh /root/kernel-2.6.25.9-40.lisa1/kernel-devel-2.6.25.9-40.lisa1.fc8.i686.rpm

Vezi daca reusesti sa-l compilezi asa.

Spor,

Radu

On Mon, 2009-04-27 at 13:18 +0300, Faur Andrei wrote:
> Incerc sa compilez modulul de LiSA pe pg si imi apar urmatoarele:
> 
> make -C ../.. M=/home/andrei/lisa/linux-2.6/net/switch modules
> make[1]: Entering directory `/home/andrei/lisa/linux-2.6'
> 
>   ERROR: Kernel configuration is invalid.
>          include/linux/autoconf.h or include/config/auto.conf are missing.
>          Run 'make oldconfig && make prepare' on kernel src to fix it.
> 
> 
>   WARNING: Symbol version dump /home/andrei/lisa/linux-2.6/Module.symvers
>            is missing; modules will have no dependencies and modversions.
> 
>   Building modules, stage 2.
> /home/andrei/lisa/linux-2.6/scripts/Makefile.modpost:43:
> include/config/auto.conf: No such file or directory
> 
> Am rulat ca root make oldconfig && makeprepare in /usr/src/kernels/2.6....
> si imi zice asa:
> 
>   .....
>   CHK     include/linux/version.h
>   CHK     include/linux/utsrelease.h
> make[1]: *** No rule to make target `missing-syscalls'.  Stop.
> make: *** [prepare0] Error 2
> _______________________________________________
> LiSA-Devel mailing list
> LiSA-Devel at lisa.ines.ro
> http://lisa.ines.ro/mailman/listinfo/lisa-devel



More information about the LiSA-Devel mailing list