在ubuntu系统中,编译内核需要安装一些工具,如make menuconfig或make xconfig,来配置内核参数
在Linux2.6.24.3下make xconfig,出现error
# make xconfig
CHECK qt
*
* Unable to find the QT3 installation. Please make sure that
* the QT3 development package is correctly installed and
* either install pkg-config or set the QTDIR environment
* variable to the correct location.
*
HOSTCC scripts/kconfig/kconfig_load.o
make[1]: *** 没有规则可以创建“scripts/kconfig/qconf.o”需要的目标“scripts/kconfig/.tmp_qtcheck”。 停止。
make: *** [xconfig] 错误 2
对于此,如下:
在正常步骤下,除了安装ncurses,还要安装build-essential 和 kernel-package
首先,查询kernel-package信息
# apt-cache show kernel-package
Package: kernel-package
Priority: optional
Section: misc
Installed-Size: 2304
Maintainer: Ubuntu Core Developers <>
Original-Maintainer: Manoj Srivastava <>
Architecture: all
Version: 11.015
Depends: perl, dpkg (>= 1.4), dpkg-dev (>= 1.4.0.9), gcc | c-compiler, make (>= 3.80-10), po-debconf, gettext, file, debianutils (>= 2.30), binutils (>= 2.12), util-linux (>= 2.10o), module-init-tools (>= 0.9.10)
Recommends: libc6-dev | libc-dev, bzip2
Suggests: linux-source | kernel-source, libdb3-dev, libncurses-dev, docbook-utils, xmlto, e2fsprogs (>= 1.29), linux-initramfs-tool
Filename: pool/main/k/kernel-package/kernel-package_11.015_all.deb
Size: 536692
MD5sum: e2b5ae286dc60b0ccd92f2fdaee5fbfc
SHA1: df461e60e07758281ad5d9eed6b273c5e6ebe36f
SHA256: 1a1e6b7b697a143c527c09d49ac642f40f53d4d6bf16ab8fb78ff17c93c446ba
Description: A utility for building Linux kernel related Debian packages.
This package provides the capability to create a Debian kernel image
package by just running make-kpkg kernel_image in a kernel source
directory tree. It can also package the relevant kernel headers into
a kernel-headers package. In general, this package is very useful if
you need to create a custom kernel, if, for example, the default
kernel does not support some of your hardware, or you wish a leaner,
meaner kernel. It also scripts the steps that need be taken to
compile the kernel, which is quite convenient (forgetting a crucial
step once was the initial motivation for this package). Please look at
/usr/share/doc/kernel-package/Rationale.gz for a full list of advantages
of this package.
Bugs:
Origin: Ubuntu
Package: kernel-package
Priority: optional
Section: misc
Installed-Size: 1316
Maintainer: Manoj Srivastava <>
Architecture: all
Version: 9.001ubuntu15
Depends: perl, dpkg (>= 1.4), dpkg-dev (>= 1.4.0.9), gcc | c-compiler, make
Recommends: libc6-dev | libc-dev, bzip2
Suggests: linux-source, libdb3-dev, libncurses-dev, docbook-utils
Filename: pool/main/k/kernel-package/kernel-package_9.001ubuntu15_all.deb
Size: 362410
MD5sum: dc01de7ad43dcb769eadfd4f018c2a78
Description: A utility for building Linux kernel related Debian packages.
This package provides the capability to create a debian kernel-image
package by just running make-kpkg kernel_image in a kernel source
directory tree. It can also package the relevant kernel headers into
a kernel-headers package. In general, this package is very useful if
you need to create a custom kernel, if, for example, the default
kernel does not support some of your hardware, or you wish a leaner,
meaner kernel. It also scripts the steps that need be taken to
compile the kernel, which is quite convenient (forgetting a crucial
step once was the initial motivation for this package). Please look at
/usr/share/doc/kernel-package/Rationale.gz for a full list of advantages
of this package.
.
If you are running on an intel x86 platform, and you wish to compile a
custom kernel (why else are you considering this package?), then you may
need the package bin86 as well. (This is not required on other platforms).
Bugs:
Origin: Ubuntu
查询一下kernel-package安装设置状态,
# apt-cache policy kernel-package
kernel-package:
已安装:(无)
候选的软件包:11.015
版本列表:
11.015 0
500 jaunty/main Packages
9.001ubuntu15 0
500 dapper/main Packages
于是安装吧,
# apt-get install kernel-package
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
建议安装的软件包:
linux-source kernel-source libdb3-dev docbook-utils xmlto
下列【新】软件包将被安装:
kernel-package
共升级了 0 个软件包,新安装了 1 个软件包,要卸载 0 个软件包,有 12 个软件未被升级。
需要下载 537kB 的软件包。
解压缩后会消耗掉 2359kB 的额外空间。
获取:1 jaunty/main kernel-package 11.015 [537kB]
下载 537kB,耗时 5s (104kB/s)
选中了曾被取消选择的软件包 kernel-package。
(正在读取数据库 ... 系统当前总共安装有 110936 个文件和目录。)
正在解压缩 kernel-package (从 .../kernel-package_11.015_all.deb) ...
正在处理用于 man-db 的触发器...
正在设置 kernel-package (11.015) ...
接下来查看build-essential,
# apt-cache policy build-essential
# apt-cache policy build-essential
build-essential:
已安装:11.4
候选的软件包:11.4
版本列表:
*** 11.4 0
500 jaunty/main Packages
100 /var/lib/dpkg/status
11.3ubuntu1 0
500 hardy/main Packages
下面来运行make xconfig,依然是之前的error,显然是没安装QT3,
对次,安装QT3库
apt-get install libqt3-headers libqt3-mt-dev
apt-get install libqt3-compat-headers
到此,执行make xconfig,即可
我们在更新CentOS或者Ubuntu的内核时,执行make menuconfig可能看如这样的错误:
*** Unable to find the ncurses libraries or the
*** required header files.
*** ‘make menuconfig’ requires the ncurses libraries.
***
*** Install ncurses (ncurses-devel) and try again.
解决办法如下:
CentOS:
yum install -y ncurses-devel
Ubuntu:
sudo apt-get insatll ncurses-dev