Description of Problem: Kernel 2.4.18-0.12 and earlier linux/include/rhconfig.h never define __module__bigmem, as it does __module__enterprise and others. This causes third party modules to build improperly. /usr/src/linux-2.4/include/linux/rhconfig.h Add the following lines, otherwise the compiling will pick up the wrong symbols for the BIGMEM kernel. #if defined(__BOOT_KERNEL_BIGMEM) && ( __BOOT_KERNEL_BIGMEM ==1) #define __module__bigmem #endif Note: The reason that you need to define the "__module__bigmem" is that the "/usr/src/linux-2.4/include/linux/modules/ksyms.ver" is checking the flag "__module__bigmem" for the kernel. Search for the string "register_chrdev" and you will find the following lines: #if defined(__module__bigmem) #define __ver__register_chrdev _ver_str(515ed577) #define register_chrdev _set_ver(register_chrdev) If you don't have the __module__bigmem defined for the BIGMEM kernel, then the compiling will pick the wrong symbols and the driver won't load. Version-Release number of selected component (if applicable): 2.4.18-0.12 and earlier This is considered a MUST-FIX for Hampton by Dell.
This is fixed; I thought it was fixed in 0.12 already (but you need a recent initscripts to go with it though) /me wonders idly if we missed to include a useful module
I installed kernel-source-2.4.18-0.12 just to make sure - rhconfig.h has no references to bigmem at all. I also installed initscripts-6.60-1, which Bill says is doing the right thing by *not* definig __module__smp. rhconfig.h should add || defined(__module__bigmem) to its list for determining whether or not to add the smp_ decoration to _ver_str(), and should define __module__bigmem in the i686 section above.
0.13 and later have it for sure