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