在“萬物互聯”的技術浪潮下,網絡服務已成為連接物理世界與數字世界的核心紐帶,它不僅賦予了終端設備“開口說話”的能力,更構建了智能設備的開發范式。
本文就將以飛凌嵌入式OK-MX9352-C開發板(搭載了在工業物聯網領域廣泛應用的NXP i.MX9352處理器)為平臺,介紹如何在Linux6.1.36開發環境當中如何搭建常用的網絡服務,各位工程師朋友可以參考本文進行操作。

1、TFTP服務搭建
TFTP(簡單文件傳輸協議),是TCP/IP協議族中用來在客戶機和服務器之間進行簡單文件傳輸的協議,通常用于內核調試。在嵌入式Linux開發過程中,內核調試是其中一個基礎、重要的環節。
1.1 安裝服務器、客戶端和守護進程
forlinx@ubuntu:~$ sudo apt-get install tftp-hpa tftpd-hpa xinetd
1.2 服務器配置
首先,在根目錄下建一個tftpboot,并把屬性改成任意用戶可讀寫:
forlinx@ubuntu:~$ cd / forlinx@ubuntu:/$ sudo mkdir tftpboot forlinx@ubuntu:/$ sudo chmod 777 tftpboot
然后,進入目錄/etc/xinetd.d/,并在其中新建文件tftp,把指定的內容加入到tftp文件中:
forlinx@ubuntu:/$ cd /etc/xinetd.d/ forlinx@ubuntu:/etc/xinetd.d$ sudo vim tftp
添加以下內容到tftp文件
service tftp { disable = no 138 socket_type = dgram protocol = udp wait = yes user = root server = /usr/sbin/in.tftpd server_args = -s /tftpboot -c per_source = 11 cps = 100 2 }
最后,修改配置文件/etc/default/tftpd-hpa
forlinx@ubuntu:/etc/xinetd.d$ cd / forlinx@ubuntu:/$ sudo vim /etc/default/tftpd-hpa
這里需要注意,將“TFTP_DIRECTORY”改為新建tftpboot目錄所在的路徑。
1.3 重新啟動服務
forlinx@ubuntu:/$ sudo /etc/init.d/xinetd reload forlinx@ubuntu:/$ sudo /etc/init.d/xinetd restart forlinx@ubuntu:/$ sudo /etc/init.d/tftpd-hpa restart
1.4 測試服務器
測試一下,在/tftpboot文件夾下新建一個文件
forlinx@ubuntu:/$ cd /tftpboot/ forlinx@ubuntu:/tftpboot$ sudo touch abc
進入另外一個文件夾:
forlinx@ubuntu:/tftpboot$ cd /home/ forlinx@ubuntu:/home$ sudo tftp 192.168.2.57 //192.168.2.57為本機IP tftp> get abc tftp> quit forlinx@ubuntu:/home$ ls abc
如果可以下載說明服務器已經安裝成功,將開發板同PC通過網線進行連接后即可使用tftp下載文件。
bootz ${loadaddr} - ${fdt_addr};
2、NFS服務搭建
NFS(網絡文件系統),可以通過網絡讓不同機器、不同系統之間可以實現文件共享。通過NFS,可以訪問遠程共享目錄,就像訪問本地磁盤一樣。
2.1 Ubuntu下搭建NFS服務器方法如下
軟件下載安裝
forlinx@ubuntu:~# sudo apt-get install nfs-kernel-server nfs-common portmap
創建NFS目錄并解壓文件系統(以rootfs.tar.bz2文件系統為例,當前目錄為根目錄)
forlinx@ubuntu:~# cd / forlinx@ubuntu:/# sudo mkdir nfs_rootfs forlinx@ubuntu:/# sudo tar -xvf rootfs.tar.bz2 -C /nfs_rootfs/
修改配置文件
forlinx@ubuntu:/# sudo vim /etc/exports
在文件中添加以下配置:
/nfs_rootfs *(rw,sync,no_root_squash,no_subtree_check)
重啟配置文件和服務
forlinx@ubuntu:/# sudo exportfs -rv forlinx@ubuntu:/# sudo /etc/init.d/rpcbind restart forlinx@ubuntu:/# sudo /etc/init.d/nfs-kernel-server restart
2.2 在i.MX9352開發板上驗證NFS服務器
執行完以下命令將NFS服務器掛載到開發板的/mnt目錄
root@ok-mx93:~# mount -t nfs4 -o vers=4 192.168.0.57:/nfs_rootfs /mnt
掛載成功后,查看/mnt目錄,會看到剛才解壓的文件系統
root@ok-mx93:~# ls /mnt/
注:192.168.0.57為NFS服務器主機Ubuntu的IP,Ubuntu的網絡需設置為橋接模式,并跟i.MX9352開發板在同一網段。
3、SSH服務搭建
SSH是較可靠的專為遠程登錄會話和其他網絡服務提供安全性的協議,利用SSH協議可以有效防止遠程管理過程中的信息泄露問題。SSH最初是UNIX系統上的一個程序,后來又迅速擴展到其他操作平臺。
3.1 安裝SSH
在Ubuntu(Linux主機)終端鍵入以下指令,安裝SSH服務:
forlinx@ubuntu:/$ sudo apt-get install ssh
3.2 啟動SSH服務
forlinx@ubuntu:/$ sudo service ssh start
3.3 查看SSH服務的狀態
forlinx@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.
3.4 關閉SSH服務
forlinx@ubuntu:/$ sudo service ssh stop
3.5 測試方法
i.MX9352開發板通過SSH訪問Linux主機:
root@ok-mx93:~# ssh forlinx@192.168.0.57 Host '192.168.0.57' is not in the trusted hosts file. (ecdsa-sha2-nistp256 fingerprint md5 07:72:76:56:47:e0:da:5e:77:a2:58:b1:b5:9f:cb:2a) Do you want to continue connecting? (y/n) y //首次登錄需要確認,輸入y forlinx@192.168.0.57's password: //輸入forlinx賬戶密碼 Welcome to Ubuntu 22.04.1 LTS (GNU/Linux 5.15.0-56-generic x86_64) * Documentation: https://help.ubuntu.com * Management: https://landscape.canonical.com * Support: https://ubuntu.com/advantage 0 updates can be applied immediately. The programs included with the Ubuntu system are free software; the exact distribution terms for each program are described in the individual files in /usr/share/doc/*/copyright. Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by applicable law. forlinx@ubuntu:~$ //通過用戶名和主機名確認ssh登錄成功
Linux主機通過SSH登錄i.MX9352開發板:
forlinx@ubuntu:~$ ssh -oHostKeyAlgorithms=+ssh-rsa root@192.168.0.232 The authenticity of host '192.168.0.232 (192.168.0.232)' can't be established. RSA key fingerprint is SHA256:fsa3SVdSPDtCMacfd8PjHF1RIPsnXB22gKS97qJpwys. This key is not known by any other names Are you sure you want to continue connecting (yes/no/[fingerprint])? yes //首次登錄需要確認,輸入yes Warning: Permanently added '192.168.0.232' (RSA) to the list of known hosts. root@ok-mx93:~# //通過用戶名和主機名確認ssh登錄成功
以上就是在飛凌嵌入式OK-MX9352-C開發板的Linux6.1.36系統上完成網絡服務搭建的方法,希望能夠對各位工程師朋友有所幫助。需要注意的是,本文的操作方法適用于飛凌嵌入式OK-MX9352-C平臺的Linux6.1.36操作系統,其他平臺可能會存在差異,本文的方法僅作為參考。
-
嵌入式
+關注
關注
5141文章
19543瀏覽量
315204 -
NXP
+關注
關注
61文章
1334瀏覽量
187553 -
Linux
+關注
關注
87文章
11465瀏覽量
212840 -
開發板
+關注
關注
25文章
5542瀏覽量
102500 -
網絡服務
+關注
關注
0文章
43瀏覽量
9861
發布評論請先 登錄
【飛凌i.MX9352開發板試用】+機械臂游戲3—游戲源代碼(開源)原創首發
飛凌嵌入式i.MX8M Mini核心板已支持Linux6.1

評論