在ubuntu系统中,要编译内核,还需要安装一系列相应的工具才行。这篇文章,正是针对这一过程的一次记录,目标是可以通过make menuconfig 或 make xconfig 配置内核参数
我的做法是从make menuconfig开始
$make menuconfig
错误信息:
make[1]: *** [scripts/kconfig/dochecklxdialog] 错误 1
make: *** [menuconfig] 错误2
可以看出,是因为找不到 ncurses 导致的错误。那么尝试安装 ncurses
$sudo apt-get install ncurses
提示信息:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
读取状态信息... 完成
现在没有可用的软件包 ncurses , 但是它被其他的软件包引用了。
这可能意味着这个缺失的软件包可能已被废弃,
或者只能在其他发布源中找到
E: 软件包 ncurses 还没有可供安装的候选者
根据《 Compiling the Kernel - errors in make menuconfig ARCH=um》再试:
$sudo apt-get install libncurses*
选择Y继续执行,完成后,执行$sudo make menuconfig,OK!!!
进行到这,已经可以通过make menuconfig看到内核参数配置了。不过,如果要用X11模式的makexconfig,却还是不行的
$ sudo make xconfig
错误信息:
*
* Unable tofind 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.
*
sed < scripts/kconfig/lkc_proto.h> scripts/kconfig/lkc_defs.h's/P(\([^,]*\),.*/#define \1 (\*\1_p)/'
make[1]: *** 没有规则可以创建“scripts/kconfig/qconf.o”需要的目标“scripts/kconfig/.tmp_qtcheck” 。 停止。
make: ***[xconfig] 错误2
除了安装ncurses外,还要安装build-essential 和 kernel-package
看一下安装好了没
$ apt-cache policy
kernel-package
提示信息:
kernel-package:
这个信息就简单多了,没有安装!那么开始安装吧
$ sudo apt-get install kernel-package
提示信息:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
使用'apt-get autoremove'来删除它们
将会安装下列额外的软件包:
建议安装的软件包:
下列【新】软件包将被安装:
升级了 0 个软件包,新安装了 7 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 4,213kB 的软件包。
解压缩后会消耗掉 14.2MB 的额外空间。
您希望继续执行吗?[Y/n]y
选Y吗?当然,不然做这一步干么!
然后轮到build-essential
查询安装状态
$ apt-cache policy build-essential
提示信息:
build-essential:
已经安装了,没有安装的话输入如下命令:
$ sudo apt-get install
build-essential
待build-essential完成安装后,运行makexconfig,错误信息还和之前一样,我知道,我还是没有完成除错任务。注意到上面我用红色标注的错误提示,没有安装QT3
安装QT库
$ sudo apt-get install libqt3-headers libqt3-mt-dev
注意这里把libqt3-headers和libqt3-mt-dev一起安装了。我试过两个分开安装,但好像关联不好,装好一个要卸掉另一个,总是这样。后来我火大,两个一起装,看你们还闹,果然就安分了
提示信息:
正在读取软件包列表... 完成
正在分析软件包的依赖关系树
正在读取状态信息... 完成
下列软件包是自动安装的并且现在不需要了:
使用'apt-get autoremove'来删除它们
将会安装下列额外的软件包:
建议安装的软件包:
下列【新】软件包将被安装:
升级了 0 个软件包,新安装了 60 个软件包,要卸载 0 个软件包,有 0 个软件包未被升级。
需要下载 18.7MB 的软件包。
解压缩后会消耗掉 50.9MB 的额外空间。
您希望继续执行吗?[Y/n]y
选Y安装后,再安装建议软件包
$ sudo apt-get install libqt3-compat-headers
执行
$sudo make xconfig
OK!!!
到此为止,不管是make config 或是 make menuconfig 再或是 make xconfig都可以运行了。