安裝jdk,可以選擇源方式安裝和手動(dòng)安裝,這里我兩種方法都說(shuō)下。
方案一:通過(guò)源安裝
1、安裝
打開(kāi)終端,執(zhí)行以下命令,或使用Adept/新立得軟件管理器,在其中分別搜索"sun-java6-jre"和"sun-java6-jdk"并
標(biāo)記安裝。
$ sudo apt-get install sun-java6-jdk
提示:安裝過(guò)程中需要你回答是否同意使用協(xié)議(終端中紅藍(lán)色的提示界面),此時(shí)按tab鍵至OK,再按回車即可正常安裝。
設(shè)置當(dāng)前默認(rèn)的java編譯器:
$ sudo update-alternatives --config java
a、如果你的系統(tǒng)上預(yù)裝有openjdk,將出現(xiàn)如下顯示的信息:
現(xiàn)有 2 個(gè)可選項(xiàng),它們都提供了“java”<
選擇 可選項(xiàng)
-----------------------------------------------
+ 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java
* 2 /usr/lib/jvm/java-6-sun/jre/bin/java
要維持缺省值[*],按回車鍵,或者鍵入選擇的編號(hào):
輸入 有包含 "sun" 的行的前面的數(shù)字。如上面顯示,則輸入2,然后回車確定。
b、如果你系統(tǒng)沒(méi)有java環(huán)境,則出現(xiàn)如下顯示信息:
只有一個(gè)程序提供 java
(/usr/lib/jvm/java-6-openjdk/jre/bin/java)。無(wú)須做任何配置。
$ sudo update-alternatives --config javac
a、如果你的系統(tǒng)上預(yù)裝有openjdk,將出現(xiàn)如下顯示的信息:
現(xiàn)有 2 個(gè)可選項(xiàng),它們都提供了“javac”<
選擇 可選項(xiàng)
-----------------------------------------------
1 /usr/lib/jvm/java-6-sun/bin/javac
*+ 2 /usr/bin/gcj-wrapper-4.3
要維持缺省值[*],按回車鍵,或者鍵入選擇的編號(hào):
輸入 有包含 "sun" 的行的前面的數(shù)字。如上面顯示,則輸入1,然后回車確定。
b、如果你系統(tǒng)沒(méi)有java環(huán)境,則出現(xiàn)如下顯示信息:
只有一個(gè)程序提供 java
(/usr/bin/gcj-wrapper-4.3)。無(wú)須做任何配置。
2、配置java環(huán)境變量
$ sudo gedit /etc/environment
在其中添加如下兩行:
----------------------------------------------------------------------------
CLASSPATH=.:/usr/lib/jvm/java-6-sun/lib
JAVA_HOME=/usr/lib/jvm/java-6-sun
------------------------------------------------------------------------------
2、安裝
將下載下來(lái)的bin文件復(fù)制到/opt目錄下(假設(shè)你下載后的bin文件放在/home/yourname下), 終端執(zhí)行:
$ sudo cp /home/yourname/jdk-6u13-linux-i586.bin /opt 。
安裝執(zhí)行:
$ sudo /opt/jdk-6u13-linux-i586.bin 。
安裝過(guò)程中會(huì)提示是否同意協(xié)議,按下q退出瀏覽,然后輸入"yes",等安裝完畢后會(huì)自動(dòng)在/opt
文件夾下創(chuàng)建一個(gè)jdk1.6.0_13的文件夾,安裝的文件都放在該目錄下。
前幾天剛在自己用戶的環(huán)境下裝完eclipse cdt,因?yàn)闄?quán)限關(guān)系,所以我打算在root用戶工作,是不是前幾天rp好,裝的時(shí)候沒(méi)碰到什么問(wèn)題,今天問(wèn)題一大堆,就是eclipse-cdt的包依賴,
eclipse下cdt插件地址:
http://download.eclipse.org/tools/cdt/releases/galileo
但是裝的時(shí)候eclipse提示缺包,大致的出錯(cuò)信息
Cannot complete the install because one or more required items could not
be found.
Software being installed: Eclipse C/C++ Remote Launch 6.0.0.201002161416
(org.eclipse.cdt.launch.remote.feature.group 6.0.0.201002161416)
Missing requirement: Eclipse C/C++ Remote Launch 6.0.0.201002161416
(org.eclipse.cdt.launch.remote.feature.group 6.0.0.201002161416)
requires 'org.eclipse.rse.ui [3.0.0,4.0.0)' but it could not be found
網(wǎng)上找了下,沒(méi)找到解決的,自己找來(lái)好久,下面我自己找的方法,找缺包下:
http://download.eclipse.org/dsdp/tm/updates/3.1/
http://download.eclipse.org/tools/mylyn/update/e3.4
順便附上eclipse-svn插件:
http://subclipse.tigris.org/update_1.6.x/
gef:
http://download.eclipse.org/tools/gef/updates/releases/
拿到板子3天了,之間看了tq2440的使用手冊(cè),和linux下的編譯視頻,感覺(jué)挺好的,于是開(kāi)始了自己的第一個(gè)arm板上的程序,聊天程序
運(yùn)行效果:

左邊是tq2440板子的終端,右邊是win7下的控制臺(tái),arm上的linux作為服務(wù)器,win7客戶端.自己前幾天寫(xiě)的一個(gè)windows-linux跨平臺(tái)的socket終于跑起來(lái)了。:)
下面說(shuō)下自己從搭建到運(yùn)行的整個(gè)流程:
1.先跑裸機(jī)程序吧,我就跑了那個(gè)test的,nor flash模式下直接把tq2440_test.bin燒寫(xiě)進(jìn)去,那個(gè)bin我沒(méi)找到,所以自己編譯了。裸機(jī)程序玩完后,就可以玩linux或wince了。
2.完后燒寫(xiě)linux系統(tǒng),因?yàn)閠q光盤(pán)里附帶了embedSky的編譯完整的linux bin.所以推薦先用這個(gè),按使用手冊(cè)來(lái)做,燒寫(xiě)在nor模式下進(jìn)行,完成后,切換到nand 模式,進(jìn)入系統(tǒng)。
3.之后,我不知道怎么在板子的linux上跑自己的程序,完了我看了光盤(pán)的linux資源下的linux編譯視頻,推薦先看這幾個(gè),他教你怎么在linux上編譯uboot,內(nèi)核==,編譯出來(lái)的當(dāng)然在板子上運(yùn)行的,所以首先你的搭建好交叉編譯環(huán)境,embedSky 附帶了一個(gè)交叉編譯器的,可以直接用他的,在linux移植手冊(cè)中有介紹編譯自己的交叉編譯器的,先用這個(gè)吧。編譯好后,配置完系統(tǒng)環(huán)境變量,就有了arm-linux-gcc,arm-linux-g++了。
4.eclipse下配置編譯選項(xiàng),在項(xiàng)目屬性里將gcc,g++,link的command前面加上arm-linux,這樣編譯出來(lái)的程序就能在arm上跑了。
5.編譯完后,怎么弄到板子上呢。我也比較困惑,因?yàn)樽约阂矝](méi)弄過(guò),所以還得看手冊(cè),現(xiàn)在我知道有兩種方式可以,第一個(gè)就是開(kāi)發(fā)板上有usb的接口,你將自己編譯完的程序弄到usb里,完了將usb掛載到linux的某個(gè)目錄下,拷貝到運(yùn)行目錄就行了,tq2440的默認(rèn)的目錄是在/sbin下的,第二種就是用nfs方式,先在pc linux端裝nfs服務(wù),完了可以用網(wǎng)絡(luò)方式將pc端的nfs設(shè)立的共享文件夾掛載到板子上的linux。之后就可以直接運(yùn)行了。
上面就是自己的從完全不懂得到能跑自己的程序的一個(gè)流程。努力,繼續(xù)自己的嵌入式之旅。
1 NFS安裝
nfs原理是通過(guò)網(wǎng)絡(luò),將遠(yuǎn)程主機(jī)共享的文件系統(tǒng),掛載到本機(jī)。Ubuntu 10.04上默認(rèn)是沒(méi)有安裝NFS服務(wù)器的,首先要安裝NFS服務(wù)程序:
# sudo apt-get install nfs-kernel-server
(安裝nfs-kernel-server時(shí),apt會(huì)自動(dòng)安裝nfs-common和portmap) 這樣,宿主機(jī)就相當(dāng)于NFS Server。
2 宿主機(jī)NFS的配置
2.1 修改配置文件/etc/exports
在終端下用# vim /etc/exports打開(kāi)exports文件。
如果你沒(méi)有配置過(guò)這個(gè)文件的話此文件應(yīng)該是空的。在開(kāi)始部分寫(xiě)入
/home *(rw,sync,no_root_squash)
/home -- 與客戶機(jī)共享的目錄;
* -- 表示允許任意用戶使用,也可以使用具體IP;
(rw,sync,no_root_squash) -- rw,掛載此目錄的客戶機(jī)對(duì)此目錄有讀寫(xiě)權(quán)利;
sync,……;
no_root_squash,掛載此目錄的客戶機(jī)享有主機(jī)root的權(quán)利;
我是將主機(jī)的根目錄設(shè)置為共享目錄 / *(rw,sync,no_root_squash)
OK,保存,退出。
修改完成之后輸入:# exportfs –rv來(lái)使配置文件生效
2.2 配置宿主機(jī)的IP
配置宿主機(jī)的IP,在命令行中輸入 # ifconfig 來(lái)查看本機(jī)的IP地址。如果沒(méi)有設(shè)置,可以用命令 # ifconfig eth0
192.168.0.18 來(lái)設(shè)置IP。其中的IP地址可以根據(jù)具體情況來(lái)設(shè)定。設(shè)定完成后在通過(guò)ifconfig來(lái)再次查看是否已經(jīng)設(shè)定成功。
2.3 啟動(dòng)宿主機(jī)NFS服務(wù)
安裝完NFS服務(wù)后就可以通過(guò) # /etc/init.d/nfs-kernel-server
restart(/etc/init.d/nfs-kernel-server
start)來(lái)重新開(kāi)啟網(wǎng)絡(luò)文件系統(tǒng)服務(wù),以便后面的開(kāi)發(fā)板掛載。也可以通過(guò)# /etc/init.d/nfs-kernel-server
stop來(lái)停止。
3 目標(biāo)板的掛載操作
給你的目標(biāo)機(jī)上電,目標(biāo)板上的Linux操作系統(tǒng)起來(lái)以后,在PC機(jī)上Ubuntu操作系統(tǒng)上打開(kāi)minicom,通過(guò)串口向目標(biāo)板發(fā)送shell命令。
像主機(jī)操作一樣,首先檢查目標(biāo)板(客戶機(jī))的IP是否與宿主機(jī)的IP再同一個(gè)地址段上,否則用上面用過(guò)的命令進(jìn)行檢查和設(shè)置本地IP。
設(shè)置完IP之后可以ping一下檢查網(wǎng)卡、網(wǎng)線是否連接正確。
既在minicom中輸入# ping 192.168.0.18 (主機(jī)IP地址)連接成功會(huì)不斷的打印信息。
接下來(lái)就是在開(kāi)發(fā)板上進(jìn)行掛載mount
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.0.121:/主機(jī)nfs目錄 /掛載路徑
其中:后是客戶機(jī)掛載的共享目錄; /mnt是開(kāi)發(fā)板的掛載目錄
OK,掛在完成。
通過(guò)
# cd /mnt
# ls
可以發(fā)現(xiàn)主機(jī)的根目錄被掛載進(jìn)了開(kāi)發(fā)板mnt目錄中。
如果你想取消掛在可以使用命令# umount /mnt就可以了。
-------------------------------------------
nfs:server is not responding,still trying 原因與解決方案
mount -t nfs -o intr,nolock,rsize=1024,wsize=1024 192.168.0.121:/主機(jī)nfs目錄 /掛載路徑
tcp掛載,不然很可能出現(xiàn)服務(wù)不響應(yīng),nfs默認(rèn)是udp傳輸。。(這個(gè)把我郁悶了一天)
安裝后,root用戶默認(rèn)是被鎖定了的,不允許登錄,也不允許“su”到
root。有人說(shuō)這是個(gè)不好的實(shí)踐,特別是對(duì)于服務(wù)器來(lái)說(shuō)。我覺(jué)得對(duì)于桌面用戶來(lái)說(shuō),這樣安全性更高一些,是應(yīng)該的;但對(duì)于服務(wù)器可以設(shè)置成“允許
su 到root,但不允許root用戶直接登錄”。而我為了開(kāi)發(fā)時(shí)的方便,則在桌面和服務(wù)器上都采用這種方式。
允許 su 到 root
非常簡(jiǎn)單,下面是設(shè)置的方法:
me@tipfoo:~$ sudo passwd
root
Password: <--- 輸入安裝時(shí)那個(gè)用戶的密碼
Enter new UNIX password: <--- 新的Root用戶密碼
Retype new UNIX password: <--- 重復(fù)新的Root用戶密碼
passwd:已成功更新密碼
允許root登錄
如果要允許root登錄(不推薦),則這樣操作:
me@tipfoo:~$ gksu
/usr/sbin/gdmsetup
(或者使用桌面菜單:系統(tǒng)>系統(tǒng)管理>登錄窗口)
點(diǎn)“安全”選項(xiàng)頁(yè),選擇“允許本地管理員登錄”。
注:這一步依賴上一步
在登錄時(shí)直接顯示root用戶:
在root用戶下gedit /etc/gdm/gdm.schemas
<schema>
<key>greeter/Include</key>
<signature>s</signature>
<default></default>
</schema>
<schema>
<key>greeter/Exclude</key>
<signature>s</signature>
<default>bin,root,daemon,adm,lp,sync,shutdown,halt,mail,news,uucp,operator,nobody,nobody4,noaccess,postgres,pvm,rpm,nfsnobody,pcap</default>
</schema>
把下邊schema中的root去掉,放到上面的那個(gè)里面,可以在登陸框里看到root了
不輸入密碼直接登錄
在論壇上也看見(jiàn)有人抱怨,家中的Ubuntu不能像Window$那樣──不用輸入密碼就能 登錄。其實(shí)同樣能做到:
就在上一步的“安全”選項(xiàng)頁(yè)中,勾選:
“啟用自動(dòng)登錄”,“用戶”選擇(如:“me”);
注意:公共用的計(jì)算機(jī)千萬(wàn)不能這么設(shè)置!
SSH登錄遠(yuǎn)程服務(wù)器
如果遠(yuǎn)程服務(wù)器只允許root用戶SSH到服務(wù)器時(shí),在Ubuntu下,必須“su
到root”用戶才能登錄成功(具體是看服務(wù)器端的配置)。
首先,復(fù)制密鑰到“/root/.ssh/”目錄,
me@tipfoo:~$ su
Password:
root@tipfoo:/home/me#
chmod 600 -R /root/.ssh/
root@tipfoo:/home/me#
ssh -p 27482 11.22.33.44
Enter passphrase for key '/root/.ssh/id_rsa':
Last login: Thu Jun 21 14:29:00 2007 from 11.22.33.45
修改開(kāi)始菜單:直接在Ubuntu終端輸入命令alacarte。可以任意增、改、隱藏、顯示菜單,但無(wú)法刪除菜單,即使擁有root權(quán)限