[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