- 論壇徽章:
- 0
|
寫在前面的話:學(xué)習(xí)了一段時(shí)間以后,我想直接把電腦換成linux系統(tǒng),一來可以更加熟悉linux的指令,二可以從頭構(gòu)建一個(gè)開發(fā)環(huán)境,這個(gè)是去公司以后必備的技能,三是里面有安裝wine+sourceinsight和串口工具minicom的步驟,這樣,在linux下面也可以使用SI這么牛逼的軟件了,話不多說,直接開始:
1.把U盤做成系統(tǒng)盤,安裝ubuntu12.04系統(tǒng)。我用的powerISO軟件做的系統(tǒng)盤。推薦用32位的系統(tǒng)。64位的系統(tǒng)在安裝的時(shí)候很不方便,而且安裝交叉編譯器arm-linux時(shí)需要32的庫(kù),很麻煩~~~
2.安裝好的ubuntu中,沒有無線網(wǎng)卡驅(qū)動(dòng),而安裝的時(shí)候提示不允許,這時(shí)候先對(duì)系統(tǒng)進(jìn)行升級(jí)更新,更新完后再次安裝即可,可是一直安裝不完,我選擇強(qiáng)制關(guān)機(jī)再開機(jī)。
3.更換ubuntu的更新源,要不升級(jí)更新太慢。
1)“sudo cp /etc/apt/sources.list /etc/apt/sources.list_backup”
2)“sudo gksu gedit /etc/apt/sources.list”
3)選擇合適的源,把/etc/apt/sources.list里面的東西全部替換了,保存。推薦163的源。
4)刷新列表“sudo apt-get update”
4.安裝vim
1)安裝
“sudo apt-get install vim”
有可能提示“vim:依賴:vim-common(......),但是......正要被安裝,E:無法安裝的文件包”,這時(shí)候,刪除vim-common 是關(guān)鍵,執(zhí)行“sudo apt-get remove vim-common”,成功后再次執(zhí)行“sudo apt-get install vim”即可。
2)配置vim
“sudo vi /etc/vim/vimrc.local”
set nu “顯示行號(hào)”
set tabstop=4 “制表符寬度”
set cindent “C/C++語(yǔ)言的自動(dòng)縮進(jìn)方式”
set shiftwidth=4 “C/C++語(yǔ)言的自動(dòng)縮進(jìn)寬度”
5.安裝串口工具minicom
1)安裝
“sudo apt-get install minicom”
“sudo apt-get install lrzsz” “安裝后可以使用Zmodem傳輸協(xié)議傳輸文件”
2)配置
“sudo minicom -s”
主要是設(shè)置串口信息,如下所示:
1.png (29.65 KB, 下載次數(shù): 47)
下載附件
2015-05-21 10:03 上傳
按enter進(jìn)入,將串口設(shè)備設(shè)置為/dev/ttyUSB0,設(shè)置波特率為115200,關(guān)流控,如下所示:
2.png (41.54 KB, 下載次數(shù): 41)
下載附件
2015-05-21 10:03 上傳
設(shè)置完后,點(diǎn)擊保存位df1,如果不保存,下次還得設(shè)置,如下所示:
3.png (29.61 KB, 下載次數(shù): 46)
下載附件
2015-05-21 10:03 上傳
然后點(diǎn)擊退出,設(shè)置完畢。
6.安裝命令tree
“sudo apt-get install tree”
7.安裝chkconfig命令
“sudo apt-get install chkconfig”
8.安裝patch命令
“sudo apt-get install patch”
9.安裝gettext
“sudo apt-get install gettext”
10.安裝gtk
“sudo apt-get install libgtk2.0-dev”
11.安裝交叉編譯工具
1)使用制作好的工具鏈,在韋老師的光盤/tools里面,將它拷貝到/work目錄下面:
“cd /work/tools”
“tar xjf arm-linux-gcc-3.4.5-glibc-2.3.6.tar.bz2”
輸入”arm-linux-“以后,按tab鍵,會(huì)自動(dòng)補(bǔ)全,輸入”arm-linux-gcc -v“以后,會(huì)輸出版本信息,自己編寫一個(gè)小的程序,可以交叉編譯出來,即為成功。
2)然后設(shè)置環(huán)境變量,想要永久有效的話,有兩種設(shè)置方式
(1)設(shè)置當(dāng)前用戶環(huán)境變量:
“sudo vim ~/.bashrc”
在末尾添加:“export PATH=$PATH:~/work/tools/gcc-3.4.5-glibc-2.3.6 /bin”
4.png (82.78 KB, 下載次數(shù): 51)
下載附件
2015-05-21 10:03 上傳
立即生效的話執(zhí)行 “source ~/.bashrc”
這種方法對(duì)root用戶無效。
(2)設(shè)置系統(tǒng)環(huán)境變量(對(duì)root用戶生效)
“sudo vim /etc/environment”
同樣在后面添加“export PATH=$PATH:/work/tools/gcc-3.4.5-glibc-2.3.6 /bin”
注意:我這個(gè)添加的是root權(quán)限下面的環(huán)境變量,后來從新在根目錄下面建立了一個(gè)work文件夾,所以下面的路徑是/work/tools而不是第一種方法的~/work/tools。
5.png (24.4 KB, 下載次數(shù): 47)
下載附件
2015-05-21 10:03 上傳
12.如果上面11步做了的話,12步可以不做。我這是當(dāng)初自己安裝交叉編譯鏈的時(shí)候遇見的問題等。
1)從網(wǎng)上下載arm-linux-gcc-4.4.3.tar.gz
2)解壓到根目錄中“sudo tar xvzf arm-linux-gcc-4.4.3.tar.gz -C /”
其中-C命令是將tar的工作目錄從當(dāng)前目錄改為-C后面的目錄了,本例中改為根目錄,也可以改成其他的目錄。
3)修改環(huán)境變量,跟11步的方法一樣。并同時(shí)檢驗(yàn)是不是有自動(dòng)補(bǔ)全功能, 輸入”arm-linux-gcc -v“以后,會(huì)輸出版本信息。
4)自己編寫一個(gè)簡(jiǎn)單的小程序,結(jié)果編譯出錯(cuò):“......No such File.........”什么的了忘記了,上網(wǎng)查資料,出現(xiàn)這種情況是因?yàn)?4位的系統(tǒng),依賴一些32位的庫(kù),執(zhí)行“sudo apt-get install ia32-libs”,安裝完即可。
安裝的時(shí)候,多次出現(xiàn)“依賴:........, E:無法安裝(但不會(huì)安裝............)”一類的信息,最后重裝系統(tǒng)以后,并更改更新源后才成功,所以推薦用32位的系統(tǒng),64位的系統(tǒng)可能出現(xiàn)很多意想不到的問題。
13.安裝wine+source insight
1)安裝wine
“sudo apt-get install wine”即可,時(shí)間稍微有點(diǎn)長(zhǎng)。
2)打開windows下面的source insight的 .exe 安裝包,右鍵,打開方式,wine windows Program Loader,打開即可。
wine可以理解為在linux中構(gòu)建了一個(gè)虛擬的windows平臺(tái),在里面有c盤,有Program File等東西。用wine打開SI的時(shí)候,去Program File里面打開Source Insight 3 里面的Insight3.exe,或者從ubuntu的Dash主頁(yè)打開。
SI界面如下所示:
6.png (253.69 KB, 下載次數(shù): 46)
下載附件
2015-05-21 10:03 上傳
可以看到,與windows下面的一樣!
14.安裝基本的開發(fā)環(huán)境
“sudo apt-get install build-essential”
15.安裝語(yǔ)法,詞法分析器
“sudo apt-get install bison flex”
16.安裝C函數(shù)庫(kù)的man手冊(cè)
“sudo apt-get install manpages-dev”
17.安裝NFS服務(wù)
這一項(xiàng)東西比較多,我在下面從新排版顯示:
Ubuntu12.04 LTS下安裝nfs服務(wù)
1.執(zhí)行命令:”sudo apt-get install nfs-kernel-server”
2.修改pc機(jī)可以掛載的目錄,在/etc/exports里面:‘’sudo vi /etc/exports”,配置nfs:
7.png (52.91 KB, 下載次數(shù): 45)
下載附件
2015-05-21 10:03 上傳
這個(gè)是我后來寫的,原來的目錄是:
“/home/ybx/work/nfs_root/first_fs *(insecure,rw,sync,no_root_squash,no_subtree_check)”
這一行的含義是:
/home/ybx/work/nfs_root/first_fs:與nfs服務(wù)客戶端共享的目錄。
*:允許所有的網(wǎng)段訪問,也可以使用具體的IP。
secure
nfs通過1024以下的安全TCP/IP端口發(fā)送。
insecure
nfs通過1024以上的端口發(fā)送。
可以看到,在重啟portmap的時(shí)候,端口號(hào)都是大于1024的,所以得加上這個(gè)口令。
rw:掛接此目錄的客戶端對(duì)該共享目錄具有讀寫權(quán)限。
sync:資料同步寫入內(nèi)存和硬盤。
no_root_squash是nfs客戶端分享目錄使用者的權(quán)限,如果客戶端使用的是root用戶,那么對(duì)于該共享目錄而言,該客戶端就具有root權(quán)限。
no_subtree_check:不檢查父目錄的權(quán)限。
3.完成后重啟一下nfs服務(wù):
#sudo /etc/init.d/portmap restart 需要先重啟portmap,nfs是一個(gè)RPC程序,使用它前,需要映射好端口,通過portmap設(shè)定,然后再重啟nfs。
#sudo /etc/init.d/nfs-kernel-server restart。
#sudo /etc/init.d/portmap restart 結(jié)果如下:
8.png (104.17 KB, 下載次數(shù): 48)
下載附件
2015-05-21 10:03 上傳
#sudo /etc/init.d/nfs-kernel-server restart結(jié)果如下:
9.png (98.33 KB, 下載次數(shù): 37)
下載附件
2015-05-21 10:03 上傳
這時(shí)候可以看出來,中間寫著/home/ybx/work/nfs_root/first_fs不支持NFS服務(wù),于是上網(wǎng)查了一大堆資料,看到幾個(gè)文章提到可能是/home/ybx....這個(gè)用戶目錄不支持NFS掛載服務(wù),想起來韋老師也是直接在根目錄/下直接建立work文件夾的,于是把work文件夾直接拷貝到/home里面,從新修改上面一系列的東西,/etc/exports,然后重啟服務(wù),可以看到下圖:
10.png (104.15 KB, 下載次數(shù): 50)
下載附件
2015-05-21 10:03 上傳
發(fā)現(xiàn)成功了。
4.自己在pc機(jī)上面掛載自己的文件,試試nfs服務(wù)是不是正常,如下圖:
11.png (118.62 KB, 下載次數(shù): 51)
下載附件
2015-05-21 10:03 上傳
卻發(fā)現(xiàn)怎么做也沒法成功。。。。。。
5.糾結(jié)很久以后,決定直接用開發(fā)板手動(dòng)掛載,想起來以前做的時(shí)候,出現(xiàn)ubuntu跟開發(fā)板ping不通,于是用交叉網(wǎng)線,卻發(fā)現(xiàn)能掛載了。。。。。。不知道是不是交叉網(wǎng)線的問題。
6.從新把work目錄直接拷貝在根目錄下面,切換成root模式,修改/etc/exports,重啟服務(wù)。
7.修改uboot的參數(shù),直接從nfs啟動(dòng):
“set bootargs noinitrd root=/dev/nfs nfsroot=192.168.1.131:/work/nfs_root/first_fs ip=192.168.1.17:192.168.1.131:192.168.1.1:255.255.255.0::eth0 ff init=/linuxrc console=ttySAC0”
經(jīng)過實(shí)驗(yàn),確實(shí)能夠nfs掛載了。。。。。。
12.png (102.25 KB, 下載次數(shù): 49)
下載附件
2015-05-21 10:03 上傳
通過以上幾步,就可以從零構(gòu)建出來一個(gè)嵌入式arm9的ubuntu開發(fā)環(huán)境。 |
評(píng)分
-
查看全部評(píng)分
|