各位小伙伴在使用ElfBoard開(kāi)發(fā)板的過(guò)程中,必然會(huì)有拷貝文件到開(kāi)發(fā)板中的這個(gè)操作,通常可以通過(guò)U盤(pán)進(jìn)行拷貝,但是為了更方便的傳輸文件,還可以通過(guò)搭建網(wǎng)絡(luò)服務(wù)的方式進(jìn)行文件傳輸,下面給小伙伴們介紹一些常用的網(wǎng)絡(luò)服務(wù)的搭建和使用。
首先ubuntu的網(wǎng)絡(luò)模式需要設(shè)置為橋接模式,電腦主機(jī)、ubuntu主機(jī)、開(kāi)發(fā)板三者的ip要處于同一網(wǎng)段,且ubuntu主機(jī)要能上外網(wǎng),同時(shí)還要關(guān)閉ubuntu和windows防火墻(關(guān)閉ubuntu防火墻:sudo ufw disable)。
本文中使用的三者的ip分別如下:
電腦主機(jī)ip:192.168.0.64
Ubuntu主機(jī)ip:192.168.0.51
開(kāi)發(fā)板ip:192.168.0.232
然后參照以下的操作步驟就可以進(jìn)行網(wǎng)絡(luò)服務(wù)的搭建和使用。
TFTP服務(wù)搭建
TFTP(Trivial File Transfer Protocol,簡(jiǎn)單文件傳輸協(xié)議),是TCP/IP協(xié)議族中用來(lái)在客戶機(jī)和服務(wù)器之間進(jìn)行簡(jiǎn)單文件傳輸?shù)膮f(xié)議,開(kāi)銷很小。TFTP通常用于內(nèi)核調(diào)試。在嵌入式Linux開(kāi)發(fā)過(guò)程中,內(nèi)核調(diào)試是其中一個(gè)基礎(chǔ)、重要的環(huán)節(jié)。調(diào)試內(nèi)核通常是與 Bootloader配合使用,只需在Bootloader中實(shí)現(xiàn)了網(wǎng)卡驅(qū)動(dòng)和TFTP客戶端,就可以使用TFTP進(jìn)行傳輸內(nèi)核。使用TFTP協(xié)議傳輸文件,還需要在主機(jī)安裝TFTP服務(wù)端,可以在 Linux系統(tǒng)下實(shí)現(xiàn),也可以在Windows系統(tǒng)下實(shí)現(xiàn),下面在Linux(Ubuntu)系統(tǒng)下安裝TFTP服務(wù)端進(jìn)行測(cè)試。
1.安裝服務(wù)器、客戶端和守護(hù)進(jìn)程
elf@ubuntu:~$ sudo apt-get install tftp-hpa tftpd-hpa xinetd
2.服務(wù)器配置
首先,在/home/elf目錄下建一個(gè)tftpboot,并把屬性改成任意用戶可讀寫(xiě):
elf@ubuntu:~$ mkdir tftpboot elf@ubuntu:~$ chmod 777 tftpboot
然后,進(jìn)入目錄 /etc/xinetd.d/,并在其中新建文件tftp,把指定的內(nèi)容加入到tftp文件中:
elf@ubuntu:~$ cd /etc/xinetd.d/ elf@ubuntu:~$ sudo vim tftp
添加以下內(nèi)容到tftp文件:
service tftp { disable = no 138 socket_type = dgram protocol = udp wait = yes user = elf server = /usr/sbin/in.tftpd server_args = -s /home/elf/tftpboot -c per_source = 11 cps = 100 2 }
最后,修改配置文件/etc/default/tftpd-hpa:
elf@ubuntu:~$ sudo vim /etc/default/tftpd-hpa
修改為:
TFTP_USERNAME="tftp" TFTP_DIRECTORY="/home/elf/tftpboot" TFTP_ADDRESS="0.0.0.0:69" TFTP_OPTIONS="--secure -l -c -s"
注意:將“TFTP_DIRECTORY” 改為新建tftpboot目錄所在的路徑。
3. 重新啟動(dòng)服務(wù)
elf@ubuntu:~$ sudo /etc/init.d/xinetd reload [ ok ] Reloading xinetd configuration (via systemctl): xinetd.service. elf@ubuntu:~$ sudo /etc/init.d/xinetd restart [ ok ] Restarting xinetd (via systemctl): xinetd.service. elf@ubuntu:~$ sudo /etc/init.d/tftpd-hpa restart [ ok ] Restarting tftpd-hpa (via systemctl):tftpd-hpa.service.
4. 測(cè)試服務(wù)器
測(cè)試一下,在/tftpboot文件夾下新建立一個(gè)文件 :
elf@ubuntu:~/tftpboot$ touch abc
進(jìn)入另外一個(gè)文件夾:
elf@ubuntu:~/tftpboot$ cd /home/ elf@ubuntu:/home$ sudo tftp 192.168.0.51 //192.168.0.51為本機(jī)IP tftp> get abc tftp> quit elf@ubuntu:/home$ ls abc elf
如果可以下載abc文件說(shuō)明服務(wù)器已經(jīng)安裝成功。
NFS服務(wù)搭建
在嵌入式Linux開(kāi)發(fā)中,需要在Linux主機(jī)編寫(xiě)程序代碼,然后編譯程序,生成的二進(jìn)制程序文件要傳輸?shù)侥繕?biāo)機(jī)上才能調(diào)試、運(yùn)行。那么如何更快、更便捷地傳輸文件,提高開(kāi)發(fā)工作的效率呢?NFS無(wú)疑是最好的選擇。通過(guò)NFS服務(wù),主機(jī)將用戶指定的目錄通過(guò)網(wǎng)絡(luò)共享給目標(biāo)機(jī)(和windows的文件網(wǎng)絡(luò)共享類似)。目標(biāo)機(jī)可以直接運(yùn)行存放于Linux主機(jī)共享目錄下的二進(jìn)制程序,這樣調(diào)試程序時(shí)十分方便、高效。
NFS即網(wǎng)絡(luò)文件系統(tǒng)(Network File-System),可以通過(guò)網(wǎng)絡(luò)讓不同機(jī)器、不同系統(tǒng)之間可以實(shí)現(xiàn)文件共享。通過(guò)NFS,可以訪問(wèn)遠(yuǎn)程共享目錄,就像訪問(wèn)本地磁盤(pán)一樣。
1. ubuntu下搭建nfs服務(wù)器的方法
軟件下載安裝:
elf@ubuntu:~$ sudo apt-get install nfs-kernel-server nfs-common portmap
創(chuàng)建NFS的目錄為nfs_rootfs,并在該目錄下新建測(cè)試文件test;
elf@ubuntu:~$ mkdir nfs_rootfs elf@ubuntu:~$ cd nfs_rootfs/ elf@ubuntu:~/nfs_rootfs$ touch test elf@ubuntu:~/nfs_rootfs$ ls test
修改配置文件:
elf@ubuntu:~/nfs_rootfs$ sudo vim /etc/exports
在文件中添加以下配置:
/nfs_rootfs *(rw,sync,no_root_squash,no_subtree_check) /home/elf/nfs_rootfs *(rw,sync,no_root_squash,no_subtree_check)
重啟配置文件和服務(wù):
elf@ubuntu:~/nfs_rootfs$ sudo exportfs -rv elf@ubuntu:~/nfs_rootfs$ sudo /etc/init.d/rpcbind restart elf@ubuntu:~/nfs_rootfs$ sudo /etc/init.d/nfs-kernel-server restart

2. 驗(yàn)證
在開(kāi)發(fā)板上驗(yàn)證nfs服務(wù)器,執(zhí)行完以下命令將nfs服務(wù)器掛載到開(kāi)發(fā)板的/mnt目錄:
root@ELF1:~# mount -t nfs4 -o vers=4 172.16.0.51:/home/elf/nfs_rootfs /mnt/
掛載成功后,查看/mnt目錄,會(huì)看到剛才解壓的文件系統(tǒng):
root@ELF1:~# ls /mnt/ test
SSH服務(wù)搭建
SSH為SecureShell的縮寫(xiě),由IETF的網(wǎng)絡(luò)小組(Network Working Group)所制定的建立在應(yīng)用層基礎(chǔ)上的安全協(xié)議。SSH是較可靠,專為遠(yuǎn)程登錄會(huì)話和其他網(wǎng)絡(luò)服務(wù)提供安全性的協(xié)議,利用SSH協(xié)議可以有效防止遠(yuǎn)程管理過(guò)程中的信息泄露問(wèn)題。SSH最初是UNIX系統(tǒng)上的一個(gè)程序,后來(lái)又迅速擴(kuò)展到其他操作平臺(tái),目前為止,幾乎所有UNIX平臺(tái),包括HP-UX、Linux、AIX、Solaris、DigitalUNIX、Irix等,都可運(yùn)行。
1. 在系統(tǒng)開(kāi)發(fā)過(guò)程中經(jīng)常會(huì)遇到下列情形
(1)Linux主機(jī)不在本地,但又要使用或者維護(hù)這臺(tái)計(jì)算機(jī);
(2)一個(gè)嵌入式Linux產(chǎn)品不方便接調(diào)試串口,需要進(jìn)行維護(hù);
(3)在遠(yuǎn)程機(jī)器和本地機(jī)器之間進(jìn)行文件傳輸。
如果遠(yuǎn)程目標(biāo)系統(tǒng)已經(jīng)開(kāi)啟了SSH服務(wù),通過(guò)SSH可以輕松解決以上問(wèn)題。使用SSH服務(wù),一方面需要在遠(yuǎn)程系統(tǒng)上安裝SSH服務(wù),另一方面要在本地系統(tǒng)上安裝SSH客戶端,常見(jiàn)的SSH客戶端有 putty、SSH Secure Shell Client 等。
2. SSH有以下幾個(gè)知識(shí)要點(diǎn)
(1)SSH是安全的加密協(xié)議,用于遠(yuǎn)程連接Linux服務(wù)器;
(2)SSH默認(rèn)端口是22號(hào)端口,安全協(xié)議版本SSHv2,除了SSHv2版本之外還有SSHv1版本(有漏洞,不安全);
(3)SSH服務(wù)端主要包含兩個(gè)服務(wù)功能SSH遠(yuǎn)程連接和SFTP服務(wù);
(4)Linux SSH客戶端包含SSH遠(yuǎn)程連接命令以及遠(yuǎn)程拷貝scp命令等。
3. 安裝SSH
(1)在Ubuntu(Linux主機(jī))終端鍵入以下指令,安裝SSH服務(wù):
elf@ubuntu:/$ sudo apt-get install ssh
(2)啟動(dòng)SSH服務(wù):
elf@ubuntu:/$ sudo service ssh start
(3)查看SSH服務(wù)的狀態(tài):
elf@ubuntu:/$ sudo service ssh status ● ssh.service - OpenBSD Secure Shell server Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled) Active: active (running) since Mon 2021-08-23 17:19:57 CST; 45s ago Main PID: 7383 (sshd) Tasks: 1 (limit: 2292) CGroup: /system.slice/ssh.service └─7383 /usr/sbin/sshd -D 8月 23 17:19:57 ubuntu systemd[1]: Starting OpenBSD Secure Shell server... 8月 23 17:19:57 ubuntu sshd[7383]: Server listening on 0.0.0.0 port 22. 8月 23 17:19:57 ubuntu sshd[7383]: Server listening on :: port 22. 8月 23 17:19:57 ubuntu systemd[1]: Started OpenBSD Secure Shell server.

(4)關(guān)閉SSH服務(wù):
elf@ubuntu:/$ sudo service ssh stop
(5)測(cè)試方法:
在Windows主機(jī)通過(guò)putty訪問(wèn)Linux系統(tǒng),打開(kāi)putty界面,使用SSH登錄,ip設(shè)置Linux主機(jī)的ip,端口號(hào)默認(rèn)為22。

第一次登錄,會(huì)提示如下警告,點(diǎn)擊“是”即可:

登錄時(shí),輸入用戶名與密碼完成登錄。

關(guān)于網(wǎng)絡(luò)服務(wù)搭建和使用的相關(guān)操作就介紹到這里,希望本篇文章能夠幫助大家在學(xué)習(xí)嵌入式開(kāi)發(fā)的過(guò)程中提供幫助。
-
嵌入式
+關(guān)注
關(guān)注
5123文章
19427瀏覽量
312866 -
嵌入式開(kāi)發(fā)
+關(guān)注
關(guān)注
18文章
1063瀏覽量
48318 -
開(kāi)發(fā)板
+關(guān)注
關(guān)注
25文章
5379瀏覽量
100703
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
愛(ài)普生有源晶振SG2016VHN在網(wǎng)絡(luò)服務(wù)器中的應(yīng)用

評(píng)論