Hello all, Bad day... Bad week, and more... Last several kernel updates from RedHat have been impossible to use to build custom kernel builds.
I swear I must be doing something fundamental wrong but a proceedure I've been using to build custom kernels from the RedHat kernel source rpm just isn't working any more (and a backup proceedure is even worse). I need a custom kernel to add some options and add some drivers (usbvision for one - mods to a kernel driver I MAINTAIN for another). The proceedure I HAVE been using is to install the kernel "source" RPM from the install CD's and then gone to /usr/src/linux-2.4 and copied the appropriate configs/kernel{whatever} to .config and then "make oldconfig ; make deps clean bzImage ; make modules" etc... Worked like a charm under 2.4.18-5 and earlier. Then I would reboot to that "custom" kernel (which really shouldn't be custom but it makes the version strings match) make my modifications to the kernel sources (changes to SCSI parameters and/or add drivers) and rebuild... Ever after 2.4.18-5, the "make dep clean bzImage" works like a charm but the "make modules" catches fire and burns to high hell. First I thought it was just the stupid CIPE module that RedHat has been adding in (since it's the first module to blow chunks). But disabling that module just causes the blowup to be in the next module. The errors are bizzare. Things like "non-numeric character in number but not hex" and stuff. It LOOKS like there is some totally wacked out header, but I haven't been able to track it down. Here is what I get from "make modules" trying the stock RedHat (there's a $#@$%@# oxymoron for you) kernel sources and one of their unmodified configuration files (configs/kernel-2.4.18-i386.config): make[3]: Entering directory `/usr/local/src/linux-2.4.18-19.7.x/drivers/addon/cipe' gcc -D__KERNEL__ -I/usr/local/src/linux-2.4.18-19.7.x/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i386 -DMODULE -DMODVERSIONS -include /usr/local/src/linux-2.4.18-19.7.x/include/linux/modversions.h -nostdinc -I /usr/lib/gcc-lib/i386-redhat-linux/2.96/include -DKBUILD_BASENAME=module -c -o module.o module.c In file included from /usr/local/src/linux-2.4.18-19.7.x/include/linux/if.h:23, from cipe.h:21, from module.c:15: /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:249: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:249: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:249: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:249: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:249: parse error before `9fb3dd30' /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:249: `memcpy_fromiovec_R_ver_str' declared as function returning a function /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:249: warning: function declaration isn't a prototype /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:258: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:258: floating constant exponent has no digits /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:258: missing white space after number `9ce' /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:258: parse error before `9ce' /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:258: `memcpy_toiovec_R_ver_str' declared as function returning a function /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:258: warning: function declaration isn't a prototype /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:259: `memcpy_tokerneliovec_R_ver_str' declared as function returning a function /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:259: warning: parameter names (without types) in function declaration /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:260: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:260: parse error before `38c99093' /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:260: `move_addr_to_user_R_ver_str' declared as function returning a function /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:260: warning: function declaration isn't a prototype /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:261: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:261: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:261: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:261: parse error before `5dfa4696' /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:261: `move_addr_to_kernel_R_ver_str' declared as function returning a function /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:261: warning: function declaration isn't a prototype /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:262: `put_cmsg_R_ver_str' declared as function returning a function /usr/local/src/linux-2.4.18-19.7.x/include/linux/socket.h:262: warning: parameter names (without types) in function declaration In file included from cipe.h:62, from module.c:15: /usr/local/src/linux-2.4.18-19.7.x/include/linux/netdevice.h:144: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/netdevice.h:144: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/netdevice.h:144: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/netdevice.h:144: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/netdevice.h:144: parse error before `9cf0c64f' /usr/local/src/linux-2.4.18-19.7.x/include/linux/netdevice.h:144: `if_port_text_R_ver_str' declared as function returning an array /usr/local/src/linux-2.4.18-19.7.x/include/linux/netdevice.h:144: warning: function declaration isn't a prototype In file included from /usr/local/src/linux-2.4.18-19.7.x/include/linux/skbuff.h:18, from /usr/local/src/linux-2.4.18-19.7.x/include/linux/netdevice.h:147, from cipe.h:62, from module.c:15: /usr/local/src/linux-2.4.18-19.7.x/include/linux/kernel.h:60: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/kernel.h:60: nondigits in number and not hexadecimal /usr/local/src/linux-2.4.18-19.7.x/include/linux/kernel.h:60: parse error before `01075bf0' /usr/local/src/linux-2.4.18-19.7.x/include/linux/kernel.h:61: `panic_R_ver_str' declared as function returning a function /usr/local/src/linux-2.4.18-19.7.x/include/linux/kernel.h:61: warning: function declaration isn't a prototype I also tried doing a "make mrproper" followed by a "make xconfig" where I "loaded" a "configs/kernel-2.4.18-i386.config" config file and saved it. That was even WORSE! Then I couldn't even build bzImage! That blew up with this error: kallsyms pass 1 ld -m elf_i386 -T /usr/local/src/linux-2.4.18-19.7.x/arch/i386/vmlinux.lds -e stext arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/main.o init/version.o init/do_mounts.o --start-group arch/i386/kernel/kernel.o arch/i386/mm/mm.o kernel/kernel.o mm/mm.o fs/fs.o ipc/ipc.o drivers/char/char.o drivers/block/block.o drivers/misc/misc.o drivers/net/net.o drivers/media/media.o drivers/net/fc/fc.o drivers/net/appletalk/appletalk.o drivers/net/tokenring/tr.o drivers/net/wan/wan.o drivers/atm/atm.o drivers/ide/idedriver.o drivers/cdrom/driver.o drivers/pci/driver.o drivers/net/pcmcia/pcmcia_net.o drivers/net/wireless/wireless_net.o drivers/pnp/pnp.o drivers/video/video.o drivers/md/mddev.o drivers/isdn/vmlinux-obj.o drivers/sensors/sensor.o arch/i386/math-emu/math.o net/network.o crypto/crypto.o abi/abi.o /usr/local/src/linux-2.4.18-19.7.x/arch/i386/lib/lib.a /usr/local/src/linux-2.4.18-19.7.x/lib/lib.a /usr/local/src/linux-2.4.18-19.7.x/arch/i386/lib/lib.a --end-group -o .tmp_vmlinux1 fs/fs.o: In function `zisofs_readpage': fs/fs.o(.text+0x2b6eb): undefined reference to `zlib_inflateInit_' fs/fs.o(.text+0x2b837): undefined reference to `zlib_inflate' fs/fs.o(.text+0x2b9cb): undefined reference to `zlib_inflateEnd' fs/fs.o: In function `mnt_init': fs/fs.o(.text.init+0x864): undefined reference to `init_rootfs' fs/fs.o: In function `zisofs_init': fs/fs.o(.text.init+0xb7d): undefined reference to `zlib_inflate_workspacesize' make[1]: *** [kallsyms] Error 1 make[1]: Leaving directory `/usr/local/src/linux-2.4.18-19.7.x' make: *** [vmlinux] Error 2 Sigh... No joy... But if I take the kernel SRPM and install it and build it, it builds a set of stock kernels just fine... But I can't build a custom kernel from the "source" RPM that it generates. Bizzare... Anyone have any idea what is hosed up here? Anyone have this actually working since 2.4.18-5. Latest one I tried is 2.4.18-19.7.x and it's still busted. If I drop back to 2.4.18-5 it works... Tried this on three different systems. Two are RedHat 7.3 and one is RedHat 8.0. All are fully up to date with the latest RPMS from the RedHat update sites. Doubled checked after the blowups. All blow chunks on custom kernel builds from the RedHat source RPMS using the RedHat config files with no modification (preparatory builds). Time to go dumpster diving in the toxic waste dump of RedHat kernel patches I guess and figure out just what got screwed (other than me). Blows up the same way on linux-2.4.20-2.2 from the Phoebe beta. I build the linux-2.4.20-2.2 RPMS from the SRPM (successfully) and then tried to buid a custom kernel from the "source" RPM that created. Same chunks blown all over hell's half acre. If I can't figure out what RedHat screwed up between 2.4.18-5 and it's followers, then I guess the best option is to dump the RedHat kernel cruft and go back to working from tarballs. The only reason I shifted to the RedHat rpms for kernel builds, to begin with, was thanks to the lamosity of the "LABEL=" mount cruft (and later got burned by that when moving hard drives for forensic work and had the stupid shit mount two partitions on every mount point... Grrr...) I figure I must be doing something wrong or others would have seen this earlier... But what changed after 2.4.18-5 to cause this???? Mike -- Michael H. Warfield | (770) 985-6132 | [EMAIL PROTECTED] /\/\|=mhw=|\/\/ | (678) 463-0932 | http://www.wittsend.com/mhw/ NIC whois: MHW9 | An optimist believes we live in the best of all PGP Key: 0xDF1DD471 | possible worlds. A pessimist is sure of it!
msg100112/pgp00000.pgp
Description: PGP signature