Cygwin 介绍 安装 基本使用 交叉编译vivi kernel

         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 ”生成内核啦。
相关文章
相关标签/搜索