2004-01-14 07:16:13

by Frederick W. Kilner

[permalink] [raw]
Subject: 2.6.0 Build failure if .config:270 CONFIG_BLK_DEV_IDE=m

Hi Kernel People!

My build of the 2.6.0 kernel failed unless I changed an option in make
menuconfig which changed .config:270 CONFIG_BLK_DEV_IDE=m to =y.

On my uname -a:
Linux localhost.localdomain 2.4.18-3 #1 Thu Apr 18 07:31:07 EDT 2002
i586 unknown system. It has a cheapy Soyo motherboard with via chipset
and K6-2 or 3 CPU but probably that is not important.

The failure is during building so I never get around to running the kernel
unless I have .config:270 CONFIG_BLK_DEV_IDE=y instead of m (module).

I use make menu config. I believe this is the latest stable release at
least as of a week or two ago.


During, make V=1 , the failure message with CONFIG_BLK_DEV_IDE=m is:
ld -m elf_i386 -T arch/i386/kernel/vmlinux.lds.s
arch/i386/kernel/head.o arch/i386/kernel/init_task.o init/built-in.o
--start-group usr/built-in.o
arch/i386/kernel/built-in.o arch/i386/mm/built-in.o
arch/i386/mach-default/built-in.o kernel/built-in.o mm/built-in.o
fs/built-in.o ipc/built-in.o security/built-in.o crypto/built-in.o
lib/lib.a arch/i386/lib/lib.a lib/built-in.o arch/i386/lib/built-in.o
drivers/built-in.o sound/built-in.o arch/i386/pci/built-in.o
arch/i386/power/built-in.o net/built-in.o --end-group -o .tmp_vmlinux1
drivers/built-in.o(.text+0x33568): In function `ide_match_hwif':
: undefined reference to `ide_hwifs'

So using cscope I saw ide_hwifs is globaly defined in ide.c and from the
Makefile in /usr/src/linux-2.6.0/drivers/ide the line:

obj-$(CONFIG_BLK_DEV_IDE) += ide-io.o ide-probe.o
ide-iops.o ide-taskfile.o ide.o ide-lib.o ide-default.o

will cause ide.o to be linked in if CONFIG_BLK_DEV_IDE is defined so
ide_hwifs will be globally there. I saw CONFIG_BLK_DEV_IDE and found it in
.config and in "make menuconfig" found I could change that in:
Device Drivers --> ATA/ATAPI/MFM/RLL support --->
<*> Enhanced IDE/MFM/RLL disk/cdrom/tape/floppy support
must be selected not as a module which then allows one of the options a
few down to be selected a <*> instead of a module. Okay I forget which one
but (CONFIG_BLK_DEV_IDE) is the key! If it's M my build fails. I attached
the last 100 or so lines of the failure.

Oh ya... I just attached .config. Almost forget.. pheeew!!!

Hey I just built the kernel!

I know setting that as a module didn't make any sense but it takes more
than an hour to go through all the options and the default settings
enable tons of unwanted stuff. Too bad there isn't a probe my hardware and
set .config script but I'm not smart enough to do that.

We need a language and data structure based on dependencies to replace
C for code, scripts, logic design, goobery stuff in your brain models
reality; so we don't have this problem.. what could we call it... 'D'?

This problem made me download cscope from sorceforge.net and it works
great!

Is my message clear?
-Fred


Attachments:
compileerr2.t (7.31 kB)
build_failure.t
.config (38.58 kB)
.config file with CONFIG_BLK_DEV_IDE=y
Download all attachments

2004-01-15 12:58:11

by Adrian Bunk

[permalink] [raw]
Subject: Re: 2.6.0 Build failure if .config:270 CONFIG_BLK_DEV_IDE=m

Hi Frederick,

thanks for your report.

Unfortunately, it's a known problem that modular IDE is currently broken
in kernel 2.6 .

cu
Adrian

--

"Is there not promise of rain?" Ling Tan asked suddenly out
of the darkness. There had been need of rain for many days.
"Only a promise," Lao Er said.
Pearl S. Buck - Dragon Seed