【背景】

折腾:

期间,已用make xxxx_defconfig调用默认配置:

此处,接着去:

make menuconfig

去确认和修改配置。

【折腾过程】

1.去make menuconfig,结果出现“scripts/kconfig/lxdialog/checklist.o:checklist.c:(.text+0x31): undefined reference to `wmove’”的错误:

2.虽然解决了上面的问题,接着又出现了“scripts/kconfig/mconf: scripts/kconfig/mconf: cannot execute binary file”的错误:

3.此处,可以make menuconfig之后,再去参考:

去确认一下配置。

此处,还是和之前一样,什么配置都没改。使用原先别人的那个配置。

【总结】

此处,使用make menuconfig,出现一堆错误,其最终的解决办法还是:

所总结的,再次强调一遍:

此处,在Cygwin下,交叉编译Linux内核时,在make menuconfig时候出现:scripts/kconfig/mconf: scripts/kconfig/mconf: cannot execute binary file

的错误时,

原因是:

之前的linux源码linux-2.6.19.1.tar.bz2,是别人已经在别的某个Linux平台下,交叉编译OK之后的。

所以,此处解压后,得到的源码,其中包含了,之前别人在其Linux下,

在make whgs_defconfig

(此处,应该和是否加ARCH和CROSS_COMPILE是无关的,即,make ARCH=arm CROSS_COMPILE=arm-xscale-linux-gnueabi- whgs_defconfig

也会遇到同样的问题)

时候,所生成的

scripts/basic/fixdep

scripts/kconfig/conf

以及:

在make menuconfig

(此处,应该和是否加ARCH和CROSS_COMPILE是无关的,即,make ARCH=arm CROSS_COMPILE=arm-xscale-linux-gnueabi- menuconfig

也会遇到同样的问题)

时候,所生成的

scripts/kconfig/mconf

这些文件,都是“for GNU/Linux”的,无法在当前的Cygwin下运行,所以导致出现:

上述三个文件,无法运行的问题:/bin/sh: scripts/basic/fixdep: cannot execute binary file

scripts/kconfig/conf: scripts/kconfig/conf: cannot execute binary file

scripts/kconfig/mconf: scripts/kconfig/mconf: cannot execute binary file

解决办法是:

(1)对于原先的源码linux-2.6.19.1.tar.bz2,解压后,先去坐一次彻底清除:make mrproper

然后手动再删除make mrproper没有删除掉的scripts/kconfig/mconf

然后,后续的:make whgs_defconfig

和make menuconfig

就不会出现:scripts/xxx/xxx: scripts/xxx/xxx: cannot execute binary file

的问题了。

内部逻辑是:

cygwin下,当去运行:scripts/basic/fixdep

scripts/kconfig/conf

scripts/kconfig/mconf

时,会自动找到,对应的scripts/basic/fixdep.exe

scripts/kconfig/conf.exe

scripts/kconfig/mconf.exe

而此三个exe文件,都是“for MS Windows”,都是可以在Cygwin下运行的。

所以就解决了不能运行的问题。

(2)而对于另外的问题:scripts/kconfig/conf.o:conf.c:(.text+0x1f): undefined reference to `libintl_gettext’

和:scripts/kconfig/lxdialog/checklist.o:checklist.c:(.text+0×31): undefined reference to `wmove’

原因是:

分别缺少了对应的库文件:intl和ncurses

解决办法是:

修改linux-2.6.19.1\scripts\kconfig\Makefile

加上对应的库,即,从:HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))

HOST_EXTRACFLAGS += -DLOCALE

改为:HOST_LOADLIBES = $(shell $(CONFIG_SHELL) $(check-lxdialog) -ldflags $(HOSTCC))

IS_CYGWIN=$(shell uname | grep -i cygwin > /dev/null 2>&1 && echo yes || echo no)

ifeq ($(IS_CYGWIN),yes)

HOST_LOADLIBES += -lintl -lcurses

endif

HOST_EXTRACFLAGS += -DLOCALE

即可解决此类问题。

提示:

我此处,给对应的库,加上软连接的做法:ln -s /usr/lib/libintl.a /usr/lib/libintl.so

ln -s /usr/lib/libncurses.a /usr/lib/libncurses.so

貌似是没有效果的,是无法解决上述问题的。

并且,此处暂时是没有改动原先的内核的配置的。

cygwin 编译linux内核,【记录】Cygwin下交叉编译Linux内核时用make menuconfig去确认和修改配置...相关推荐

  1. 嵌入式Linux开发,Ubuntu22下交叉编译内核报错: multiple definition of `yylloc‘; scripts/dtc/dtc-lexer.lex.o:(.bss+0x0

    一.问题描述 嵌入式Linux开发,Ubuntu22下交叉编译内核报错: /usr/bin/ld: scripts/dtc/dtc-parser.tab.o:(.bss+0x10): multiple ...

  2. cygwin安装linux教程,Cygwin,让你拥有Windows下的Linux环境

    如何在Windows下拥有Linux环境,大多数同学会选择安装虚拟机,无可厚非呀,这里推荐使用VirtualBox.至于怎么安装虚拟机什么哒就不在今天讨论的范畴啦~~ 但是,老哥的电脑吃不消这虚拟机呀 ...

  3. UE4在Windows系统下交叉编译Linux环境

    仅记录自己在交叉编译的过程中遇到的问题. 本文参考了youtube上的英文教程,可以自行观看.以及另一篇学习笔记. 环境:UE4.16,Windows 10,VS2017 1.在官方网站文档下载对应版 ...

  4. windows下学习linux,在Windows环境下学习Linux命令行的几种方法

    Linux高手通常将Windows工作平台的人鄙视得一无是处, 其实这完全没有必要.请不要装. 对于想进军linux的人来说, 学好linux命令行无疑是最基本的东西. 本文讲述如何在Windows环 ...

  5. vmware linux dns,vmware环境下在linux中创建dns服务器

    ① 检查是否成功安装dns需要的软件 ② 如果没有安装,就是用rpm命令安装,dns需要的软件主要在第二张安装盘上                  rpm -ivh 软件名 ③ 安装完毕后,开始配置 ...

  6. ming window 交叉编译_Golang在windows下交叉编译linux程序

    1.下载相关程序. Golang下载:http://www.golangtc.com/download Git下载:http://git-scm.com/download/ TDM-GCC下载:htt ...

  7. 打印服务器 linux,建立Windows环境下的Linux打印服务器

    一.前言 办公室用的打印机是HP彩色喷墨打印机,一直以来用的都是它,但是随着打印量的增加,发现购买墨盒是一笔不小的开支(买的全是原装的).随后弄了一台HP 3050的黑白激光打印机,以前的彩打带有网络 ...

  8. Linux 入门记录:六、Linux 硬件相关概念(硬盘、磁盘、磁道、柱面、磁头、扇区、分区、MBR、GPT)...

    一.硬盘 硬盘的功能相当简单但很重要,它负责记录系统所需要的各种数据.硬盘记录数据有两个方面,一个是硬件方面的存储原理和结构,另外一方面则是软件方面的数据和文件系统.硬盘的主要行为就是数据的存放和取出 ...

  9. Linux在标准指导下开发,Linux 简介

    UINX操作系统 UNIX 操作系统是美国贝尔实验室的Ken.Thompson(肯・汤普森)和Dennis Ritchie丹尼斯・里奇于1969 年夏在DEC PDP-7 小型计算机上开发的一个分时操 ...

最新文章

  1. MVVMLight绑定数据
  2. Ubuntu 17.04 壁纸设计大赛 已经开幕
  3. Linux实战 | 搭建Linux(CentOS6.8版)_1
  4. Java基础学习总结(134)——JDK 11 是否值得更新的思考
  5. SCVMM Self-Service Portal 2.0 SP1安装体验
  6. SAP EWM 根据物料号获得包装规格
  7. Linux下Socket编程的端口问题( Bind error: Address already in use )
  8. python-next
  9. Docker教程小白实操入门(4)--如何停止一个容器
  10. Sitemap和网站地图在线生成工具
  11. python draw函数_networkx draw函数的图例
  12. 中望CAD.NET二次开发(C#)_第01篇_环境搭建
  13. java中的double相乘-------保留精度
  14. 【P14】差分输入分立耳机放大器电路V22大改
  15. python堆栈溢出的原因_堆栈溢出一般是什么原因?
  16. 软件开发知识点基础介绍
  17. 几本经典的云计算方面的书籍下载-电子书下载
  18. R软件--GEO数据分析教程:差异性分析、富集分析(GO\KEGG\DO)
  19. 使用 ChatGPT 启发游戏创意|基于 AI 5 天创建一个农场游戏,第 2 天
  20. 单目视觉测距matlab,单目视觉测量系统误差分析.pdf

热门文章

  1. 一个功能完备的.NET开源OpenID Connect/OAuth 2.0框架——IdentityServer3
  2. Xcode 4 with External Static Library for iPhone Development
  3. 合格架构师的目标管理
  4. fetch的基本用法
  5. JavaScript算法(实例十)回文数 / 立方根 / 进制转化
  6. 相机标定(1)内\外参矩阵和畸变矩阵
  7. Judge Complex(判断-复杂)
  8. idea的terminal是一个终端命令行,你知道吗?
  9. 五年php面试题,找工作的你不容错过的45个PHP面试题附答案(下篇)
  10. 天地图怎么看历史图像_解密:看猪八戒是怎么由一头猪变成天蓬元帅的