LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1195|回复: 12

把原来的内核.config文件拷到新的内核下编译时提示有错

[复制链接]
发表于 2008-12-30 11:41:45 | 显示全部楼层 |阅读模式
编译能通过,不过提示有些错误设置,请问如何修正
谢谢
WARNING: vmlinux.o(.text+0x221121): Section mismatch in reference from the function cb_alloc() to the function .devinit.text:pci_scan_bridge()
The function cb_alloc() references
the function __devinit pci_scan_bridge().
This is often because cb_alloc lacks a __devinit
annotation or the annotation of pci_scan_bridge is wrong.

WARNING: vmlinux.o(.data+0x1d588): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_ite887x_exit()
The variable pci_serial_quirks references
the function __devexit pci_ite887x_exit()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x1d5a4): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit()
The variable pci_serial_quirks references
the function __devexit pci_plx9050_exit()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x1d5c0): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit()
The variable pci_serial_quirks references
the function __devexit pci_plx9050_exit()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x1d5f8): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit()
The variable pci_serial_quirks references
the function __devexit pci_plx9050_exit()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x1d614): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit()
The variable pci_serial_quirks references
the function __devexit pci_plx9050_exit()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x1d630): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:pci_plx9050_exit()
The variable pci_serial_quirks references
the function __devexit pci_plx9050_exit()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x1d64c): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit()
The variable pci_serial_quirks references
the function __devexit sbs_exit()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x1d668): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit()
The variable pci_serial_quirks references
the function __devexit sbs_exit()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x1d684): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit()
The variable pci_serial_quirks references
the function __devexit sbs_exit()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x1d6a0): Section mismatch in reference from the variable pci_serial_quirks to the function .devexit.text:sbs_exit()
The variable pci_serial_quirks references
the function __devexit sbs_exit()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x28b94): Section mismatch in reference from the variable pccard_sysfs_interface to the function .devinit.text:pccard_sysfs_add_socket()
The variable pccard_sysfs_interface references
the function __devinit pccard_sysfs_add_socket()
If the reference is valid then annotate the
variable with __init* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x28b98): Section mismatch in reference from the variable pccard_sysfs_interface to the function .devexit.text:pccard_sysfs_remove_socket()
The variable pccard_sysfs_interface references
the function __devexit pccard_sysfs_remove_socket()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x28d0c): Section mismatch in reference from the variable pcmcia_bus_interface to the function .devinit.text:pcmcia_bus_add_socket()
The variable pcmcia_bus_interface references
the function __devinit pcmcia_bus_add_socket()
If the reference is valid then annotate the
variable with __init* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x28e88): Section mismatch in reference from the variable pccard_rsrc_interface to the function .devinit.text:pccard_sysfs_add_rsrc()
The variable pccard_rsrc_interface references
the function __devinit pccard_sysfs_add_rsrc()
If the reference is valid then annotate the
variable with __init* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x28e8c): Section mismatch in reference from the variable pccard_rsrc_interface to the function .devexit.text:pccard_sysfs_remove_rsrc()
The variable pccard_rsrc_interface references
the function __devexit pccard_sysfs_remove_rsrc()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x29650): Section mismatch in reference from the variable pd6729_pci_drv to the function .devinit.text:pd6729_pci_probe()
The variable pd6729_pci_drv references
the function __devinit pd6729_pci_probe()
If the reference is valid then annotate the
variable with __init* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x29654): Section mismatch in reference from the variable pd6729_pci_drv to the function .devexit.text:pd6729_pci_remove()
The variable pd6729_pci_drv references
the function __devexit pd6729_pci_remove()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x29710): Section mismatch in reference from the variable i82092aa_pci_drv to the function .devinit.text:i82092aa_pci_probe()
The variable i82092aa_pci_drv references
the function __devinit i82092aa_pci_probe()
If the reference is valid then annotate the
variable with __init* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,

WARNING: vmlinux.o(.data+0x29714): Section mismatch in reference from the variable i82092aa_pci_drv to the function .devexit.text:i82092aa_pci_remove()
The variable i82092aa_pci_drv references
the function __devexit i82092aa_pci_remove()
If the reference is valid then annotate the
variable with __exit* (see linux/init.h) or name the variable:
*driver, *_template, *_timer, *_sht, *_ops, *_probe, *_probe_one, *_console,
发表于 2008-12-30 12:17:43 | 显示全部楼层
不用拷贝吧,你直接make menuconfig,应该会给你生成一个,而且参考了旧的配置。
回复 支持 反对

使用道具 举报

发表于 2008-12-30 12:29:20 | 显示全部楼层
make oldconfig
记得wiki有个升级内核的文档
回复 支持 反对

使用道具 举报

发表于 2008-12-30 12:34:34 | 显示全部楼层
Post by bigbusyboy;1931753
不用拷贝吧,你直接make menuconfig,应该会给你生成一个,而且参考了旧的配置。

我都是将旧的拷过来,然后make menuconfig,再保存,然后再make
现在暂时还没出现什么问题.
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-12-30 13:27:34 | 显示全部楼层
Post by pjq;1931762
我都是将旧的拷过来,然后make menuconfig,再保存,然后再make
现在暂时还没出现什么问题.

我就是像这样做的,结果编译时提示有一些mismatch
回复 支持 反对

使用道具 举报

发表于 2008-12-30 14:07:16 | 显示全部楼层
make oldconfig 先。
回复 支持 反对

使用道具 举报

发表于 2008-12-30 14:08:21 | 显示全部楼层
这是WARNING
不是ERROR
回复 支持 反对

使用道具 举报

发表于 2008-12-30 15:48:54 | 显示全部楼层
像这种变化大的升级是不建议这么做的,因为配置文件有大的变化,这种复制很容易出问题,而且可能是莫名其妙的,问别人都不知道怎么回事,不过类似-r1、-r2这种小变化到无所谓。

我自己是这么做的:
在第一次编译的时候,先备份一个.config到别的地方,然后再进行make menuconfig 的配置,修改一项,就在原先的备份上面的做个标记比如||, 以后再升级的时候,参考它,就不会有遗漏的,而反复的编译了,反正要修改的也不会太多。

大家有什么好方法也贴出来讨论一下。 不过现在有个疑问, 比如编译成模块的驱动,需要另外安装驱动的, 比如:使用alsa-driver ,而不是使用内核的,是不是每次升级内核都要重新编译一下呀???我好像每次都要重新emerge alsa-driver ,要不然声卡就找不到模块。
回复 支持 反对

使用道具 举报

发表于 2008-12-30 17:20:21 | 显示全部楼层
Post by wd_afei;1931791
make oldconfig 先。


然也     。
回复 支持 反对

使用道具 举报

发表于 2008-12-30 17:33:58 | 显示全部楼层
编译内核
因为是源代码
建议使用内部Makefile:

  1. make -s -j2
  2. mount /boot # 加载你的Boot分区
  3. make install # 安装内核文件,Gentoo文档中的cp arch/x86/bzImage不回拷贝文档哦.
  4. make modules_install # 安装模块文件
复制代码


更新内核后,再次配置前:

  1. mount /boot
  2. make oldconfig # 从Boot分区中按照当前内核读取config
  3. make menuconfig # 个人喜好
复制代码
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表