Openbios 1.0.RC1 build problems ... solved !

Mathieu Deschamps mdeschamps at mangrove-systems.com
Mon Apr 26 08:35:01 CEST 2004


ok I've found why it does this :


> 
> 
> make -f Makefile.24 
> gcc  -c  -D__KERNEL__ -I/usr/src/linux/include  -Wall
> -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-common
> -fno-strict-aliasing -pipe -DMODULE -DDEBUG -DMODVERSIONS
> -mpreferred-stack-boundary=2 -march=i586   bios_core.c -o bios_core.o
> gcc  -c  -D__KERNEL__ -I/usr/src/linux/include  -Wall
> -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-common
> -fno-strict-aliasing -pipe -DMODULE -DDEBUG -DMODVERSIONS
> -mpreferred-stack-boundary=2 -march=i586   flashchips.c -o
flashchips.o
> gcc  -c  -D__KERNEL__ -I/usr/src/linux/include  -Wall
> -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-common
> -fno-strict-aliasing -pipe -DMODULE -DDEBUG -DMODVERSIONS
> -mpreferred-stack-boundary=2 -march=i586   pcisets.c -o pcisets.o
> pcisets.c:234: warning: `gporeg_save' defined but not used
> gcc  -c  -D__KERNEL__ -I/usr/src/linux/include  -Wall
> -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer
-fno-common
> -fno-strict-aliasing -pipe -DMODULE -DDEBUG -DMODVERSIONS
> -mpreferred-stack-boundary=2 -march=i586   filesystem.c -o
filesystem.o
> filesystem.c:292: `THIS_MODULE' undeclared here (not in a function)
> filesystem.c:292: initializer element is not constant
> filesystem.c:292: (near initialization for `bios_fops.owner')
> make: *** [filesystem.o] Error 1
> 
> 

It's because the $KERNEL is  /usr/src/linux then  gcc's -I is
$KERNEL/include. It lacks module.h, because on my distro (RH9) module.h
is in $KERNEL/include/linux/. It needs a Makefile.24 little update :)

error was mentioning THIS_MODULE,module.h is the file that's containing
#define THIS_MODULE (&__this_module)  


At the end it can be insmod anyway because of unresolved syms, it
done for 2.6 kernel, well i knew what i was risking.

Where could i find the 02/06/10 or the 02/04/12 version of devbios still
based upon kernel 2.4 building ? 


Le lun 26/04/2004 à 12:07, Stefan Reinauer a écrit :
> * Mathieu Deschamps <mdeschamps at mangrove-systems.com> [040423 18:07]:
> 
> > But I still don't understand these part of your code:
> > 
> > ifeq ($(KERNEL)/.config,$(wildcard $(KERNEL)/.config))
> > include $(KERNEL)/.config
> > endif
> > # see if we need module versions
> > ifdef CONFIG_MODVERSIONS
> > CFLAGS += -DMODVERSIONS
> > endif
>  
> This is needed for those using module versioning.
> 
> > In the 0.3.2 version in never hear about the need to
> > include the kernel .config.
>  
> Yes. 0.3.2 is broken wrt module versioning
> 
> > When i say to managed to make it works that true,
> > but it's tainted and this is an ugly "bricologe"
>  
> taintet?

	It's a module state, fo example when you force loading of a module
hasn't been compiled for the machine you are trying to insmoding.
It seems it's also some kind of internal authenficate signature.

> 
> Stefan
> 
> 
> 



More information about the coreboot mailing list