FAQ 出现了System.map not found怎么办

出自Gentoo Linux Wiki

跳转到: 导航, 搜索
这篇文章属于FAQ 系列的一部分.
一般 Portage Wiki

[编辑] 问题缘由

因为gentoo在启动中会检查模块的依赖性是否得到满足,所以会运行modules-update这个脚本。而这个脚本中寻找System.map的位置是/usr/src/linux/System.map。而不少人将/usr单独分区。于是在系统启动的过程中加载完/后,/usr并没有加载。于是当系统运行到modules-update脚本的时候就提示System.map找不到了。

[编辑] 解决的办法

  1. 不要单独分出/usr。当然这个要牺牲一些性能。
  2. 在安装内核时使用make install而不是gentoo handbook中的cp命令。
    $ make install
    这样会执行内核编译系统中的一个脚本,它会将内核文件复制至/boot目录,复制config,System.map带版本号的等文件至/boot目录,并且会在/boot创建不带版本号的config和System.map符号链接文件指向真实的带版本号的文件。然后再将/sbin/modules-update中引用到/usr/src/linux/System.map处修改为/boot/System.map即可。
个人工具