linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* kernel buildsystem broken on RO medium
@ 2004-01-06 23:41 Arkadiusz Miskiewicz
  2004-01-07  6:16 ` Sam Ravnborg
  0 siblings, 1 reply; 4+ messages in thread
From: Arkadiusz Miskiewicz @ 2004-01-06 23:41 UTC (permalink / raw)
  To: linux-kernel

How to build external kernel modules using kernel buildsystem from RO medium?


make[1]: Entering directory `/home/users/misiek/rpm/BUILD/drbd-0.6.10/drbd'

    Calling toplevel makefile of kernel source tree, which I believe is in
    KDIR=/lib/modules/2.6.1/build
    NOTE: please ignore warnings regarding overriding of SUBDIRS

/usr/bin/make -C /lib/modules/2.6.1/build 
SUBDIRS=/home/users/misiek/rpm/BUILD/drbd-0.6.10/drbd  modules
make[2]: Entering directory `/usr/src/linux-2.6.1'
  HOSTCC  scripts/modpost.o
cc1: Permission denied: opening dependency file scripts/.modpost.o.d
make[3]: *** [scripts/modpost.o] Error 1
make[2]: *** [scripts] Error 2
make[2]: Leaving directory `/usr/src/linux-2.6.1'
make[1]: *** [kbuild] Error 2
make[1]: Leaving directory `/home/users/misiek/rpm/BUILD/drbd-0.6.10/drbd'


Are there any patches that fix this part of build system (if I remember 
correctly someone created such patch but I didn't find it)?

-- 
Arkadiusz Miśkiewicz    CS at FoE, Wroclaw University of Technology
arekm.pld-linux.org AM2-6BONE, 1024/3DB19BBD, arekm(at)ircnet, PLD/Linux

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: kernel buildsystem broken on RO medium
  2004-01-06 23:41 kernel buildsystem broken on RO medium Arkadiusz Miskiewicz
@ 2004-01-07  6:16 ` Sam Ravnborg
  2004-01-07  8:51   ` Arkadiusz Miskiewicz
  0 siblings, 1 reply; 4+ messages in thread
From: Sam Ravnborg @ 2004-01-07  6:16 UTC (permalink / raw)
  To: Arkadiusz Miskiewicz; +Cc: linux-kernel

On Wed, Jan 07, 2004 at 12:41:41AM +0100, Arkadiusz Miskiewicz wrote:
> How to build external kernel modules using kernel buildsystem from RO medium?
> 
> 
> make[1]: Entering directory `/home/users/misiek/rpm/BUILD/drbd-0.6.10/drbd'
> 
>     Calling toplevel makefile of kernel source tree, which I believe is in
>     KDIR=/lib/modules/2.6.1/build
>     NOTE: please ignore warnings regarding overriding of SUBDIRS
> 
> /usr/bin/make -C /lib/modules/2.6.1/build 
> SUBDIRS=/home/users/misiek/rpm/BUILD/drbd-0.6.10/drbd  modules

Use the O= option to specify a separate output directory,
where you have RW permissions.

	Sam

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: kernel buildsystem broken on RO medium
  2004-01-07  6:16 ` Sam Ravnborg
@ 2004-01-07  8:51   ` Arkadiusz Miskiewicz
  2004-01-07 20:43     ` Sam Ravnborg
  0 siblings, 1 reply; 4+ messages in thread
From: Arkadiusz Miskiewicz @ 2004-01-07  8:51 UTC (permalink / raw)
  To: linux-kernel

On Wednesday 07 of January 2004 07:16, Sam Ravnborg wrote:
> On Wed, Jan 07, 2004 at 12:41:41AM +0100, Arkadiusz Miskiewicz wrote:
> > How to build external kernel modules using kernel buildsystem from RO
> > medium?
> >
> >
> > make[1]: Entering directory
> > `/home/users/misiek/rpm/BUILD/drbd-0.6.10/drbd'
> >
> >     Calling toplevel makefile of kernel source tree, which I believe is
> > in KDIR=/lib/modules/2.6.1/build
> >     NOTE: please ignore warnings regarding overriding of SUBDIRS
> >
> > /usr/bin/make -C /lib/modules/2.6.1/build
> > SUBDIRS=/home/users/misiek/rpm/BUILD/drbd-0.6.10/drbd  modules
>
> Use the O= option to specify a separate output directory,
> where you have RW permissions.
I forgot to write that O= option doesn't work too good:
[misiek@arm ~/rpm/BUILD/drbd-0.6.10/drbd]$ make -C /lib/modules/2.6.1/build SUBDIRS=`pwd` modules O=`pwd`/tmp
make: Entering directory `/usr/src/linux-2.6.1'
/usr/src/linux-2.6.1/Makefile:391: .config: No such file or directory

The present kernel configuration has modules disabled.
Type 'make config' and enable loadable module support.
Then build a kernel with module support enabled.

make[1]: *** [modules] Error 1
make: *** [modules] Error 2
make: Leaving directory `/usr/src/linux-2.6.1'
[misiek@arm ~/rpm/BUILD/drbd-0.6.10/drbd]$ ls -l /usr/src/linux-2.6.1/.config
-rw-r--r--    1 root     root        47918 Jan  5 18:31 /usr/src/linux-2.6.1/.config
[misiek@arm ~/rpm/BUILD/drbd-0.6.10/drbd]$ cp /usr/src/linux-2.6.1/.config ./tmp/
[misiek@arm ~/rpm/BUILD/drbd-0.6.10/drbd]$ make -C /lib/modules/2.6.1/build SUBDIRS=`pwd` modules O=`pwd`/tmp
make: Entering directory `/usr/src/linux-2.6.1'
  Using /usr/src/linux-2.6.1 as source for kernel
  /usr/src/linux-2.6.1 is not clean, please run 'make mrproper'
  in the '/usr/src/linux-2.6.1' directory.
make[1]: *** [prepare1] Error 1
make: *** [modules] Error 2
make: Leaving directory `/usr/src/linux-2.6.1'

and /usr/src/linux-2.6.1 is read-only.

But let's try:
[misiek@arm ~/rpm/BUILD/drbd-0.6.10/drbd]$ sudo make -C /usr/src/linux-2.6.1/ mrproper
Could not retrieve tty information.
make: Entering directory `/usr/src/linux-2.6.1'
  RM  $(CLEAN_FILES)
  Making mrproper in the srctree
  RM  $(MRPROPER_DIRS) + $(MRPROPER_FILES)
make: Leaving directory `/usr/src/linux-2.6.1'
[misiek@arm ~/rpm/BUILD/drbd-0.6.10/drbd]$ make -C /lib/modules/2.6.1/build SUBDIRS=`pwd` modules O=`pwd`/tmp

Wow now works but tell me, how to do make mrproper if /usr/src/linux-2.6.1 is really read-only?
I'm asking because I want to build rpms with kernel modules from non-root and root can have
non-mrproper state in /usr/src/linux-2.6.1.

> 	Sam

-- 
Arkadiusz Miśkiewicz    CS at FoE, Wroclaw University of Technology
arekm.pld-linux.org AM2-6BONE, 1024/3DB19BBD, arekm(at)ircnet, PLD/Linux

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: kernel buildsystem broken on RO medium
  2004-01-07  8:51   ` Arkadiusz Miskiewicz
@ 2004-01-07 20:43     ` Sam Ravnborg
  0 siblings, 0 replies; 4+ messages in thread
From: Sam Ravnborg @ 2004-01-07 20:43 UTC (permalink / raw)
  To: Arkadiusz Miskiewicz; +Cc: linux-kernel

> Wow now works but tell me, how to do make mrproper if /usr/src/linux-2.6.1 is really read-only?
> I'm asking because I want to build rpms with kernel modules from non-root and root can have
> non-mrproper state in /usr/src/linux-2.6.1.

There is no way to do this, other than take a copy of the SRC.
It was not possible to let kbuild support building a kernel when the kernel
tree contained generated files.
I do not remember the details, but the main issue was with generated .c
files. If a generated .c file were present in the kernel src, it would
not be generated aging in the separate output directory.
Usually this is not too much of a big deal, but it could result in potential
erros later on.
There were also problems with _shipped support and generated .h files,
but I do not recall the details.

In the 2.7 timeframe I plan to be a bit more restrictive on use of -I
directive to gcc, hereby hopefully enabling more consistent behaviour
all over the kernel.

	Sam

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2004-01-07 20:31 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2004-01-06 23:41 kernel buildsystem broken on RO medium Arkadiusz Miskiewicz
2004-01-07  6:16 ` Sam Ravnborg
2004-01-07  8:51   ` Arkadiusz Miskiewicz
2004-01-07 20:43     ` Sam Ravnborg

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).