1 |
> LD .tmp_vmlinux1 |
2 |
> arch/x86/built-in.o: In function `microcode_init': |
3 |
> microcode_core.c:(.init.text+0xaeb5): undefined reference to |
4 |
> `init_intel_microcode' |
5 |
> make: *** [.tmp_vmlinux1] Error 1 |
6 |
> |
7 |
|
8 |
this should not happen: if you selected any module from the kernel tree to be |
9 |
built into the kernel (you did it for cpu firmware loader as it comes from |
10 |
previous message), the compiled code for every module pretended to be built into |
11 |
the kernel image is additively placed into built-in.o - actually the kernel tree |
12 |
contains built-in.o files for every kernel component, arch, mm, drivers, net |
13 |
etc. at the final build stage, all the object files are linked together |
14 |
producing vmlinux elf binary. i just tried to build test kernel with built-in |
15 |
firmware loader for x86 and x86_64 arches: both completed successfully |
16 |
|
17 |
so i guess you've got error due to some inconsistencies in the kernel directory. |
18 |
try it again from the scratch: |
19 |
|
20 |
* save somewhere out of kernel tree your current /usr/src/linux/.config |
21 |
* wipe out compeled and generated code from the kernel tree: cd |
22 |
/usr/src/linux; make mrproper |
23 |
* restore .config |
24 |
* make silentoldconfig |
25 |
* make |
26 |
|
27 |
words below are not directly related to the case, but proper behavior is to |
28 |
build cpu firmware loader as module (i presume the kernel is configured to load |
29 |
and unload modules: |
30 |
|
31 |
CONFIG_MICROCODE=m |
32 |
CONFIG_MICROCODE_INTEL=y |
33 |
CONFIG_MICROCODE_OLD_INTERFACE=y |
34 |
CONFIG_FW_LOADER=y |
35 |
|
36 |
* as you probably know microcode loader runs in userspace once at boot time |
37 |
(you have to emerge sys-apps/microcode-ctl and rc-update microcode_ctl boot) |
38 |
* microcode service script /etc/init.d/microcode_ctl at start loads kernel |
39 |
module 'microcode' |
40 |
* then the script starts microcode loader (data is in sys-apps/microcode-data) |
41 |
* at the end the script unloads microcode module thus freeing kernel resources |
42 |
(loaded data remains into cpu cache until reset) |
43 |
|
44 |
hth, |
45 |
victor |