如何 make menuconfig 和 make xconfig_linux make xconfig-程序员宅基地

技术标签: 嵌入式linux  ARM  

在ubuntu系统中,要编译内核,还需要安装一系列相应的工具才行。这篇文章,正是针对这一过程的一次记录,目标是可以通过 make menuconfig 或 make xconfig 配置内核参数
--------------------------------------------------------------
参考
apt用法参考 《 
UbuntuHelp:AptGet/Howto

内核编译参考 《 
配置并编译内核[更新到linux-2.6.26.2]

《 
Master Kernel Thread

--------------------------------------------------------------
我的做法是从make menuconfig开始
$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. ***make[1]: *** [scripts/kconfig/dochecklxdialog] 错误 1make: *** [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*
提示信息:
正在读取软件包列表... 完成正在分析软件包的依赖关系树读取状态信息... 完成注意,根据正则表达式“libncurses*” 选中了 libncurses4注意,根据正则表达式“libncurses*” 选中了 libncurses5注意,根据正则表达式“libncurses*” 选中了 libncurses-ruby1.8注意,根据正则表达式“libncurses*” 选中了 libncurses-ryby1.9注意,根据正则表达式“libncurses*” 选中了 libncurses-dev注意,根据正则表达式“libncurses*” 选中了 libncursesw5-dbg注意,根据正则表达式“libncurses*” 选中了 libncursesw5-dev注意,根据正则表达式“libncurses*” 选中了 libncurses-ruby注意,根据正则表达式“libncurses*” 选中了 libncurses5-dbg注意,根据正则表达式“libncurses*” 选中了 libncurses5-dev注意,根据正则表达式“libncurses*” 选中了 libncursesw5已经不需要下列自动安装的软件包:  libchewing3-data ttf-wqy-zenhei scim-chewing thunderbird-locale-zh-tw language-support-translations-zh  libchewing3 xfonts-wqy openoffice.org-l10n-zh-cn openoffice.org-l10n-zh-tw openoffice.org-help-zh-cn  openoffice.org-help-zh-tw language-support-fonts-zh使用‘apt-get autoremove’ 来删除它们。将会安装下列额外的软件包:  libncurses-ruby libncurses-ruby1.8 libncurses-ruby1.9 libncurses4 libncurses5-dbg libncurses5-dev  libncursesw5-dbg libncursesw5-dev libruby1.8 libruby1.9 ruby1.8 ruby1.9建议安装的软件包:  rdoc1.8 ri1.8 ruby1.8-examples rdoc1.9 ri1.9 ruby1.9-examples下列【新】软件包将被安装:  libncurses-ruby libncurses-ruby1.8 libncurses-ruby1.9 libncurses4 libncurses5-dbg libncurses5-dev  libncursesw5-dbg libncursesw5-dev libruby1.8 libruby1.9 ruby1.8 ruby1.9共升级了0个软件包,新安装了12个软件包,要卸载0个软件包,有60个软件未被升级。需要下载8868kB的软件包。操作完成后,会消耗掉33.9MB的额外磁盘空间。您希望继续执行吗?[Y/n]
选择Y继续执行,完成后,执行$sudo make menuconfig,OK!!!
进行到这,已经可以通过make menuconfig看到内核参数配置了。不过,如果要用X11模式的make xconfig,却还是不行的
$ sudo make xconfig
错误信息:
HOSTCC  scripts/basic/fixdep  HOSTCC  scripts/basic/docproc  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/conf.osed  scripts/kconfig/lkc_defs.h \"s/P(\([^,]*\),.*/#define \1 (\*\1_p)/\"  HOSTCC  scripts/kconfig/kconfig_load.o  HOSTCC  scripts/kconfig/kxgettext.o  SHIPPED scripts/kconfig/zconf.tab.c  SHIPPED scripts/kconfig/lex.zconf.c  SHIPPED scripts/kconfig/zconf.hash.c  HOSTCC  scripts/kconfig/zconf.tab.omake[1]: *** 没有规则可以创建“scripts/kconfig/qconf.o” 需要的目标“scripts/kconfig/.tmp_qtcheck” 。 停止。make: ***[xconfig] 错误2
根据《 
配置并编译内核[更新到linux-2.6.26.2]
》知道在正常步骤下,除了安装ncurses外,还要安装build-essential 和 kernel-package
好吧,先开始查询一下,从kernel-package开始吧,毕竟带着kernel,估计比较重要
查询kernel-package信息
$ apt-cache show kernel-package
Package: kernel-packagePriority: optionalSection: miscInstalled-Size: 2192Maintainer: Ubuntu Core Developers Original-Maintainer: Manoj Srivastava Architecture: allVersion: 11.001Depends: perl, dpkg (>= 1.4), dpkg-dev (>= 1.4.0.9), gcc | c-compiler, make (>= 3.80-10), po-debconf, gettext, fileRecommends: libc6-dev | libc-dev, bzip2Suggests: linux-source | kernel-source, libdb3-dev, libncurses-dev, docbook-utilsFilename: pool/main/k/kernel-package/kernel-package_11.001_all.debSize: 510452MD5sum: fd820c2e3970fc8d300aef4a2b9e15caSHA1: 34924f84fe4cd604869bf4717d4c0230b3117291SHA256: 3ff71a3e2e69d5073310e8e83fc982baefec983af7139ed7cc7a4ce6cf42c38aDescription: 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: mailto:[email protected]: Ubuntu
好多信息,不知道能不能看得懂,算了,看一下安装好了没
$ apt-cache policy  kernel-package
提示信息:
kernel-package:  已安装: (无)  候选的软件包:11.001  版本列表:   11.001 0     500 http://cn.archive.ubuntu.com hardy/main Packages    9.001ubuntu15 0      500 http://ubuntu.cn99.com dapper/main Packages
这个信息就简单多了,没有安装!那么开始安装吧
$ sudo apt-get install kernel-package
提示信息:
正在读取软件包列表... 完成正在分析软件包的依赖关系树读取状态信息... 完成已经不需要下列自动安装的软件包:  libchewing3-data ttf-wqy-zenhei scim-chewing thunderbird-locale-zh-tw language-support-translations-zh  libchewing3 xfonts-wqy openoffice.org-l10n-zh-cn openoffice.org-l10n-zh-tw openoffice.org-help-zh-cn  openoffice.org-help-zh-tw language-support-fonts-zh使用‘apt-get autoremove’ 来删除它们。将会安装下列额外的软件包:  dpkg-dev gettext intltool-debian libtimedate-perl patch po-debconf建议安装的软件包:  debian-keyring cvs gettext-doc linux-source kernel-source libdb3-dev docbook-utils diff-doc推荐安装的软件包:  build-essential libmail-sendmail-perl libcompress-zlib-perl libmail-box-perl下列【新】软件包将被安装:  dpkg-dev gettext intltool-debian kernel-package libtimedate-perl patch po-debconf共升级了0个软件包,新安装了7个软件包,要卸载0个软件包,有60个软件未被升级。需要下载3436kB的软件包。操作完成后,会消耗掉12.8MB的额外磁盘空间。您希望继续执行吗?[Y/n]
选Y吗?当然,不然做这一步干么!
然后轮到build-essential
查询build-essential信息
$ apt-cache show build-essential
提示信息:
Package: build-essentialPriority: optionalSection: develInstalled-Size: 48Maintainer: Ubuntu Core Developers Original-Maintainer: Matthias Klose Architecture: i386Version: 11.3ubuntu1Depends: libc6-dev | libc-dev, gcc (>= 4:4.1.1), g++ (>= 4:4.1.1), make, dpkg-dev (>= 1.13.5)Filename: pool/main/b/build-essential/build-essential_11.3ubuntu1_i386.debSize: 7066MD5sum: dbf21241506cb04fc6f67a93aaaf991bSHA1: aef5b9f76a05ea23c0370eab53ef0d20b4dac1f5SHA256: 7d3b5efbd44c8e8186e33e3b0e9585fc8a86f4b1cd328f10e3c4a594e50f9da5Description-zh_CN: 编译程序必须软件包的列表信息  如果您 不打算编译Debian软件包,就不需要安装此软件包。而且要编译Debian软件包,此软件包也不是必须的。  本软件包包含一个列表,表中列出了在编译Debian软件包时所必须的软件包。本软件包依赖于列表中的软件,这样,安装编译程序必须的软件包就会很简单。  如果安装了此软件包,在编译软件包时,你只需要安装其特别要求的编译时依赖关系。反过来说,在确定软件包的依赖关系的时候,您 完全可以忽略此软件包所依赖的这些包。  本软件包并不是定义那些软件包是编译必须的;真正的定义在Debian策略手册中。本软件包仅包含一个大家都需要的列表。然而,如果此软件包和手册发生冲突,以手册为准。Bugs: mailto:[email protected]: Ubuntu
查询安装状态
$ apt-cache policy build-essential
提示信息:
build-essential:  已安装:(无)  候选的软件包:11.3ubuntu1  版本列表:     11.3ubuntu1 0        500 http://cn.archive.ubuntu.com hardy/main Packages     11.1 0        500 http://ubuntu.cn99.com dapper/main Packages
没有安装,那装上吧
$ sudo apt-get install  build-essential
正在读取软件包列表... 完成正在分析软件包的依赖关系树读取状态信息... 完成已经不需要下列自动安装的软件包:  libchewing3-data ttf-wqy-zenhei scim-chewing thunderbird-locale-zh-tw language-support-translations-zh  libchewing3 xfonts-wqy openoffice.org-l10n-zh-cn openoffice.org-l10n-zh-tw openoffice.org-help-zh-cn  openoffice.org-help-zh-tw language-support-fonts-zh使用‘apt-get autoremove’ 来删除它们。将会安装下列额外的软件包:  g++ g++-4.2 libstdc++6-4.2-dev建议安装的软件包:  g++-multilib g++-4.2-multilib gcc-4.2-doc libstdc++6-4.2-dbg libstdc++6-4.2-doc下列【新】软件包将被安装:  build-essential g++ g++-4.2 libstdc++6-4.2-dev共升级了0个软件包,新安装了4个软件包,要卸载0个软件包,有60个软件未被升级。需要下载3979kB的软件包。操作完成后,会消耗掉15.0MB的额外磁盘空间。您希望继续执行吗?[Y/n]
待build-essential完成安装后,运行make xconfig,错误信息还和之前一样,我知道,我还是没有完成除错任务。注意到上面我用红色标注的错误提示,没有安装QT3
安装QT库
$ sudo apt-get install libqt3-headers libqt3-mt-dev
注意这里把libqt3-headers和libqt3-mt-dev一起安装了。我试过两个分开安装,但好像关联不好,装好一个要卸掉另一个,总是这样。后来我火大,两个一起装,看你们还闹,果然就安分了
提示信息:
正在读取软件包列表... 完成正在分析软件包的依赖关系树读取状态信息... 完成已经不需要下列自动安装的软件包:  libchewing3-data ttf-wqy-zenhei scim-chewing thunderbird-locale-zh-tw language-support-translations-zh  libchewing3 xfonts-wqy openoffice.org-l10n-zh-cn openoffice.org-l10n-zh-tw openoffice.org-help-zh-cn  openoffice.org-help-zh-tw language-support-fonts-zh使用‘apt-get autoremove’ 来删除它们。将会安装下列额外的软件包:  comerr-dev libaudio-dev libcupsys2-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev  libgl1-mesa-dev libglu1-mesa-dev libgnutls-dev libgnutlsxx13 libgpg-error-dev libice-dev libjpeg62-dev  libkadm55 libkrb5-dev liblcms1-dev liblzo2-dev libmng-dev libopencdk10-dev libpng12-dev libpthread-stubs0  libpthread-stubs0-dev libsm-dev libtasn1-3-dev libx11-dev libxau-dev libxcb-xlib0-dev libxcb1-dev  libxcursor-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev libxinerama-dev libxmu-dev  libxmu-headers libxrandr-dev libxrender-dev libxt-dev mesa-common-dev x11proto-core-dev x11proto-fixes-dev  x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev x11proto-xext-dev  x11proto-xinerama-dev xtrans-dev建议安装的软件包:  doc-base libgcrypt11-doc gnutls-bin gnutls-doc krb5-doc libqt3-i18n qt3-doc推荐安装的软件包:  libqt3-compat-headers下列【新】软件包将被安装:  comerr-dev libaudio-dev libcupsys2-dev libexpat1-dev libfontconfig1-dev libfreetype6-dev libgcrypt11-dev  libgl1-mesa-dev libglu1-mesa-dev libgnutls-dev libgnutlsxx13 libgpg-error-dev libice-dev libjpeg62-dev  libkadm55 libkrb5-dev liblcms1-dev liblzo2-dev libmng-dev libopencdk10-dev libpng12-dev libpthread-stubs0  libpthread-stubs0-dev libqt3-headers libqt3-mt-dev libsm-dev libtasn1-3-dev libx11-dev libxau-dev  libxcb-xlib0-dev libxcb1-dev libxcursor-dev libxdmcp-dev libxext-dev libxfixes-dev libxft-dev libxi-dev  libxinerama-dev libxmu-dev libxmu-headers libxrandr-dev libxrender-dev libxt-dev mesa-common-dev  x11proto-core-dev x11proto-fixes-dev x11proto-input-dev x11proto-kb-dev x11proto-randr-dev x11proto-render-dev  x11proto-xext-dev x11proto-xinerama-dev xtrans-dev共升级了0个软件包,新安装了53个软件包,要卸载0个软件包,有60个软件未被升级。需要下载8933kB的软件包。操作完成后,会消耗掉33.0MB的额外磁盘空间。您希望继续执行吗?[Y/n]
选Y安装后,再安装建议软件包
$ sudo apt-get install libqt3-compat-headers
执行
$sudo make xconfig
OK!!!
到此为止,不管是make config 或是 make menuconfig 再或是 make xconfig 都可以运行了。
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/z1179675084/article/details/8670905

智能推荐

STM32基础学习_32单片机学习资料-程序员宅基地

文章浏览阅读2.5k次,点赞3次,收藏22次。P3 串口电路一键下载原理分析上拉电路三极管b为基极,c为集电极,e为发射极作开关使用时,NPN型三极管:b接低电平,则电路截止,b接高电平则电路饱和导通;PNP型三极管:b接高电平,则电路截止,b接低电平则电路饱和导通P5 初识STM32PCB打样选择深圳嘉立创公司引脚顺序:从黑点开始逆时针旋转为正方向写好的程序编译之后都是一条条指令,存放在 FLASH中,内核要读取这些指令来执行程序就必须通过 ICode 总线..._32单片机学习资料

RxJava源码分析之subscribeOn和observeOn_subscribeon observeon-程序员宅基地

文章浏览阅读6.1k次,点赞2次,收藏4次。RxJava源码分析之subscribeOn和observeOnRxJava的特色就是可以改变他的任务线程,可以很优雅的在子线程和主线程中切换,而切换用到的两个主要方法是subscribeOn()和observeOn().备注:因本人水平有限,以下分析只代表本人所见,如有不当,请见谅并指出。subscribeOn()和observeOn()的区别subscr_subscribeon observeon

『SQLServer系列教程』——IF/WHILE/CASE逻辑控制语句用法_sqlserver if用法-程序员宅基地

文章浏览阅读1.6k次,点赞4次,收藏19次。读完这篇文章里你能收获到:1 学会SQLServer中IF/WHILE/CASE逻辑控制语句用法,2 提供实际操作的案例SQL脚本_sqlserver if用法

Postman—命令行执行脚本及生成报告(postman+Newman+Jenkins)_postman 命令行-程序员宅基地

文章浏览阅读720次。Postman—命令行执行脚本、生成报告、Jenkins持续集成_postman 命令行

今年Java面试必问的这些技术面,看完这一篇你就懂了_java初级面试必问项目技术-程序员宅基地

文章浏览阅读626次。前言众所周知,Java开发人员的生存环境可谓是与以前大相径庭,以IT行业发展来说,在十几年前的时候,IT行业的技术人才是稀缺的,程序员最初的招聘行情,只要你会敲“holle world”、会点技术,能做出点东西,就能入职月薪过万的大厂岗位。而到了今年2021年,初级人才已经不稀缺了。“IT初级人才招聘市场上”除了每年新入行的人,还有几年内、大几年内入行后技术没有进步的人,这些人被辞退、或跳槽找工作,找的也是“IT初级程序员”岗位……以互联网巨头阿里的招聘信息来看,首先对于工作经验有一定的要求,在我看来_java初级面试必问项目技术

开大计算机应用基础本科,(2021更新)最新国家开放大学电大本科《计算机应用基础》网络课网考形考作业三试题及答案...-程序员宅基地

文章浏览阅读2.2k次。《(2021更新)最新国家开放大学电大本科《计算机应用基础》网络课网考形考作业三试题及答案》由会员分享,可在线阅读,更多相关《(2021更新)最新国家开放大学电大本科《计算机应用基础》网络课网考形考作业三试题及答案(6页珍藏版)》请在人人文库网上搜索。1、最新国家开放大学电大本科计算机应用基础网络课网考形考作业三试题及答案盗传必究形考作业三一、单选题1在Excel的一个工作表上的某一单元格中,若要..._学习过程表现(教学单位规定的考核内容,权重10%

随便推点

40个值得你关注的jQuery插件_jquery 页面可视控制插件-程序员宅基地

文章浏览阅读413次。jQuery开发者社区应该是网站开发中最勤奋和活跃的社区之一了。他们源源不断的为我们提供免费而又实用的插件。我把最近搜集到的40个非常实用的插件分享给大家。 一、滚动插件jQuery WaypointsWaypoints 是一个 jQuery 用来实现捕获各种滚动事件的插件,例如实现无翻页的内容浏览,或者固定某个元素不让滚动等等。支持主流浏览器版本。 _jquery 页面可视控制插件

GD32芯片包下载和安装教程-程序员宅基地

文章浏览阅读1.5w次,点赞30次,收藏62次。芯片包1. 下载芯片包官方下载链接:http://www.keil.com/dd2/pack/这次安装的是GD32F30x系列的芯片包将芯片包下载到Keil_5的安装根目录下。2. 安装芯片包双击芯片包.pack文件点击Next安装中。。。点击Finish完成打开Keil_5新建工程,芯片包已经安装好了。..._gd32芯片包

计算机理论参考文献,计算机理论英文参考文献 计算机理论论文参考文献哪里找...-程序员宅基地

文章浏览阅读378次。【100个】计算机理论英文参考文献供您参考,希望能解决毕业生们的计算机理论论文参考文献哪里找相关问题,整理好参考文献那就开始写计算机理论论文吧!一、计算机理论论文参考文献范文[1]抑制OFDM信号峰均比的PTS算法分析与优化.胡茂凯.陈西宏.刘强,2011陕西省电子学会“信息感知与三网融合”前沿技术学术研讨会[2]基于有性繁殖的小生境遗传算法与多峰函数优化.田玉龙.吴清.赵卫国,2007第18届全..._计算机取证英语文献

flutter启动错误:Error connecting to the service protocol: HttpException: Connection closed before full h_flutter error: httpexception: invalid proxy config-程序员宅基地

文章浏览阅读1.8k次。报错:Error connecting to the service protocol: HttpException: Connection closed before full header was received, uri = http://127.0.0.1:52491/Z2UadkBDgn8=/ws原因:可能是因为android版本太高,从Q换成P就可以了我用的f..._flutter error: httpexception: invalid proxy configuration proxy null:null, i

戴尔服务器液晶屏显示COG02O,已解决: T140/T340/T440/T640/R240/R340/R440/R540/R640/R740/R840/R940/M640 服务器LCD液晶屏操作方法...-程序员宅基地

文章浏览阅读768次。Polaris(14G)服务器前面板的LCD液晶屏该如何使用呢?(PS:Polaris服务器前面板的LCD液晶屏是选配部件,如果没有加配则没有LCD液晶显示屏)首先,给大家解释下每个按钮的功能:只有三个按钮,操作是不是很简单呀,具体有哪些强大的功能大家可以在官网下载对应机型的手册具体查看下面举两个常用的例子:1、查看报错信息服务器前面板LCD显示屏如果是黄色的话,此时LCD液晶屏会滚动报错信息,我..._戴尔服务器t640 配显示器

晶体封装越小esr越大_晶振与晶体的参数详解-程序员宅基地

文章浏览阅读426次。1. 晶振与晶体的区别1) 晶振是有源晶振的简称,又叫振荡器。英文名称是oscillator。晶体则是无源晶振的简称,也叫谐振器。英文名称是crystal.2) 无源晶振(晶体)一般是直插两个脚的无极性元件,需要借助时钟电路才能产生振荡信号。常见的有49U、49S封装。3) 有源晶振(晶振)一般是表贴四个脚的封装,内部有时钟电路,只需供电便可产生振荡信号。一般分7050、5032、3225、252..._晶体 电阻 大小

推荐文章

热门文章

相关标签