Cygwin
安装
基本使用
交叉编译
vivi kernel
引言:
初学
linux
时,须要转换系统是最头疼得事,由于
windows
和
linux
各有优势,各有用途,因此只能麻烦的在二者之间切换,反复的重启。开机时也麻烦,由于初学者大多数使用
windows
,装了
linux
后,开机会自动启动
linux(
固然,能够经过在安装过程当中设置或按装结束后修改相应文件来决定启动时先引导哪一个系统
)
,想进入
windows
还要坐在电脑旁死等。
Cygwin
刚好解决了这个问题。
介绍:
1 .cygwin
是
windows
平台上运行的
unix
模拟环境,它对于学习
unix/linux
操做环境,或者从
unix
到
windows
的应用程序移植,或者进行某些特殊的开发工做,尤为是使用
gnu
工具集在
windows
上进行嵌入式系统开发,很是有用。
特色:
1.
cygwin
只是模拟一个
unix
的环境有助于初学者学习,如今也能够在
windows
下开发一些程序。但他所支持的命令没有新版本的
LINUX
多,它是一个不是很完整的
UNIX
系统。
2.
vmware,qemu
等虚拟机软件,以
vmware
为例,是先在
windows
中安装
vmware
虚拟机
,
再在
vmware
虚拟机上面用
linux
光盘或
iso
镜像安装完整的
linux
系统,
vmware
功能是虚拟一个
cpu
。与用虚拟机相比,
Cygwin
自己就是
linux
在
windows
环境下的部分替代物,占用资源相对较少,同时功能与
“
真实感
”
也更小,还有些不完善之处。
下载与安装:
1
.
解释:
原本安装个软件是个很简单的事情,不过初次接触
cygwin.
每每有不少人折腾了很多天才搞定。主要是缘由是:咱们以往在
windows
上装个软件,一般只是在网上下载个
setup.exe
安装包
,
而后就能够在没有网络的状况下,双击
setup.exe,
随时就能够安装啦。
Cygwin
也是要下载一个
setup.exe,
不过这个
setup.exe
可不是安装包,而只是用来下载和定制安装包的,下载定制完成后,才是真正的安装(就没必要须要网络啦),待会儿就明白啦。
2
.
下载安装:
登录
:[url]http://www.cygwin.com[/url] ,
点击“
install Cygwin Now
”先
下载个
安装向导文件
setup.exe
,这个是
Cygwin
的官方下载安装向导文件,并且也只能经过它才能正确下载最新的
Cygwin
版本
。双击“
setup.exe
”
,
出现以下界面(图略)
点
击“下一步”,出现三个选项,即三种安装方式:
(1) Install from Internet
:直接从
Internet
上下载并当即安装(安装完成后,下载好的安装文件并不会被删除,而是仍然被保留,以便下次再安装)。
(
2
)
Download Without Installing
:只是将安装包下载到本地,但暂时不安装。
(
3
)
Install from Local Directory
:不下载安装文件,直接从本地某个含有安装文件的目录进行安装(得保证你的计算机上已经用
setup.exe
在网上下载了安装包)。
第一次确定不选选项(
3
)。选项(
1
)最费时间,若是网速
20kb/s ,
得一天多才搞好,不过最省事,第一次不知如何办,我选最稳妥的方式:选项(
1
),一个流程搞定。其实选项(
2
)也得很长时间。因此不管如何保证你能连续上网一成天啊,不过就别在计算机面前一直坐着死等了,干点别的事去吧。选择完成后,点击“下一步”。出现
root Directory(
根目录安装处,即肯定要把
cygwin
安装在何处,得保证至少有
5G
空闲空间
)
,点击右侧“
Browse
。。。”
选择你要把
cygwin
安装在何处,我装在
f
盘啦。其它默认就行啦。
肯定后单击“下一步”。出现下面界面,肯定要把安装包(就是用
setup.exe
下载下来的安装包,用来真正安装
cygwin
模拟环境的那个安装包)放在哪一个地方,以备之后用于直接安装
cygwin
模拟环境。确认方式和上面同样,我将之放在
f
盘本身创建的一个文件夹
cygwinset
中。
肯定
后单击“下一步”,出现以下界面。出现三种链接方式,
(
1
)
Direct Connection
:直接链接。
(
2
)
Use IE5 Settings
:使用
IE
的链接参数设置进行链接。
(
3
)
Use HTTP/FTP Proxy
:使用
HTTP
或
FTP
代理服务器进行链接(须要输入服务器地址和端口号)。
直接默认选择:选项(
1
)就行啦,直接单击“下一步”,稍等片刻出现以下界面:(图略)
界面中列出多个下载站点,我是选的默认项,(必定记住你选择的站点),可能下载速度有不一样吧,直接“下一步”。
安装向导正从下载镜像站点上获取压缩过的安装列表文件,片刻便出现以下界面,即安装列表文件界面。
能够看到
“
all
”
后面有个“
Default
”
字符
,
即为默认安装
,
单击”
default
”可依次变为”
install
”
,
“
reinstall
”
;
”
reinstall
”先不用管,“
Default
“默认安装时不少如
vivi,gcc
等都不会被安装,单击“
all
”
后面“
Default
”成为”
install
“,所有安装便可。出现以下界面:
单击”下一步“就好好等着吧,我用了一天左右。
安装完毕后,最后一个界面提示是否创建桌面快捷方式,直接打“
\/
“就成,而后”肯定“就完全完工啦。个人
f
盘的
cygwinset
文件夹中看到名为”
ftp%3a%2f%2fcygwin.dp.ua%2fpub%2fmirrors%2fcygwin
“安装包,你的多是”
http%3a%2f%
。。。。。“无所谓啦,留着之后安装用。
双击桌面 图标
进入
cygwin
虚拟环境。
若是下载安装不顺利,如出现
“down incomplete,Try again? ”
提示符。或者在某一进度卡住不动,
则可点击“取消“,而后从新点击
setup.exe
重复上面动做,不过有两个关键动做:一是在选择下载网站时要选择同一个网址,以下界面
(
这就是上面建议要记住网址的缘由
.)
第二个关键动做:安装方式时选择,选择”
Reinstall
“,而不是”
install
“啦,
这样单击“下一步”就可从原来的进度继续下载安装。不然将从零开始啦。。
使用:
在使用
cygwin
虚拟环境以前要设置一下环境变量
PATH
。
PATH
变量被
cygwin
应用程序做为搜索可知性文件的路径列表
.
若是想在不运行
bash
的时候也可以使用
cygwin
工具集,
PATH
起码应该包含
x:\cygwin\bin
,其中
x:\cygwin
是你的系统中的
cygwin
目录。例如个人则是
f
:
\cygwin.
则
PATH=f:\cygwin\bin.
设置方法以下:
1.
打开
windows
系统属性对话框,点击“高级”
—
》
”
环境变量
”
,打开环境变量设置窗口。
2.
点击用户环境变量窗口的“新建”,就是上边那个。出现以下新建用户环境变量界面:输入以下
单击“肯定”,好啦,如今可使用啦,双击桌面图标
进入
cygwin
。
1.
最早想作的是,查看
windows
的内容。
输入指令“
mount
”
$mount
出现能查看的全部目录》》
主机上的
c
盘
对应
/cygdrive/c
想查看
c
盘,输入指令:
$cd /cygdrive/c
要查看
c
盘内容:
$ls
对
d ,e, f
盘查看,同理
Cygwin
经常使用指令与
linux
下基本一致,请自行查阅。不过个人
cygwin
能查看文件,没法编辑文件,
vi
后,键盘输入不正常。只能在
windows
下创建。在
windows
下创建的
c
文件是能够在
cygwin
下编译和运行的。
插入一个小问题:再查看
windows
的文件时,有些文件名
两个
单词之间有空格。
查看时
可在中间插入“
\
”。例如想查看
c
盘的
Program Files
文件夹,先进入
c
盘而后指令以下:
$cd Program\ Files
便可。
交叉编译
vivi
,
kernel
:
1.
安装
arm-linux-gcc
交叉编译环境:
(1)
先在
X:\cygwin
下创建个文件夹如:
opt
。
(2)
将
arm-linux-gcc
的压缩包解压在
opt
中。个人是
arm-linux-toolchains_cygwin.tgz
$cd opt
$tar zxvf arm-linux-toolchains_cygwin.tgz
Opt
目录出现
FriendlyARM
目录,内为交叉编译工具源码。
修改启动脚本
/etc/profile
文件
(
可在
Windows
中用文本编
X:\cygwin\etc\profile)
中的
PATH
环境变量为
PATH=/usr/local/bin:/usr/bin:/bin:/usr/X11R6/bin:/opt/FriendlyARM/crosstool/arm-linux/gcc-2.95.3-glibc-2.2.3/bin:$PATH
能够鼠标点击相应目录查看一下,感觉更直观。
输入命令:“
arm-linux-gcc –v
”
确认是否安装成功
2.
编译
vivi
:
因为
VIVI
要用到
kernel
的一些头文件,因此须要
kernel
的源代码,将
vivi
和
kernel
都压到
/FriendlyARM
下
而后需修改
/friendly-arm/vivi/Makefile
里的一些变量设置
LINUX_INCLUDE_DIR = /friendly-arm/kernel/include
CROSS_COMPILE = arm-linux-
ARM_GCC_LIBS=/opt/FriendlyARM/crosstool/arm-linux/gcc-2.95.3-glibc-2.2.3/lib/gcc-lib/arm-linux/2.95.3
听说为确保编译的有效性,最好在编译以前将
vivi
里全部的
“*.o”
和
“*.o.flag”
删的掉,不过我没找到,也就没管。
进入
/FriendlyARM/vivi
目录里,输入
“make menuconfig”
,开始选择配置。注意
Exit
时必定要选
“Yes”
保存配置。
再输入
“make”
正式开始编译,一下子就完了。若是不报错,在
FriendlyARM/vivi
里面就有你本身的
“vivi”
了。
3.
编译
kernel
:
kernel
的源程序在上面编译
vivi
时已经解到
/friendly-arm/kernel
中了。由于这个程序包已在
linux
中编译过
,有一些中间和目标代码和
Cygwin
是不兼容的。必须先处理一下,不然不能正常进行编译。
进入
/friendly-arm/kernel
目录,能够输一下
“make menuconfig”
试试。结果提示出错。这是因为配置脚本已在
Linux
中编译过,在
scripts/lxdialog
里产生了一个
Linux
下的可执行程序
lxdialog
。在
Cygwin
里这是个坏东西,它既不能执行,还会阻止可执行程序的生成。必须把它删掉
,
目录以下:
/FriendlyARM/kernel/scripts/lxdialog/lxdialog
顺便把同一文件下的全部
.o
文件也都删除,看准啦,别把
.c
源文件删啦!
再执行
“make zImage”
应该能够完成编译了。若是出现以下提示:
make: *** No rule to make target `/friendly-arm/kernel/include/asm/arch/param.h', needed by `/friendly-arm/kernel/include/asm/param.h'. Stop.
则
先“
make dep
”
再
“
make zImage
”
等一下子,就会在
//FriendlyARM/kernel/arch/arm/boot
目录里会生成你编译的
zImage
。
顺便提示一下:
有时候
cygwin
会出现显示不彻底现象,好比“
make dep
”
后,就可能出现,不用管,只要
make dep
一段时间,屏幕不动,
ls
能使用,就直接输入“
make zImage
”生成内核啦。