Login | Register For Free | Help
Search for: (Advanced)

Mailing List Archive: Gentoo: User

Failure to compile 2.6.39-gentoo-r3

 

 

Gentoo user RSS feed   Index | Next | Previous | View Threaded


kensington at astralcloak

Jul 20, 2011, 9:23 AM

Post #1 of 3 (381 views)
Permalink
Failure to compile 2.6.39-gentoo-r3

Hello,

Just upgrading from 2.6.38-gentoo-r6 to 2.6.39-gentoo-r3 and I'm getting the
following error:

LD .tmp_vmlinux1
arch/x86/built-in.o: In function `microcode_init':
microcode_core.c:(.init.text+0xaeb5): undefined reference to
`init_intel_microcode'
make: *** [.tmp_vmlinux1] Error 1

Any ideas?

-Michael


kensington at astralcloak

Jul 20, 2011, 10:27 AM

Post #2 of 3 (384 views)
Permalink
Re: Failure to compile 2.6.39-gentoo-r3 [In reply to]

Hi,

CONFIG_MICROCODE=y
CONFIG_MICROCODE_INTEL=y
# CONFIG_MICROCODE_AMD is not set
CONFIG_MICROCODE_OLD_INTERFACE=y


-Michael


rom at persimplex

Jul 20, 2011, 1:14 PM

Post #3 of 3 (371 views)
Permalink
Re: Failure to compile 2.6.39-gentoo-r3 [In reply to]

> LD .tmp_vmlinux1
> arch/x86/built-in.o: In function `microcode_init':
> microcode_core.c:(.init.text+0xaeb5): undefined reference to
> `init_intel_microcode'
> make: *** [.tmp_vmlinux1] Error 1
>

this should not happen: if you selected any module from the kernel tree to be
built into the kernel (you did it for cpu firmware loader as it comes from
previous message), the compiled code for every module pretended to be built into
the kernel image is additively placed into built-in.o - actually the kernel tree
contains built-in.o files for every kernel component, arch, mm, drivers, net
etc. at the final build stage, all the object files are linked together
producing vmlinux elf binary. i just tried to build test kernel with built-in
firmware loader for x86 and x86_64 arches: both completed successfully

so i guess you've got error due to some inconsistencies in the kernel directory.
try it again from the scratch:

* save somewhere out of kernel tree your current /usr/src/linux/.config
* wipe out compeled and generated code from the kernel tree: cd
/usr/src/linux; make mrproper
* restore .config
* make silentoldconfig
* make

words below are not directly related to the case, but proper behavior is to
build cpu firmware loader as module (i presume the kernel is configured to load
and unload modules:

CONFIG_MICROCODE=m
CONFIG_MICROCODE_INTEL=y
CONFIG_MICROCODE_OLD_INTERFACE=y
CONFIG_FW_LOADER=y

* as you probably know microcode loader runs in userspace once at boot time
(you have to emerge sys-apps/microcode-ctl and rc-update microcode_ctl boot)
* microcode service script /etc/init.d/microcode_ctl at start loads kernel
module 'microcode'
* then the script starts microcode loader (data is in sys-apps/microcode-data)
* at the end the script unloads microcode module thus freeing kernel resources
(loaded data remains into cpu cache until reset)

hth,
victor

Gentoo user RSS feed   Index | Next | Previous | View Threaded
 
 


Interested in having your list archived? Contact Gossamer Threads
 
  Web Applications & Managed Hosting Powered by Gossamer Threads Inc.