close
目錄:
[1] CoLinux 簡介
[2] 下載所需套件
[3] 安裝 CoLinux
[4] 解壓縮 Root FileSystem & swap Devic
[5] 設定網路名稱 & 修改 fc1.colinux.xml
[6] 啟動 CoLinux
[7] 後續的網路設定
[8] 設定/啟動/關閉 swap
[9] 相關套件安裝
[10] 設定 Service 以及開機後立即啟動服務的方法
[11] 在你搞爛系統之前
[12] 關於分割區的的擴充和 Project 管理
[13] 有的沒的 - 將 CoLinux 以 Windows "服務" 的方式來啟動
[14] 其它無關痛癢的議題
--------------------------------------------
[1] CoLinux 簡介:
略過......哈哈!自己去 Google 一下吧!
--------------------------------------------
[2] 下載所需套件:
官方網站: (http://www.colinux.org/ )
下載處: (http://sourceforge.net/projects/colinux )
下載:
(1) coLinux-0.6.3.exe (coLinux主程式)
(2) colinux_minimal_fedora_core_1.zip
(Root FileSystem Image, OS Image,隨便你要叫他什麼,反正就是有人先幫你安裝好
Minimal Fedora Core 1,然後封裝成一個檔案)
下載WinPcap: (http://www.winpcap.org)
--------------------------------------------
[3] 安裝 CoLinux:
基本上用 "下一步" 安裝法就可以安裝好了,但是有兩個地方請注意:
(1) 安裝時取消 Root Filesystem image Download 選項,因為我們會自行下載。
(就是你剛剛下載的 colinux_minimal_fedora_core_1.zip )
(2) 建議安裝在c:\colinux 或是 d:\colinux (建議有3G以上的空間)
(小弟的測試環境安裝在d:\colinux下)
安裝過程中會安裝一個虛擬的網路卡: "TAP-Win32 Adapter V8 (coLinux)"
安裝完後重新開機之後,檢視你的 "網路連線" 應該會多一張虛擬的網路卡。
--------------------------------------------
[4] 解壓縮 Root FileSystem & swap Device:
安裝完 CoLinux 之後,你應該會在安裝目錄下看到幾個檔案,像是:
vmlinux,initrd.gz
我想這不用我說明吧,但是這樣還不能使系統運作,因為你只有 Kernel image 和
Initial Ram Disk,一般開機完之後不是有個動作叫做 mount Root FileSystem 嗎?
是的,以下就來 "安裝它"(其實只是把它解壓縮出來而已啦!)
將 colinux_minimal_fedora_core_1.zip 解壓縮之後可以看到:
D:\colinux_minimal_fedora_core_1>dir
磁碟區 D 中的磁碟沒有標籤。
磁碟區序號: AAA0-D909
D:\colinux_minimal_fedora_core_1 的目錄
2006/02/16 下午 05:03
.
2006/02/16 下午 05:03
..
2004/03/10 上午 05:55 45 blank_1.bz2
2004/03/10 上午 05:55 49 blank_10.bz2
2004/03/10 上午 05:55 113 blank_100.bz2
2004/03/10 上午 05:57 785 blank_1024.bz2
2004/03/10 上午 05:57 112 blank_128.bz2
2004/03/10 上午 05:57 208 blank_256.bz2
2004/03/10 上午 05:58 306 blank_384.bz2
2004/03/10 上午 05:58 402 blank_512.bz2
2004/03/10 上午 06:00 79 blank_64.bz2
2004/03/10 上午 06:00 594 blank_768.bz2
2004/04/14 上午 08:05 490 fc1.colinux.xml
2004/04/14 上午 08:17 83,727,430 fc1_2GB_root.bz2
2004/04/13 下午 09:12 1,413 README.txt
3 個檔案 83,732,026 位元組
2 個目錄 9,922,768,896 位元組可用
這邊我需要的檔案有:
(1) blank_128.bz2 可以被格式化為 swap device。
(2) fc1_2GB_root.bz2 是 Fedora Core 1 的 Root FileSystem,解壓縮之後約 2G 多。
(3) fc1.colinux.xml 是 CoLinux 的主要環境設定檔,它與安裝完 CoLinux 之後,
會在安裝目錄下看到的 default.colinux.xml 是同一個東西,
原則上你只要使用它去修改就可以了,概念上"有點像"是 Grub 和 fstab 的綜合體。
安裝: (路徑可以自由設定)
(1) 解壓縮 fc1_2GB_root.bz2 會得到檔名為 fc1_2GB_root 的檔案,將它複製到d:\colinux\下。
(2) 將 fc1.colinux.xml 複製到d:\colinux\下。
(3) 解壓縮 blank_128.bz2 會得到檔名為 blank_128 的檔案,
將它複製到 d:\colinux\ 下並更名為 swap_device
ps: 事實上我上面步驟中所用的檔名與目錄,你都可以自己更改,只要在接下來的設定檔中正確地指到
Root FileSystem 和 swap device 所在的路徑。
--------------------------------------------
[5] 設定網路名稱 & 修改 fc1.colinux.xml:
這是比較重要的步驟,很多人無法完成 CoLinux 的開機都是因為這邊的步驟發生錯誤:
修改 fc1.colinux.xml (剛才複製到d:\colinux\下了):
ro root=/dev/cobd0
重點說明:
(1) block_device index 0 是我們的 Root FileSystem 所在位置,
不管你放在哪裡指定到正確的路徑和檔名就好。
它的 device 不像我們所熟悉的 hda0, hda1,而是 cobd0, cobd1,
我猜是 "COlinux Block Device" 的意思,稍後 CoLinux 開機之後,
你應該可以在 /dev/ 下看到這些 devices。
(2) block_device index 7 是 swap device,為什麼一定要是 "7"?
我看討論區的文章說是這一個 Root FileSystem 的預設值?
我之前嘗試手賤改了 index 值,但是我忘記測試有沒有成功?
因為反正 index 7 可以用,我也很懶得去測試,如果你測過的話可以告訴大家結果如何!
不過基本上在 CoLinux 開機之後,你去check /etc/fstab 的設定和 fc1.colinux.xml
的設定互相對應就沒問題了(這個過程也可以讓你了解 CoLinux 的配置哲學)。
(3) 其中這裡示範的網路設定方式為 bridged,注意 name 的設定是你網路連線的名稱,
安裝 CoLinux 時會安裝一張虛擬網卡 "TAP-Win32 Adapter V8 (coLinux)",
我目前的電腦連線出去的網卡是 "Intel® PRO/100 VE Network Connection",
他的連線名稱為 "區域連線" ,也許你安裝 CoLinux之後,會有個 "區域連線2"。
因為修改設定檔 fc1.colinux.xml 不支援中文名稱,
所以你只要在 [開始] --> [設定] --> [控制台] --> [網路連線] 中,
在那個 "區域連線" 上按右鍵,重新命名為任意名稱,
在設定時填入 name="YOUR_NETWORK_CONN" 中就可以了,
這裡我將原本的 "區域連線" 更名為 "LAN" ,將 "區域連線2" 更名為 "TAP",
由於我是透過 "LAN" 那張網卡連線出去的,所以在剛剛的是定中才會設定 name="LAN"。
說明一下目前我的工作環境的網路是透過 LAN 連線出去,在 10.10.2.x 的網段上,
透過DHCP自動取得IP,(但其實固定的也沒有差別啦)。
ps:
在 SourceForge 上你可以下載到不同的 Root FileSystem Image(Gentoo, Debian...),
你可以為每個 Root FileSystem Image 撰寫不同的 *.xml 設定檔,並且各別取不同的名字,
然後在啟動 CoLinux 時傳參數指定到不同的 *.xml 設定檔,就會開啟不同的 OS,
但是......你會這麼變態嗎?(我硬碟小啦!... >_<)
--------------------------------------------
[6] 啟動 CoLinux:
使用 Windows 的 Command Line Window (cmd.exe)
(記住我剛剛將 CoLinux 安裝在 d:\ 下)
1. D:\coLinux>colinux-daemon.exe -h
Cooperative Linux Daemon, 0.6.3
Compiled on Sun Feb 5 20:25:03 2006
syntax:
colinux-daemon [-h] [-d] [-t name]
([-c config.xml]|[configuration and boot parameters])
-h Show this help text
-c config.xml Specify configuration file
(default: colinux.default.xml)
-d Don't launch and attach a coLinux console on
startup
-t name When spawning a console, this is the type of
console (e.g, nt, fltk, etc...)
這是說明檔,不用再說明了吧,重點是 -c 可以自己指定設定檔的名稱,
不指定的話,預設會找 colinux.default.xml
注意:
執行之前必須先安裝好WinPcap,否則會出現找不到wincap.dll的錯誤而無法啟動。
執行:
colinux-daemon.exe -c default.colinux.xml -t nt
(跑了一大串資訊之後...)
Fedora Core release 1 (Yarrow)
Kernel 2.6.11-co-0.6.3 on an i686
colinux login:
預設帳號是root,不用密碼。
--------------------------------------------
[7] 後續的網路設定:
登入之後 ifconfig 你會發現預設的 ip 是 192.168.0.40,
你可以經過修改 /etc/sysconfig/network-scripts/ifcfg-eth0 讓你的 CoLinux 與你的網段一致。
修改網路設定:
(1) /etc/sysconfig/network-scripts/ifcfg-eth0
(2) /etc/resolv.conf
修改完後: service network restart
就可以 ping 出去囉!
--------------------------------------------
[8] 設定/啟動/關閉 swap:
記得我們剛才設定的 swap 嗎?
(1) 確定你的config.xml有這一段:
(2) 確定你的 CoLinux 系統的 /etc/fstab 有這一段:
/dev/cobd7 swap swap defaults 0 0
(3) 以 free 指令查看 swap 有沒有啟動
(4) 若要關閉 swap 用 swapoff -a 指定
(5) 若想自行增加或替換swap大小:
可以去下載 swap (http://gniarf.nerim.net/colinux/swap/)。
或是去下載 blank (http://gniarf.nerim.net/colinux/blank/)
再自行 format 為 swap device,修改方式:
1). 先改 config.xml
2). 開機後改 /etc/fstab
3) # mkswap /dev/cobd7 (視你的設定而定)
4) # swapon -a
5) # free (檢查)
--------------------------------------------
[9] 相關套件安裝:
然後呢?......基本上,Linux OS 有了網路之後,剩下來應該就是你的事情囉!
這一版的 Mini Fedora Core 1 上的預設安裝套件非常少,連 gcc 都沒有,
但它有 apt 和 wget 可以讓你下載套件,你可以開始用 apt-get 安裝所有你需要的套件。
其實我也是因為學習安裝 CoLinux 才學會使用 apt 指令的,關於apt的指令,
我個人推薦這篇文章:
http://apt.nc.hcc.edu.tw/web/apt/apt.html
這是我自己安裝的套件 (for My Projects):
apt-get update (每次使用之前一定先下這個指令)
apt-get dist-upgrade (建議先將目前的套件更新)
(這個步驟有夠久,先去泡杯咖啡吧!)
apt-get install gcc
apt-get install make
apt-get install genromfs
apt-get install lftp
apt-get install vsftpd
apt-get install tftp-server
apt-get install tftp
apt-get install samba
apt-get install samba-client
apt-get install subversion
apt-get install tar
apt-get install gzip
apt-get install unzip
apt-get install ncurses(或ncurses-devel)
(沒有這個ncurses套件,make menuconfig 不會顯示畫面)
apt-get install file
apt-get install man
視你需要做增減,重點就是善用 "apt-cache search " 指令找到你要的套件。
這個微型化的 Linux 版本上面所安裝的套建,和啟動的 Service 非常少,
這可以讓你練習管理自己的 Linux 主機,包含套件管理,System Services 管理...等等。
如果你願意的話,你可以用 apt 自己把 X-Window裝起來,用 VNC 或是 FreeNX 連進去之後,
你會看到一個 X-Window 登入畫面,並且可以使用你的桌面環境。
想要動手裝看看的話,可以參考這一篇:
http://pukiwiki.kandix.idv.tw/index.php?Fedora%2FMiniFedora
--------------------------------------------
[10] 設定 Service 以及開機後立即啟動服務的方法:
設定 tftp server, samba server, vsftpd,設定的方式應該不用我說明了,
網路上可以找到很多文件。
我記得 CoLinux 預設只啟動 sshd,那麼如何設定開機後自動啟動其它的 Services 呢?
也許你以前很依賴 RedHat/Fedora 的 setup 指令,但是 CoLinux 沒有這個指令唷~
請你學會正統 Linux 用的指令 - chkconfig
不再贅述了,請參考這一篇:
http://linux.vbird.org/linux_basic/0560daemons.php#starting_daemon
ps: 使用 ssh 登入 CoLinux 時,帳號/密碼為 root/colinux。
ps2: 我自己目前都把專案放在 CoLinux 中,並且將專案資料夾以 SAMBA 分享給
Windows 系統 "連線遠端磁碟機"(我真討厭這個冗長的名稱!)
這樣我可以用我的 UltraEdit 去看 Code。
ps3: 因為啟動 CoLinux 的方式是透過 Windiws Command Line 的視窗,
而且視窗大小不好調(事實上,我不知道怎麼調啦!)
複製貼上的行為也是 Windiws Command Line 的模式,
所以我建議用 Putty 或是 SecureCRT 之類的軟體 ssh 進去做編譯。
--------------------------------------------
[11] 在你搞爛系統之前:
到這邊你已經建構了一個完整的開發環境,也安裝了你所需要的套件,
所以我會建議你在你搞爛你的 CoLinux 系統之前先備份吧!
現在就先 poeroff CoLinux,然後把你的 d:\colinux\fc1_2GB_root
壓縮備份起來 (壓縮之後 size 約在 300Mb 以下)
你可以連 *.xml 的設定檔和 CoLinux 的主程式一起燒錄起來,然後放在你家的貓找不到的地方,
這樣你下次想幫別人安裝或是重新安裝時,就不用在重新搞 apt update 那個步驟了。
--------------------------------------------
[12] 關於分割區的的擴充和 Project 管理:
到這邊如果你應該有足夠的資訊可以把你的嵌入式專案搬移到 CoLinux 下,
並且在 Build firmware 之後透過 tftp load 到你的 Target Board 上。
可是你可能會問,當初我們安裝的 RootFS 約有 2G 的空間,如果我需要維護不同的專案,
勢必一定會到空間吃緊的狀況,這個時候就需要擴充分割區了,
其實概念跟你在 PC 上裝一顆新的硬碟很像啦!
步驟如下:
(1) 下載 ext3fs image (http://gniarf.nerim.net/colinux/fs/)
把它解壓縮到你喜歡的地方,這裡示範是: d:\colinux\fs_2048Mb
(我下載的是已經格式化為 ext3 的 2G FileSystem 空間)
(2) 修改 config.xml,增加一個新的 block device:
(3) 開機進 CoLinux 之後,修改 /etc/fstab:
增加: /dev/cobd2 /mnt/projects ext3 defaults 0 0
(4) # mount –a (可在下指令之前和之後用 df 指令檢查比較)
一般而言我們可以將/home,/opt,/mnt,/YOURNAME,使用額外的 FileSystem image,
好處是方便管理與備份,比如你可以為每一個 project 開一個 "cobd?" 設定 /project?? 之類的掛載點,
然後設定 SAMBA 讓 Windows mount 它,這樣要備份的話也只是備份那個 /project?? 所對應的
Filesystem Image File 而已。
ps:
我的管理方式是我去下載很多 ext3fs image,並且全部都 mount 到 /mnt/ 下的資料夾,
比如 /mnt/project01,/mnt/project02 其實都對應到各自的 Ext3 格式的 FileSystem Image。
我把各個專案用到的 SourceCode 和 Cross-Toolchain 都放進去 /mnt/project?? 中,
然後在我的工作目錄下(例如: /home/andrew)去做 Symbolic Link 到 /mnt/ 下的各個專案,
這樣就算是要設定 Cross-Toolchain 的 PATH 都不會有問題。
有些龜毛的 Cross-Toolchain 一定要你安裝在 /opt下,
但你又不想增加 Base OS 系統(指 Root FileSystem 的分割區)的空間時,
都可以用 Symbolic Link 的方式解決。
我這樣做的用意是我想切開 Base OS 系統所用的 image (例如:fc1_2GB_root)
和存放專案所用的 image (例如:fs_2048Mb)。
所以我想備份專案時,或是我想把專案移交給別人時,
只要將專案對應的 image tar 給其它成員就好了!
ps2:
另外,當你開啟 SAMBA 分享專案時,可能會發生你在 Windows 上用 UltraEdit 去修改
卻不能存檔的情況發生,主要的原因幾乎都是因為你連線時的帳號,
對那個 Project 存放路徑的權限設定的關係,解決的方式我就不談了,
相信大家都會用 chmod,chown,chgrp 的指令。
--------------------------------------------
[13] 有的沒的 - 將 CoLinux 以 Windows "服務" 的方式來啟動:
每次都要寫一長串指令來啟動 CoLinux 是不是很麻煩,跟我這樣做:
(1) 開啟一個命令列視窗 (開始=>執行=>cmd)
cd D:\coLinux
D:\coLinux>colinux-daemon.exe –h (看--install-service)
(2) 打: colinux-daemon.exe -c default.colinux.xml -t nt --install-service coLinux
(最後一個 "coLinux" 的名字是自己取的,將會加到 Windows 的啟動服務清單中)
(3) 要啟動 coLinux 可以直接執行:
net start coLinux
要停止 coLinux 可以直接執行;
net stop coLinux
或是直接到 "服務" 裡去啟動或停止 coLinux,您也可以將其設定成開機後自動啟動 coLinux。
ps: 不過...有誰會無聊到去用它嗎?誰願意一開機就有個 CoLinux 啟動吃我的記憶體,
還是寫個 DOS Batch File 吧:
D:\coLinux\colinux-daemon.exe -c D:\CoLinux\colinux.xml -t nt
如果你變態到一次使用多個 OS image,你可以在桌面寫幾個這樣的 Batch Files,
然後每一個都指到不同的 *.xml。http://forum.jollen.org/index.php?showtopic=20
[1] CoLinux 簡介
[2] 下載所需套件
[3] 安裝 CoLinux
[4] 解壓縮 Root FileSystem & swap Devic
[5] 設定網路名稱 & 修改 fc1.colinux.xml
[6] 啟動 CoLinux
[7] 後續的網路設定
[8] 設定/啟動/關閉 swap
[9] 相關套件安裝
[10] 設定 Service 以及開機後立即啟動服務的方法
[11] 在你搞爛系統之前
[12] 關於分割區的的擴充和 Project 管理
[13] 有的沒的 - 將 CoLinux 以 Windows "服務" 的方式來啟動
[14] 其它無關痛癢的議題
--------------------------------------------
[1] CoLinux 簡介:
略過......哈哈!自己去 Google 一下吧!
--------------------------------------------
[2] 下載所需套件:
官方網站: (http://www.colinux.org/ )
下載處: (http://sourceforge.net/projects/colinux )
下載:
(1) coLinux-0.6.3.exe (coLinux主程式)
(2) colinux_minimal_fedora_core_1.zip
(Root FileSystem Image, OS Image,隨便你要叫他什麼,反正就是有人先幫你安裝好
Minimal Fedora Core 1,然後封裝成一個檔案)
下載WinPcap: (http://www.winpcap.org)
--------------------------------------------
[3] 安裝 CoLinux:
基本上用 "下一步" 安裝法就可以安裝好了,但是有兩個地方請注意:
(1) 安裝時取消 Root Filesystem image Download 選項,因為我們會自行下載。
(就是你剛剛下載的 colinux_minimal_fedora_core_1.zip )
(2) 建議安裝在c:\colinux 或是 d:\colinux (建議有3G以上的空間)
(小弟的測試環境安裝在d:\colinux下)
安裝過程中會安裝一個虛擬的網路卡: "TAP-Win32 Adapter V8 (coLinux)"
安裝完後重新開機之後,檢視你的 "網路連線" 應該會多一張虛擬的網路卡。
--------------------------------------------
[4] 解壓縮 Root FileSystem & swap Device:
安裝完 CoLinux 之後,你應該會在安裝目錄下看到幾個檔案,像是:
vmlinux,initrd.gz
我想這不用我說明吧,但是這樣還不能使系統運作,因為你只有 Kernel image 和
Initial Ram Disk,一般開機完之後不是有個動作叫做 mount Root FileSystem 嗎?
是的,以下就來 "安裝它"(其實只是把它解壓縮出來而已啦!)
將 colinux_minimal_fedora_core_1.zip 解壓縮之後可以看到:
D:\colinux_minimal_fedora_core_1>dir
磁碟區 D 中的磁碟沒有標籤。
磁碟區序號: AAA0-D909
D:\colinux_minimal_fedora_core_1 的目錄
2006/02/16 下午 05:03
.
2006/02/16 下午 05:03
..
2004/03/10 上午 05:55 45 blank_1.bz2
2004/03/10 上午 05:55 49 blank_10.bz2
2004/03/10 上午 05:55 113 blank_100.bz2
2004/03/10 上午 05:57 785 blank_1024.bz2
2004/03/10 上午 05:57 112 blank_128.bz2
2004/03/10 上午 05:57 208 blank_256.bz2
2004/03/10 上午 05:58 306 blank_384.bz2
2004/03/10 上午 05:58 402 blank_512.bz2
2004/03/10 上午 06:00 79 blank_64.bz2
2004/03/10 上午 06:00 594 blank_768.bz2
2004/04/14 上午 08:05 490 fc1.colinux.xml
2004/04/14 上午 08:17 83,727,430 fc1_2GB_root.bz2
2004/04/13 下午 09:12 1,413 README.txt
3 個檔案 83,732,026 位元組
2 個目錄 9,922,768,896 位元組可用
這邊我需要的檔案有:
(1) blank_128.bz2 可以被格式化為 swap device。
(2) fc1_2GB_root.bz2 是 Fedora Core 1 的 Root FileSystem,解壓縮之後約 2G 多。
(3) fc1.colinux.xml 是 CoLinux 的主要環境設定檔,它與安裝完 CoLinux 之後,
會在安裝目錄下看到的 default.colinux.xml 是同一個東西,
原則上你只要使用它去修改就可以了,概念上"有點像"是 Grub 和 fstab 的綜合體。
安裝: (路徑可以自由設定)
(1) 解壓縮 fc1_2GB_root.bz2 會得到檔名為 fc1_2GB_root 的檔案,將它複製到d:\colinux\下。
(2) 將 fc1.colinux.xml 複製到d:\colinux\下。
(3) 解壓縮 blank_128.bz2 會得到檔名為 blank_128 的檔案,
將它複製到 d:\colinux\ 下並更名為 swap_device
ps: 事實上我上面步驟中所用的檔名與目錄,你都可以自己更改,只要在接下來的設定檔中正確地指到
Root FileSystem 和 swap device 所在的路徑。
--------------------------------------------
[5] 設定網路名稱 & 修改 fc1.colinux.xml:
這是比較重要的步驟,很多人無法完成 CoLinux 的開機都是因為這邊的步驟發生錯誤:
修改 fc1.colinux.xml (剛才複製到d:\colinux\下了):
ro root=/dev/cobd0
重點說明:
(1) block_device index 0 是我們的 Root FileSystem 所在位置,
不管你放在哪裡指定到正確的路徑和檔名就好。
它的 device 不像我們所熟悉的 hda0, hda1,而是 cobd0, cobd1,
我猜是 "COlinux Block Device" 的意思,稍後 CoLinux 開機之後,
你應該可以在 /dev/ 下看到這些 devices。
(2) block_device index 7 是 swap device,為什麼一定要是 "7"?
我看討論區的文章說是這一個 Root FileSystem 的預設值?
我之前嘗試手賤改了 index 值,但是我忘記測試有沒有成功?
因為反正 index 7 可以用,我也很懶得去測試,如果你測過的話可以告訴大家結果如何!
不過基本上在 CoLinux 開機之後,你去check /etc/fstab 的設定和 fc1.colinux.xml
的設定互相對應就沒問題了(這個過程也可以讓你了解 CoLinux 的配置哲學)。
(3) 其中這裡示範的網路設定方式為 bridged,注意 name 的設定是你網路連線的名稱,
安裝 CoLinux 時會安裝一張虛擬網卡 "TAP-Win32 Adapter V8 (coLinux)",
我目前的電腦連線出去的網卡是 "Intel® PRO/100 VE Network Connection",
他的連線名稱為 "區域連線" ,也許你安裝 CoLinux之後,會有個 "區域連線2"。
因為修改設定檔 fc1.colinux.xml 不支援中文名稱,
所以你只要在 [開始] --> [設定] --> [控制台] --> [網路連線] 中,
在那個 "區域連線" 上按右鍵,重新命名為任意名稱,
在設定時填入 name="YOUR_NETWORK_CONN" 中就可以了,
這裡我將原本的 "區域連線" 更名為 "LAN" ,將 "區域連線2" 更名為 "TAP",
由於我是透過 "LAN" 那張網卡連線出去的,所以在剛剛的是定中才會設定 name="LAN"。
說明一下目前我的工作環境的網路是透過 LAN 連線出去,在 10.10.2.x 的網段上,
透過DHCP自動取得IP,(但其實固定的也沒有差別啦)。
ps:
在 SourceForge 上你可以下載到不同的 Root FileSystem Image(Gentoo, Debian...),
你可以為每個 Root FileSystem Image 撰寫不同的 *.xml 設定檔,並且各別取不同的名字,
然後在啟動 CoLinux 時傳參數指定到不同的 *.xml 設定檔,就會開啟不同的 OS,
但是......你會這麼變態嗎?(我硬碟小啦!... >_<)
--------------------------------------------
[6] 啟動 CoLinux:
使用 Windows 的 Command Line Window (cmd.exe)
(記住我剛剛將 CoLinux 安裝在 d:\ 下)
1. D:\coLinux>colinux-daemon.exe -h
Cooperative Linux Daemon, 0.6.3
Compiled on Sun Feb 5 20:25:03 2006
syntax:
colinux-daemon [-h] [-d] [-t name]
([-c config.xml]|[configuration and boot parameters])
-h Show this help text
-c config.xml Specify configuration file
(default: colinux.default.xml)
-d Don't launch and attach a coLinux console on
startup
-t name When spawning a console, this is the type of
console (e.g, nt, fltk, etc...)
這是說明檔,不用再說明了吧,重點是 -c 可以自己指定設定檔的名稱,
不指定的話,預設會找 colinux.default.xml
注意:
執行之前必須先安裝好WinPcap,否則會出現找不到wincap.dll的錯誤而無法啟動。
執行:
colinux-daemon.exe -c default.colinux.xml -t nt
(跑了一大串資訊之後...)
Fedora Core release 1 (Yarrow)
Kernel 2.6.11-co-0.6.3 on an i686
colinux login:
預設帳號是root,不用密碼。
--------------------------------------------
[7] 後續的網路設定:
登入之後 ifconfig 你會發現預設的 ip 是 192.168.0.40,
你可以經過修改 /etc/sysconfig/network-scripts/ifcfg-eth0 讓你的 CoLinux 與你的網段一致。
修改網路設定:
(1) /etc/sysconfig/network-scripts/ifcfg-eth0
(2) /etc/resolv.conf
修改完後: service network restart
就可以 ping 出去囉!
--------------------------------------------
[8] 設定/啟動/關閉 swap:
記得我們剛才設定的 swap 嗎?
(1) 確定你的config.xml有這一段:
(2) 確定你的 CoLinux 系統的 /etc/fstab 有這一段:
/dev/cobd7 swap swap defaults 0 0
(3) 以 free 指令查看 swap 有沒有啟動
(4) 若要關閉 swap 用 swapoff -a 指定
(5) 若想自行增加或替換swap大小:
可以去下載 swap (http://gniarf.nerim.net/colinux/swap/)。
或是去下載 blank (http://gniarf.nerim.net/colinux/blank/)
再自行 format 為 swap device,修改方式:
1). 先改 config.xml
2). 開機後改 /etc/fstab
3) # mkswap /dev/cobd7 (視你的設定而定)
4) # swapon -a
5) # free (檢查)
--------------------------------------------
[9] 相關套件安裝:
然後呢?......基本上,Linux OS 有了網路之後,剩下來應該就是你的事情囉!
這一版的 Mini Fedora Core 1 上的預設安裝套件非常少,連 gcc 都沒有,
但它有 apt 和 wget 可以讓你下載套件,你可以開始用 apt-get 安裝所有你需要的套件。
其實我也是因為學習安裝 CoLinux 才學會使用 apt 指令的,關於apt的指令,
我個人推薦這篇文章:
http://apt.nc.hcc.edu.tw/web/apt/apt.html
這是我自己安裝的套件 (for My Projects):
apt-get update (每次使用之前一定先下這個指令)
apt-get dist-upgrade (建議先將目前的套件更新)
(這個步驟有夠久,先去泡杯咖啡吧!)
apt-get install gcc
apt-get install make
apt-get install genromfs
apt-get install lftp
apt-get install vsftpd
apt-get install tftp-server
apt-get install tftp
apt-get install samba
apt-get install samba-client
apt-get install subversion
apt-get install tar
apt-get install gzip
apt-get install unzip
apt-get install ncurses(或ncurses-devel)
(沒有這個ncurses套件,make menuconfig 不會顯示畫面)
apt-get install file
apt-get install man
視你需要做增減,重點就是善用 "apt-cache search " 指令找到你要的套件。
這個微型化的 Linux 版本上面所安裝的套建,和啟動的 Service 非常少,
這可以讓你練習管理自己的 Linux 主機,包含套件管理,System Services 管理...等等。
如果你願意的話,你可以用 apt 自己把 X-Window裝起來,用 VNC 或是 FreeNX 連進去之後,
你會看到一個 X-Window 登入畫面,並且可以使用你的桌面環境。
想要動手裝看看的話,可以參考這一篇:
http://pukiwiki.kandix.idv.tw/index.php?Fedora%2FMiniFedora
--------------------------------------------
[10] 設定 Service 以及開機後立即啟動服務的方法:
設定 tftp server, samba server, vsftpd,設定的方式應該不用我說明了,
網路上可以找到很多文件。
我記得 CoLinux 預設只啟動 sshd,那麼如何設定開機後自動啟動其它的 Services 呢?
也許你以前很依賴 RedHat/Fedora 的 setup 指令,但是 CoLinux 沒有這個指令唷~
請你學會正統 Linux 用的指令 - chkconfig
不再贅述了,請參考這一篇:
http://linux.vbird.org/linux_basic/0560daemons.php#starting_daemon
ps: 使用 ssh 登入 CoLinux 時,帳號/密碼為 root/colinux。
ps2: 我自己目前都把專案放在 CoLinux 中,並且將專案資料夾以 SAMBA 分享給
Windows 系統 "連線遠端磁碟機"(我真討厭這個冗長的名稱!)
這樣我可以用我的 UltraEdit 去看 Code。
ps3: 因為啟動 CoLinux 的方式是透過 Windiws Command Line 的視窗,
而且視窗大小不好調(事實上,我不知道怎麼調啦!)
複製貼上的行為也是 Windiws Command Line 的模式,
所以我建議用 Putty 或是 SecureCRT 之類的軟體 ssh 進去做編譯。
--------------------------------------------
[11] 在你搞爛系統之前:
到這邊你已經建構了一個完整的開發環境,也安裝了你所需要的套件,
所以我會建議你在你搞爛你的 CoLinux 系統之前先備份吧!
現在就先 poeroff CoLinux,然後把你的 d:\colinux\fc1_2GB_root
壓縮備份起來 (壓縮之後 size 約在 300Mb 以下)
你可以連 *.xml 的設定檔和 CoLinux 的主程式一起燒錄起來,然後放在你家的貓找不到的地方,
這樣你下次想幫別人安裝或是重新安裝時,就不用在重新搞 apt update 那個步驟了。
--------------------------------------------
[12] 關於分割區的的擴充和 Project 管理:
到這邊如果你應該有足夠的資訊可以把你的嵌入式專案搬移到 CoLinux 下,
並且在 Build firmware 之後透過 tftp load 到你的 Target Board 上。
可是你可能會問,當初我們安裝的 RootFS 約有 2G 的空間,如果我需要維護不同的專案,
勢必一定會到空間吃緊的狀況,這個時候就需要擴充分割區了,
其實概念跟你在 PC 上裝一顆新的硬碟很像啦!
步驟如下:
(1) 下載 ext3fs image (http://gniarf.nerim.net/colinux/fs/)
把它解壓縮到你喜歡的地方,這裡示範是: d:\colinux\fs_2048Mb
(我下載的是已經格式化為 ext3 的 2G FileSystem 空間)
(2) 修改 config.xml,增加一個新的 block device:
(3) 開機進 CoLinux 之後,修改 /etc/fstab:
增加: /dev/cobd2 /mnt/projects ext3 defaults 0 0
(4) # mount –a (可在下指令之前和之後用 df 指令檢查比較)
一般而言我們可以將/home,/opt,/mnt,/YOURNAME,使用額外的 FileSystem image,
好處是方便管理與備份,比如你可以為每一個 project 開一個 "cobd?" 設定 /project?? 之類的掛載點,
然後設定 SAMBA 讓 Windows mount 它,這樣要備份的話也只是備份那個 /project?? 所對應的
Filesystem Image File 而已。
ps:
我的管理方式是我去下載很多 ext3fs image,並且全部都 mount 到 /mnt/ 下的資料夾,
比如 /mnt/project01,/mnt/project02 其實都對應到各自的 Ext3 格式的 FileSystem Image。
我把各個專案用到的 SourceCode 和 Cross-Toolchain 都放進去 /mnt/project?? 中,
然後在我的工作目錄下(例如: /home/andrew)去做 Symbolic Link 到 /mnt/ 下的各個專案,
這樣就算是要設定 Cross-Toolchain 的 PATH 都不會有問題。
有些龜毛的 Cross-Toolchain 一定要你安裝在 /opt下,
但你又不想增加 Base OS 系統(指 Root FileSystem 的分割區)的空間時,
都可以用 Symbolic Link 的方式解決。
我這樣做的用意是我想切開 Base OS 系統所用的 image (例如:fc1_2GB_root)
和存放專案所用的 image (例如:fs_2048Mb)。
所以我想備份專案時,或是我想把專案移交給別人時,
只要將專案對應的 image tar 給其它成員就好了!
ps2:
另外,當你開啟 SAMBA 分享專案時,可能會發生你在 Windows 上用 UltraEdit 去修改
卻不能存檔的情況發生,主要的原因幾乎都是因為你連線時的帳號,
對那個 Project 存放路徑的權限設定的關係,解決的方式我就不談了,
相信大家都會用 chmod,chown,chgrp 的指令。
--------------------------------------------
[13] 有的沒的 - 將 CoLinux 以 Windows "服務" 的方式來啟動:
每次都要寫一長串指令來啟動 CoLinux 是不是很麻煩,跟我這樣做:
(1) 開啟一個命令列視窗 (開始=>執行=>cmd)
cd D:\coLinux
D:\coLinux>colinux-daemon.exe –h (看--install-service)
(2) 打: colinux-daemon.exe -c default.colinux.xml -t nt --install-service coLinux
(最後一個 "coLinux" 的名字是自己取的,將會加到 Windows 的啟動服務清單中)
(3) 要啟動 coLinux 可以直接執行:
net start coLinux
要停止 coLinux 可以直接執行;
net stop coLinux
或是直接到 "服務" 裡去啟動或停止 coLinux,您也可以將其設定成開機後自動啟動 coLinux。
ps: 不過...有誰會無聊到去用它嗎?誰願意一開機就有個 CoLinux 啟動吃我的記憶體,
還是寫個 DOS Batch File 吧:
D:\coLinux\colinux-daemon.exe -c D:\CoLinux\colinux.xml -t nt
如果你變態到一次使用多個 OS image,你可以在桌面寫幾個這樣的 Batch Files,
然後每一個都指到不同的 *.xml。http://forum.jollen.org/index.php?showtopic=20
全站熱搜
留言列表