On Fri, 14 Dec 2001 17:08:18 -0500, 
Ghozlane Toumi <[EMAIL PROTECTED]> wrote:
>- the most used kernel format in the alpha world is the vmlinux.gz rather 
>than vmlinuz.  is "vmlinuz" an standard for kbuild2.5, or should i keep the 
>old vmlinuz.gz ?

I want one standard name for "vmlinux compressed with gzip" - vmlinuz.
Part of the problem with kbuild 2.4 is each arch did their own thing, I
am trying to standardize.  It helps documentation if nothing else.

>- I'm not quite happy with the bootp installable (you can specify an initrd 
>that most likely should contain modules you just built , so does it make 
>sense to put this target in the list ?) comments ?

It needs to be in the list, as a dependency of the user_command().
Insist that CONFIG_INSTALL_INITRD_NAME be a local filename, i.e. the
initrd is build in or below the boot directory.  I cannot see any
existing rules to build initrd so that needs to be added.

>- Is there a way *not to* change the main Makefile.in when adding targets 
>other than vmlinux/z ( and shouldn't we remove any reference to 
>bzimage/zimage from the main Makefile.in as it is an ix86 only kernel format) 
>?

I want all the install target names in the top level Makefile.in to
stop each arch going off on their own, i.e. one location that lists all
the known target types.  It does not say how to build arch specific
targets but it does list them and reduces the chance of one arch using
vmlinux.gz when everybody else uses vmlinuz.

BTW, I have been tweaking the top level Makefile.in and adding some new
embedded targets from David Woodhouse, it now looks like this:

# List all standard kernel formats and locations for all architectures.
ifsel(CONFIG_VMLINUX)
  KERNELFULLNAME        := vmlinux
endif
ifsel(CONFIG_VMLINUZ)
  KERNELFULLNAME        := vmlinuz
endif
ifsel(CONFIG_BZIMAGE)
  KERNELFULLNAME        := arch/$(ARCH)/boot/bzImage
endif
ifsel(CONFIG_ZIMAGE)
  KERNELFULLNAME        := arch/$(ARCH)/boot/zImage
endif
ifsel(CONFIG_VMLINUX_SREC)
  KERNELFULLNAME        := vmlinux.srec
endif
ifsel(CONFIG_VMLINUX_BIN)
  KERNELFULLNAME        := vmlinux.bin
endif

KERNELBASENAME          := $(shell echo "$(KERNELFULLNAME)" | sed -e 
's:.*/\([^/][^/]*\)/*$$:\1:')

The default install location is now
  /lib/modules/KERNELRELEASE/KERNELBASENAME
so changing from zImage to bzImage automatically changes the name it is
installed under.

>- I have to build a tool with the local cc :arch/alpha/boot/tools/objstrip 
>that includes <asm/elf.h>. for the build in the same tree as the source, 

Variable $(include_list) contains the data you need.  It is created by
the top level Makefile-2.5 and plugged into [CA]FLAGS.  include_list is
not exported so it cannot be used by Makefile.in directly, I did not
think it was necessary.  Temporary fix, add "export include_list" to
Makefile-2.5 and in arch/alpha/boot/tools/Makefile.in do

extra_cflags(objstrip.o $(include_list))
hostccld(objstrip objstrip.o)

>now for the more general kbuild-2.5 questions :
>- with kbuild-2.5, if i make menuconfig , change config options. do i have to 
>make clean before make installable ? 
>if not, I had some troubles (related to network and frame buffer) at link 
>stage . for example : fbmem.c adds calls to initfunctions of fb drivers 
>compiled in. These calls are conditionned by CONFIG_ options . When removing 
>one of the drivers from the config, fbmem.o didn't get rebuilt, and screwed 
>the linking . Is that a core kbuild-2.5 problem ,a Makefile.in issue , or my 
>fault of not having cleaned before rebuilding ? I did't investigate any 
>further, and make cleaned ...

That sounds like a bug.  Changing a config that affects a file _must_
automatically rebuild that file, fbmem.o should have been rebuilt.
make clean is not necessary.  I cannot reproduce the problem here, I
did one build with

CONFIG_FB=y
CONFIG_DUMMY_CONSOLE=y
CONFIG_FB_RIVA=y
CONFIG_FB_CLGEN=y
CONFIG_FB_PM2=y
# CONFIG_FB_PM2_FIFO_DISCONNECT is not set
# CONFIG_FB_PM2_PCI is not set
CONFIG_FB_CYBER2000=y
CONFIG_FB_VESA=y
# CONFIG_FB_VGA16 is not set
# CONFIG_FB_HGA is not set
CONFIG_VIDEO_SELECT=y
# CONFIG_FB_MATROX is not set
# CONFIG_FB_ATY is not set
# CONFIG_FB_RADEON is not set
# CONFIG_FB_ATY128 is not set
# CONFIG_FB_SIS is not set
# CONFIG_FB_3DFX is not set
# CONFIG_FB_VOODOO1 is not set
# CONFIG_FB_VIRTUAL is not set
# CONFIG_FBCON_ADVANCED is not set
CONFIG_FBCON_MFB=y
CONFIG_FBCON_CFB8=y
CONFIG_FBCON_CFB16=y
CONFIG_FBCON_CFB24=y
CONFIG_FBCON_CFB32=y
# CONFIG_FBCON_FONTWIDTH8_ONLY is not set
# CONFIG_FBCON_FONTS is not set
CONFIG_FONT_8x8=y
CONFIG_FONT_8x16=y

Changed CONFIG_FB_PM2 to n and

make -f Makefile-2.5 -j4 PP_MAKEFILE4_FLAGS=-v oldconfig drivers/video
....
Rereading input trees to get new config timestamps
  phase 2 (evaluate selections)
  phase 5 (dependencies from previous build)
pp_makefile4: config_settings/fb/pm2.h (1008380417) is newer than target (1008380269), 
removing target drivers/video/fbmem.o
pp_makefile4: config_settings/fb/pm2/pci.h (1008380417) is newer than target 
(1008380270), removing target drivers/video/pm2fb.o
  phase 3 (write global makefile)
Starting phase 4 (build) for drivers/video
  CC drivers/video/fbmem.o
Phase 4 complete for drivers/video

It removed and rebuilt fbmem.o for me.  Can you reproduce the problem
and send detailed steps, with PP_MAKEFILE4_FLAGS=-v?


_______________________________________________
kbuild-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/kbuild-devel

Reply via email to