初學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.下載安裝: 登陸:http://www.cygwin.com ,點擊“install Cygwin Now”先下載個安裝向導文件setup.exe,這個是Cygwin的官方下載安裝向導文件,而且也只能通過它才能正確下載最新的Cygwin版本 。雙擊“setup.exe”,出現如下界面
cygwin完全安裝步驟方法 www.crazycen.com
點擊“下一步”,出現三個選項,即三種安裝方式:
cygwin完全安裝步驟方法www.crazycen.com
(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盤啦。其它默認就行啦。
cygwin完全安裝步驟方法 www.crazycen.com
確定後單擊“下一步”。出現下面界面,確定要把安裝包(就是用setup.exe 下載下來的安裝包,用來真正安裝cygwin模擬環境的那個安裝包)放在哪個地方,以備以後用於直接安裝cygwin模擬環境。確認方式和上面一樣,我將之放在f盤自己建立的一個文件夾cygwinset中。
確定後單擊“下一步”,出現如下界面。出現三種連接方式,
(1)Direct Connection:直接連接。
(2)Use IE5 Settings:使用IE的連接參數設置進行連接。
(3)Use HTTP/FTP Proxy:使用HTTP或FTP代理服務器進行連接(需要輸入服務器地址和端口號)。
直接默認選擇:選項(1)就行啦,直接單擊“下一步”,稍等片刻出現如下界面:(圖略)
界面中列出多個下載站點,我是選的默認項,(一定記住你選擇的站點),可能下載速度有不同吧,直接“下一步”。
cygwin完全安裝步驟方法 - 捨得 - 春雷
安裝向導正從下載鏡像站點上獲取壓縮過的安裝列表文件,片刻便出現如下界面,即安裝列表文件界面。
可以看到“all” 後面有個“Default” 字符,即為默認安裝,單擊”default”可依次變為”install”,“reinstall”;”reinstall”先不用管,“Default“默認安裝時很多如vivi,gcc 等都不會被安裝,單擊“all” 後面“Default”成為”install“,全部安裝即可。出現如下界面:
單擊”下一步“就好好等著吧,我用了一天左右。
cygwin完全安裝步驟方法 www.crazycen.com
安裝完畢後,最後一個界面提示是否建立桌面快捷方式,直接打“\/“就成,然後”確定“就徹底完工啦。我的f盤的 cygwinset 文件夾中看到名為” ftp%3a%2f%2fcygwin.dp.ua%2fpub%2fmirrors%2fcygwin“安裝包,你的可能是”http%3a%2f%。。。。。“無所謂啦,留著以後安裝用。
cygwin完全安裝步驟方法 www.crazycen.com
雙擊桌面 圖標 進入 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”生成內核啦。