嵌入式开发环境搭建
目錄
- 一、背景
- 1、VMware 安裝
- 2、Ubuntu 安裝
- (1)LTS 和 非 LTS
- (2)配置要求
- (3)64位 和 32位
- (4)下載安裝
- 3、新安裝的 Ubuntu 的使用優化
- 1、更換背景設置
- 2、關閉更新
- 3、打開終端
- 4、 root 用戶
- (1)初始 root 用戶沒有密碼
- (2)用戶工作的目錄
- 5、常用的軟件遇到的問題
- 6、共享文件夾和 VMtools 的安裝
- (1)安裝 VMtools 軟件:第一種
- (1)安裝 VMtools 軟件:第二種
- 7、搭建 samba 服務器
- (1)在 ubuntu 安裝 samba 軟件
- (2)配置不需要登陸的共享文件夾
- (3)配置需要登陸的文件夾
- 8、NAT 和 橋接
- (1)NAT方式
- (2)橋接方式
- 9、Ubuntu 中網絡設置
- (1)/etc/network/interfaces 文件
- (2)重啟網卡的命令
- 10、UBuntu 連接開發板時候的網絡設置
- (1)注意細節
- 二、搭建tftp、nfs 服務器
- 1、搭建 tftp 服務
一、背景
(1)嵌入式開發需要的環境:VMWare + Ubuntu 、 tftp 服務器、nfs服務器、vim、samba。
理解:
(1)在windows 上面安裝虛擬機軟件 VMWare
(2)在虛擬機軟件VMWare 當中創建虛擬機 Ubuntu
(3)在Ubuntu 當中安裝 tftp 服務器、nfs 服務器、vim、samba 服務器等服務。
1、VMware 安裝
官網:https://www.vmware.com/cn.html
應用與云->查看所有產品
找到桌面級的 Hypervisor
- Pro:高級版本,功能比較多。(收費)(可以去其他網站搜索密鑰)
- Player:低版本,功能比較少。(免費)
2、Ubuntu 安裝
下載地址:ubuntu 官網
中文網址
(1)LTS 和 非 LTS
LTS:LTS意為“長期支持”,一般為5年
非LTS:不是長期維護。
(2)配置要求
在下載之前,我們要查看我們電腦是否支持當前虛擬機的配置要求。
(3)64位 和 32位
64位:和我們電腦主機一樣,現在基本都是 64位(一般選這個)
32位:現在很少有主機是32位了,(32位,最大只能識別 4G 的空間)
(4)下載安裝
1、首先下載好的是一個光盤映像文件
2、VMware基于這個Ubuntu 的映像文件,來安裝虛擬機。
3、設置名字
4、選擇安裝路徑:(將這個映像文件進行安裝成為虛擬機系統)
5、硬件配置
6、這樣就安裝好了。
總結:
1、首先下載的鏡像文件,相當于一個安裝包。
2、之后的建立虛擬機,相當于對這個安裝包進行安裝。
3、新安裝的 Ubuntu 的使用優化
1、更換背景設置
在 setting 當中去設置
2、關閉更新
3、打開終端
1、快捷鍵: Alt + Ctrl + T
2、右鍵 : open terminal
3、設置 tab 模式
(1)首先打開一個終端、然后點擊上面的 preferences 。
(2)選擇 tab 模式
(3)形式
4、 root 用戶
(1)初始 root 用戶沒有密碼
在終端切換root 用戶的時候,會提示切換失敗。
解決方案:
為 root 用戶建立一個密碼:sudo passwd root
(2)用戶工作的目錄
1、每個用戶都有自己的工作目錄,用戶一般在自己的工作目錄下面干活。
- 比如 cyber 用戶:/home/cyber
2、臨時工作目錄: /opt
3、一般的掛載目錄 /mnt
4、還有一些的特殊的掛載 /media
5、常用的軟件遇到的問題
1、先使 ubuntu 上網
參考文章
2、在 /opt 下面安裝 vim
安裝失敗,解決方案:
- 第一種:更新我們的安裝源
有時候更新之后就,可以下載了
- 第二種:安裝 aptitude 軟件(相當于 軟件管家,類似于 apt-get 這個軟件 )
然后使用 aptitude 軟件,來進行安裝
aptitude install vim
當我們選擇 not 的時候,就會給我們推薦另外一種方案。
這下就安裝好了
6、共享文件夾和 VMtools 的安裝
具體設置可以參考這個視頻:參考視頻
本教程不是很全面,因為直接設置就可以成功,所以并沒有實際安裝這些東西。
(1)安裝 VMtools 軟件:第一種
功能:使windows 和 Ubuntu 可以直接通訊。
(1)可以直接復制文字
(2)可以直接復制軟件
(3)共享文件夾也是 VMtools 的其中一個功能
安裝 VMtools 軟件(1)—— 有的可能是黑的
如果可以點的話,那么會提示這么操作。
(1)我們點擊更新這個按鍵相當于,直接模擬安裝了一個驅動。所以在 Ubuntu當中顯示。
(1)安裝 VMtools 軟件:第二種
參考博客:https://blog.csdn.net/Enochzhu/article/details/103566748
7、搭建 samba 服務器
目的:有時候共享文件夾不能使用,所以我們通過搭建 samba 服務器來實現共享。
主要參考博客:https://blog.csdn.net/weixin_38056448/article/details/83218458
(1)在 ubuntu 安裝 samba 軟件
1、利用軟件 aptitude 來安裝(aptitude 的安裝可以參考第 5 部分)
aptitude install samba(1)先選擇 no ,要求軟件選擇另外的方案
(2)一直選 yes
2、查看當前版本
samba -V
(2)配置不需要登陸的共享文件夾
1、ubuntu 當中的配置
1、在home 目錄下創建一個共享目錄mkdir /home/Anyone_Share2、添加目錄權限chmod o+w /home/Anyone_Share/ // o : other user代表第三個使用權限3、備份配置文件cd /etc/samba/smb.confcp smb.conf ./smb.conf.bak4、修改Samba的配置文件 /etc/samba/smb.confvi /etc/samba/smb.conf5、在文件末尾添加如下內容: #設置客戶端顯示的共享目錄的名字 [share]comment=this is Linux share directory path=/home/Anyone_Share browsable=yes public=yes writable=yes create mask=0777 directory mask=0777上述配置的解釋如下: comment 是關于該目錄的簡要描述 path 參數的共享目錄的位置 browsable 表示是否在 Window Explorer中顯示該目錄 guest ok (或者使用 public)表示是否允許匿名訪問該共享目錄 read only (或者使用 writable = yes)表示是否是只讀 create mode 指明新建立的文件的屬性,一般是0755 directory mode 指明新建立的目錄的屬性,一般是07556、重啟Samba服務使配置生效service smbd restart2、在windows 當中打開
(1)查看ubuntu 的 ip 地址。(在 NAT 模式下面上網)
(2)在windows 當中打開(在我的電腦當中輸入即可)
第一次登陸,需要確認你是 Ubuntu 的哪一個用戶。(輸入 Ubuntu 的用戶名稱與密碼即可)
并不是指 Samba 的用戶
(3)也可以建立一個快捷方式來進行打開
(3)配置需要登陸的文件夾
(我自己并沒有實踐)
Secured share 與 Anonymous share 不同,一個 Secured share 共享目錄,當客戶端訪問時需要輸入用戶名和密碼,因此,相比 Anonymous share, Secured share 共享目錄的安全性更高。當你在一個公共場合搭建Samba服務器時,應該創建 Secured share 共享目錄。
Secured share 共享目錄的創建方法如下:
1、創建一個 secured share 共享目錄并設置權限
$ sudo mkdir -p /home/secret $ sudo chmod o+w /home/secret2、創建一個用于訪問這個 secured share 的用戶
$ sudo useradd sambauser -s /usr/sbin/nologin //創建一個名為sambauser的用戶,指定路徑為/usr/sbin/nologin即不需登陸3、修改共享目錄的User 為 sambauser
$ sudo chown sambauser:sambauser /home/secret //此操作可以忽略4、修改 Samba 配置文件
在文件末尾添加如下內容:
5、將用戶 sambauser加入到本 smbpasswd file
$ sudo smbpasswd -a sambauser6、執行完該命令后會在/etc/samba/smbpasswd添加一條關于密碼的信息
7、重啟 Samba 服務使配置生效
$ sudo service smbd restart至此,Samba服務器配置完成。在Windows可以連接和查看如下:
8、NAT 和 橋接
虛擬機本來就是一臺虛擬出來的設備,(他自己沒有自己的物理網卡)(所以本身不可能通過自己來上網)
我們筆記本電腦有兩個網卡:有線網卡、無線網卡。(所以可以通過:網線和wifi來進行上網)
虛擬機上網的方式:NAT和橋接
(1)NAT方式
1、原理:依賴于主機上網,只要主機windows 可以上網,虛擬機就可以上網。
1、不管 windows 到底是什么方式來上網,只要windows 可以上網,虛擬機就可以上網。
2、筆記本的網卡只服務windows一臺機器,虛擬機然后再依賴 windows 來上網。
3、windows 和 虛擬機公用一個IP地址。(校園網給我們固定的IP地址,我們虛擬機只能通過 NAT 方式來上網)
2、配置:
1、VMware 軟件菜單中選擇 NAT 方式
2、虛擬機設置為dhcp 模式,然后重啟網卡(得到一個合法ip地址)。(怎么設置:查看第9節)
3、缺點:開發板不能與虛擬機通訊
(2)橋接方式
1、原理:橋接方式認為虛擬機是一個獨立的設備。
1、與 windows 主機共同使用有線網卡,和無線網卡。相當于這兩個網卡,共同服務 windows 和 虛擬機。
2、 windows 和 虛擬機使用 IP 地址不同。
2、配置:
1、在虛擬機設置選項當中,選擇橋接方式。
2、編輯——> 虛擬網絡編輯器:選擇橋接到哪里去。(有真實網卡,和虛擬網卡)
Ethernet :有線,Wireless:無線
9、Ubuntu 中網絡設置
鋪墊:我們來查看Ubuntu當中的網絡信息
ens33 網卡:
1、是虛擬機自動創建的網卡,我們可以用它來做橋接或者是NAT。
2、
lo網卡
1、是自動創建的虛擬網卡。
2、IP地址為:127.0.0.1 :用來做回環測試 。
ubuntu從17.10開始,已放棄在/etc/network/interface里固定IP的配置,即使配置也不會生效,而是改成netplan方式
參考文章:https://blog.csdn.net/wfcao1314/article/details/107183188
(1)/etc/network/interfaces 文件
在這個文件當中,我們可以對 Ubuntu 來進行各種網絡配置。
靜態(static)模式:
1、需要我們額外配置 ip 地址信息。
2、自己配置需要注意的問題
address:必須和我們的主機ip 地址在一個網段,但是他們兩個是不一樣的。(因為橋接方式是獨立的IP地址,而路由器分配的地址都是在一個網段里面的)
3、gateway:網關地址,也就是網段的第一個地址
注意:什么情況下會使用 DHCP 服務成功:
(1)NAT 方式上網。(虛擬機依附于windows,直接使用windows 的IP地址)
(2)橋接到電腦的一個網卡上面,而這個網卡連接的外部網絡中有DHCP 服務器。
成功的方式:
1、橋接到無線網卡,然后我們的電腦通過WiFi來連接路由器。
2、橋接到有線網卡,然后我們通過網線來連接路由器。
橋接DHCP,不能上網的情況:
1、橋接到有線網卡,而我們有線網卡并沒有使用,我們使用無線網卡上網。
2、橋接到有線網卡,我們有線網卡的網線,并沒有插到有DHCP 服務器的設備上面。
比如:路由器是由 DHCP 服務器的;而我們的光貓,采用撥號上網是沒有 DHCP 服務器的。
3、校園網的路由器當中雖然有 DHCP 服務器,但是有的學校會禁用,直接給我們分配固定的 IP地址。
(2)重啟網卡的命令
第一種:(有的版本不能用)
sudo /etc/init.d/networking restart第二種:
sudo service networking restart第三種:
ifdown ens33 ifup ens3310、UBuntu 連接開發板時候的網絡設置
(1)根據前面分析的原理,我們 Ubuntu 上網的方式必須設置為橋接方式。
如果是 NAT 方式的話,我們的虛擬機根本沒有暴露在外面。
因為橋接方式:虛擬機和我們的 windows 具有相同的地位。并且還得橋接到有線網卡,因為開發板是通過網線和我們主機連接的。
(2)開發板必須運行 linux (或者 uboot),IP地址設置好,網卡驅動沒問題。
移植網卡驅動必須設置好
(3)虛擬機Ubuntu當中,設置靜態ip 與開發板的到同一個網段,重啟虛擬機網卡。
1、重啟網卡:讓新的ip地址生效。
2、為什么要設置靜態模式?
因為我們筆記本電腦上面通過網線連接到開發板, 開發板上面的網卡可能沒有 dhcp 服務器,
所以根本分配不到 IP地址。
(4)windows 中有線網卡對應的 本地連接,設置為與開發板ip地址的同一網段。
總結:
1、開發板: 192.168.1.10
2、虛擬機Ubuntu :192.168.1.141
3、本地連接:192.168.1.20
他們都在同一個網段,所以可以通訊。
(1)注意細節
1、如果開發板里面運行Linux,開發板和windows,還有Ubuntu 之間都可以ping 通。
2、如果開發板當中運行的是 uboot , 只能從 uboot 去 ping Ubuntu,不能反過來,從Ubuntu ping 開發板。
因為 uboot 是一個裸機程序,并不是一個操作系統,所以它并不會一直循環檢測從Ubuntu 發來的命令。
3、上面的配置設置好以后,我們的開發板能 ping 通Ubuntu, 但是 ping 不通 windows 。(不合理)
往往是因為 windows 的防火墻或者 360 等安全軟件攔截導致的。
二、搭建tftp、nfs 服務器
1、搭建 tftp 服務
1、Ubuntu 安裝 tftp 的服務:tftp-hpa (客戶端)、tftd-hpa(服務程序)、xinetd
sudo apt-get install tftp-hpa tftpd-hpa sudo apt-get install xinetd xinetd 是新一代的網絡守護進程服務程序,又叫超級Internet服務器,常用來管理多種輕量級Internet服務。2、配置 /etc/xinetd.conf
3、配置服務端
修改 /etc/default/tftpd-hpa 文件內容如下
-
TFTP_DIRECTORY : tftp 啟動根目錄, 修改成自己想要的目錄
-
TFTP_OPTIONS : tftp 啟動選項,各選項解析如下:-l –Listen、-c –create、-s –secure
如果你在客戶端獲取文件時出現 Error code 1: File not found 這個錯誤,請檢查一下TFTP_OPTIONS=“-l -c -s”。
4、然后建立TFTP配置文件,
使用命令:“vi /etc/xinetd.d/tftp” 建立文件,向文件中寫入如下代碼(必須按照格式嚴格對齊)
5、修改權限
參數 -R :指子目錄也這樣進行配置
6、重啟 tftp 服務
配置好后,重啟 tftp 服務:
service tftpd-hpa restart /etc/init.d/xinetd reload /etc/init.d/xinetd restart7、測試
本地測試:
遠程測試:
總結
- 上一篇: 解决新版edge浏览器首页被搜狗、hao
- 下一篇: 20190503(cmake安装,利用l