Ubuntu-18.04 LTS嵌入式linux開發(fā)環(huán)境搭建
ubuntu-18.04 LTS于 2018年4月26號(hào)正式發(fā)布,很多網(wǎng)友早就迫不及待下載下來安裝了,同時(shí)也在博客分享了自己的安裝體驗(yàn),分desktop和server的文章,寫得稍微簡(jiǎn)單了一些。本人這幾個(gè)月一直在忙嵌入式AI ARM+VPU平臺(tái)設(shè)計(jì),沒有及時(shí)去體驗(yàn)ubuntu-18.04 LTS,不過本人也得跟上步伐,因?yàn)楸竟救ツ觊_發(fā)的DM8127平臺(tái)最新版本的SDK3.9.1需要用到64bit虛擬機(jī),正在玩的Intel Movidius Myriad 2 VPU,里面SDK包涉及到深度學(xué)習(xí),用到比較新的Python編程,比如Caffe和GOOGLE的Tensorflow,都需要高版本的ubuntu來支持,所以這幾天下載下來安裝體驗(yàn)了一下。在體驗(yàn)過程中發(fā)覺有些地方需要注意的地方,所以決定寫下來分享一下,讓網(wǎng)友提出批評(píng)指正。還有本公司側(cè)重嵌入式linux圖像識(shí)別、機(jī)器視覺的開發(fā)(TI DM8127,海思Hi3516D,Hi3519平臺(tái)),本人將從嵌入式linux的角度去寫這個(gè)開發(fā)環(huán)境搭建,這一點(diǎn)和其他網(wǎng)友寫的文章有比較大差別,希望對(duì)一些愛好嵌入式linux的朋友有所幫助。
目前創(chuàng)新互聯(lián)建站已為超過千家的企業(yè)提供了網(wǎng)站建設(shè)、域名、網(wǎng)頁空間、網(wǎng)站運(yùn)營(yíng)、企業(yè)網(wǎng)站設(shè)計(jì)、朝陽網(wǎng)站維護(hù)等服務(wù),公司將堅(jiān)持客戶導(dǎo)向、應(yīng)用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長(zhǎng),共同發(fā)展。
一、 ubuntu-18.04 LTS簡(jiǎn)單介紹
ubuntu-18.04 LTS長(zhǎng)期支持版本代號(hào)叫仿生海貍,使用linux kernel v4.15版本,
ubuntu-16.04 LTS 的Unity被取消,被ubuntu-18.04 LTS gnome取代,其他詳細(xì)的優(yōu)缺點(diǎn)可以看看其他網(wǎng)友的文章和官方的介紹。下載地址:https://www.ubuntu.com/download/alternative-downloads,
下面開始我們的搭建步驟,用圖說話,有些步驟和本人寫的《圖像識(shí)別DM8127開發(fā)攻略——開發(fā)環(huán)境搭建》里面描述的ubuntu-16.04 LTS很類似,畢竟兩個(gè)版本發(fā)布時(shí)間間隔不是很長(zhǎng)。
二、 VMware-workstation-full-14.1.2安裝(僅供學(xué)習(xí)參考)
我們一直使用VMware虛擬機(jī),以前很多開發(fā)攻略文章都提到過,為了能夠正常安裝ubuntu-18.04 LTS,我們只能使用這個(gè)最新虛擬機(jī)版本,剛開始本人使用VMware-workstation-full-12.5.7,發(fā)覺安裝不順利,特別是安裝到VMware tools共享文件夾的時(shí)候,失敗了。然后本人就試試使用VMware-workstation-full-14.1.2來重新安裝ubuntu-18.04 LTS,一切順利。
點(diǎn)擊安裝VMware-workstation-full-14.1.2,如果電腦上面有舊版本的VM虛擬機(jī),可以先卸載,再安裝這個(gè)最新的VM虛擬機(jī),這個(gè)并不影響你以前安裝正在使用的那些ubuntu *.vmdk的開發(fā)環(huán)境,比如我們以前的Ubuntu16_dm8127.vmdk,是使用VMware-workstation-full-12.5.7安裝的,現(xiàn)在安裝好VMware-workstation-full-14.1.2同樣可以使用,新版本VM肯定兼容以前的版本的東西。
圖-1
按圖-1 選擇好路徑安裝,比如一般放在D盤。
圖-2
網(wǎng)上下載的版本最好不要去打鉤。
圖-3
安裝完先不要急點(diǎn)擊“完成”,應(yīng)該使用“許可證”去處理。本人這里提供不了密鑰,要的話自己網(wǎng)上查找,呵呵。輸入密鑰完成VMware-workstation-full-14.1.2安裝后,先不要急馬上去安裝ubuntu18.04,我們需要先在WIN7下面網(wǎng)絡(luò)屬性進(jìn)入屬性配置界面。見下圖,“共享”的地方選擇VMware Network Adapter VMnet1,這樣后面創(chuàng)建ubuntu18.04虛擬機(jī)的時(shí)候,使用橋接網(wǎng)口模式可以讓虛擬機(jī)可以訪問WIN7的共享文件夾等等。
圖-4
然后重啟一下電腦,再安裝ubuntu-18.04 LTS,效果估計(jì)更好
三、 ubuntu-18.04 LTS安裝
圖-5
圖-6
圖-7
圖-8
圖-9
本公司開發(fā)部電腦基本都是8G內(nèi)存以上,我們一般建議使用3G內(nèi)存給虛擬機(jī),最低要求是2G。
圖-10
圖-11
圖-12
圖-13
圖-14
老話題,保存虛擬機(jī)單獨(dú)一個(gè)文件,在WIN7下好管理,好壓縮保存虛擬機(jī)進(jìn)行備份。在WIN7下找一個(gè)比較大空間的分區(qū),分至少50G空間給虛擬機(jī),因?yàn)橐院笠b很多東西。
圖-15
圖-16
先點(diǎn)擊“自定義硬件”,按圖-17,圖-18設(shè)置,再點(diǎn)擊完成。
圖-17
找到你下載好的ubuntu-18.04-desktop-amd64.iso鏡像文件。
圖-18
圖-18選擇這個(gè)虛擬化Intel VT-x/EPT,是保證后面開始安裝ubuntu-18.04 64位操作系統(tǒng),一開始安裝不成功的問題,見圖-20的顯示。
圖-19
圖-20
圖-21
如果在圖-18選擇了虛擬化Intel VT-x/EPT還解決不了ubuntu-18.04 64位操作系統(tǒng)安裝問題,則需要在啟動(dòng)電腦的時(shí)候,進(jìn)入BIOS去設(shè)置,見圖-21的選擇,保存退出BIOS,就OK了。
圖-22
進(jìn)入熟悉的安裝界面,繼續(xù)看圖說話。
圖-23
圖-24
允許升級(jí)安裝一些第3方的軟件包。
圖-25
圖-26
圖-27
圖-28
公司重點(diǎn)在做嵌入式AI ARM+VPU的平臺(tái),我們?nèi)〉钠胀ㄓ脩裘志徒衭buntu18vpu吧。圖-28 的名字定義會(huì)體現(xiàn)在下圖vpu@ai-vpu:,見圖-29
圖-29
圖-30
開始長(zhǎng)時(shí)間安裝ubuntu-18.04。
圖-31
ubuntu-18.04安裝結(jié)束后,先不要急重啟虛擬機(jī)Restart Now,應(yīng)該按圖-31先斷開虛擬機(jī)光盤的鏡像連接,即不要再讓虛擬機(jī)啟動(dòng)的時(shí)候繼續(xù)運(yùn)行ubuntu-18.04-desktop-amd64.iso文件。
圖-32
最后重啟虛擬機(jī)。
四、 對(duì)ubuntu-18.04 LTS構(gòu)建良好的開發(fā)環(huán)境
1、 ubuntu-18.04 LTS支持普通用戶登錄
圖-33
圖-34
按上面步驟安裝好ubuntu-18.04后,重啟虛擬機(jī),就進(jìn)入圖-33的普通用戶登錄界面(本人發(fā)覺這個(gè)登錄時(shí)間有點(diǎn)慢,目前還沒有時(shí)間去優(yōu)化ubuntu-18.04的啟動(dòng)腳本,網(wǎng)上有人說是界面管理工具,負(fù)責(zé)系統(tǒng)啟動(dòng)圖形顯示的plymouth-read-write.service和plymouth-quit-wait.service就占用了50多秒,有的說是虛擬機(jī)里面的顯卡驅(qū)動(dòng)安裝問題),點(diǎn)擊普通用戶賬號(hào),輸入密碼登錄。
圖-35
接下來我們先熟悉ubuntu-18.04 LTS的界面,左下角那9個(gè)點(diǎn)就是:Show Applications,點(diǎn)擊它,熟悉它。特別是settings界面見圖-35,先設(shè)置有線網(wǎng)絡(luò),保證能在ubuntu-18.04里面能上網(wǎng),否則無法進(jìn)行軟件包升級(jí)。其他settings可以放到后面再優(yōu)化。
圖-36
在圖-35的settings界面,我們點(diǎn)擊Network里面的Wired,則會(huì)出現(xiàn)圖-36的界面,輸入熟悉的網(wǎng)絡(luò)配置,為了通過我們公司路由接到外網(wǎng),這個(gè)DNS必須根據(jù)你公司連接外網(wǎng)的路由器分配的DNS一致。網(wǎng)絡(luò)設(shè)置好后,我們可以點(diǎn)擊火狐瀏覽器打開網(wǎng)頁測(cè)試一下,網(wǎng)絡(luò)通了就可以做apt install這些操作了。
2、 ubuntu-18.04 LTS支持root登錄
首先在普通用戶登錄的情況下,使用#sudo su,然后輸入普通用戶ubuntu18vpu的密碼1234567,臨時(shí)切換到root權(quán)限下操作。
先安裝vim編輯器,#apt-get install 和#apt install命令是一樣的。
#apt install vim
#apt install v p n c git (v p n c 竟然被屏蔽,注意沒空格)
圖-37
圖-38
然后按圖-38進(jìn)入/etc/pam.d目錄下,#vim gdm-autologin
圖-39
按圖-39修改屏蔽,然后保存文件退出。
圖-40
按圖-40修改,#vim gdm-password,保存退出。
圖-41
使用#passwd root,添加root,并設(shè)置root的登錄密碼2次,我們使用簡(jiǎn)單的1234567密碼,見圖-41。
然后編輯/root/.profile文件,#vim /root/.profile
圖-42
按圖-42紅框去修改,先屏蔽mesg n || true,然后后面添加:
tty –s && mesg n || true
保存退出。
重啟虛擬機(jī),進(jìn)入下面的登錄界面。
圖-43
圖-44
圖-45
點(diǎn)擊“ Not listed?”,去選擇root登錄,見圖-43,圖-44,圖-45。
做linux嵌入式開發(fā),我們喜歡使用root權(quán)限去操作,下面其他步驟也是在root的權(quán)限下去做的。
3、 ubuntu-18.04 LTS優(yōu)化界面
我們回到圖-35的settings界面,繼續(xù)對(duì)ubuntu-18.04 LTS環(huán)境進(jìn)行優(yōu)化, 比如背景設(shè)置Background,設(shè)置電源Power關(guān)閉屏保等等,
圖-46
圖-47
設(shè)置顯示設(shè)備模式,我們選擇1280*800模式。剛開始看不完整個(gè)界面,可以按下圖-48去操作,
圖-48
右鍵點(diǎn)擊Displays上邊,然后再選擇“Move”,
圖-49
安裝net-tools工具:
在ubuntu-18.04,ifconfig 已經(jīng)被ip 取代,比如ifconfig –a 應(yīng)該改成ip –a,但是我們有些腳本還需要用到ifconfig,后面安裝VMware-tools的需要用到,
#apt-get install net-tools
圖-50
安裝gnome優(yōu)化界面工具,這個(gè)好處可以百毒一下。
#apt install gnome-tweak-tool
#apt install gnome-shell-extensions
#apt install chrome-gnome-shell
繼續(xù)安裝有用的工具
#apt install make (天啊這個(gè)命令沒有默認(rèn)自帶,還要我們自己安裝)
#apt install unrar
安裝文件夾和文件比較工具meld
#apt install meld
4、 在ubuntu-18.04 LTS安裝VMware-tools
圖-51
運(yùn)行ubuntu-18.04虛擬機(jī),然后點(diǎn)擊VMware Workstation菜單,見圖-51。
圖-52
虛擬機(jī)里面的光盤會(huì)鏈接到VMware tools的鏡像。
圖-53
圖-54
在/media/root/VMware Tools目錄下,去解壓壓縮文件包到一個(gè)臨時(shí)目錄。
圖-55
解壓完后,進(jìn)入臨時(shí)目錄的vmware-tools-distrib文件夾,執(zhí)行./vmware-install.pl。
圖-56
一定要輸入“Y”回車。
圖-57
這個(gè)圖-57的地方就是如果沒預(yù)先安裝apt install net-tools,就沒有ifconfig常用的命令,就會(huì)出現(xiàn)圖-57的問題,然后輸入“yes”可以解決問題,但按照本文的步驟來安裝,就不會(huì)出現(xiàn)找不到ifconfig的原因,VMware-tools安裝會(huì)順利些。
圖-58
安裝VMware-tools結(jié)束后,我們繼續(xù)設(shè)置虛擬機(jī)。
圖-59
設(shè)置和WIN7共享文件夾。
圖-60
在WIN7某個(gè)盤生產(chǎn)一個(gè)新的共享文件夾。
圖-61
到圖-61的地方就基本搞定WIN7和虛擬機(jī)里面的ubuntu-18.04共享文件夾了。在ubuntu-18.04的命令行進(jìn)入:
#cd /mnt/hgfs
#ls
就可以看到共享文件夾的名字ubuntu18s。
5、 解決ubuntu-18.04休眠死機(jī)的辦法
有網(wǎng)友給出以下方法:
#apt install pm-units(ubuntu-18.04已經(jīng)自帶安裝好的,可以不用安裝)
#apt install laptop-mode-tools
#gedit /etc/laptop-mode/laptop-mode.conf
圖-62
保存退出
#laptop_mode start
#cat /proc/sys/vm/laptop_mode
如果顯示值為非0,那就OK了。
以上是網(wǎng)友提供的方法,但是本人測(cè)試后還是不行,就是本人電腦WIN7進(jìn)入休眠狀態(tài)后,正在虛擬機(jī)里運(yùn)行的ubuntu-18.04還是死機(jī),分析很多網(wǎng)友同樣的問題,很可能是顯卡驅(qū)動(dòng)的問題,還有內(nèi)核版本的問題。這里本人還沒有測(cè)試在VM虛擬機(jī)里面更新顯卡驅(qū)動(dòng)。所以這個(gè)問題還是沒有很好的解決,如果有網(wǎng)友能夠徹底這個(gè)BUG,可以分享出來學(xué)習(xí)。
(補(bǔ)充說明:更新ubuntu-18.04內(nèi)核版本到4.15.18和同時(shí)更新nvidia-390 nvidia-prime顯卡驅(qū)動(dòng)可以解決這個(gè)問題,感謝網(wǎng)友:https://www.cnblogs.com/maxuewei2/p/8974243.html)
五、 安裝TFTP server
ubuntu-18.04安裝TFTP server和ubuntu-16.04一樣。
使用tftpd-hpa,它是一個(gè)功能增強(qiáng)的TFTP服務(wù)器,
#apt install xinetd
#apt install tftpd-hpa
(注意:不要安裝tftp-hpa客戶端,否則板子無法TFTP下載BIN文件)
#mkdir /tftpboot
#chmod –R 777/tftpboot
#gedit /etc/default/tftpd-hpa
圖-63
然后嵌入式板子要燒寫的BIN文件放到這個(gè)/tftpboot目錄,在板子的u-boot去tftp下載對(duì)應(yīng)文件,OK沒問題,可以正常下載燒寫。
六、 安裝NFS server
#apt install nfs-kernel-server
#gedit /etc/exports
圖-64
按上圖添加板子以后要掛載的NFS文件系統(tǒng)的目錄
還有個(gè)地方需要修改:
Ubuntu 17.10 之后 nfs 默認(rèn)就只支持協(xié)議3和協(xié)議4,但是嵌入式板子 uboot 默認(rèn)啟動(dòng)的是協(xié)議2,若想要求主機(jī) nfs 支持協(xié)議2,就得:
#gedit /etc/default/nfs-kernel-server
尾部添加:
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"
圖-65
保存文件退出,最后做:
#/usr/sbin/exportfs –av
#/etc/init.d/nfs-kernel-server restart
然后拿我們開發(fā)的海思Hi3516D板子,在UBOOT設(shè)置好bootarg NFS登錄的參數(shù),上電啟動(dòng)嵌入式Hi3516D板子。
圖-66
出現(xiàn)圖-65就說明NFS設(shè)置成功了。
七、 總結(jié)
至此,ubuntu-18.04 LTS嵌入式開發(fā)環(huán)境已經(jīng)搭建好一大半,為什么這么說呢?因?yàn)榍度胧桨遄拥慕徊婢幾g環(huán)境還沒搭建,本人在這里也不想追加,因?yàn)槲覀冮_發(fā)的平臺(tái)有DM8127(ARM+DSP),Hi3516(ARM+IVE), Hi3519(ARM+IVE),還有支持深度學(xué)習(xí)的VPU平臺(tái),每個(gè)平臺(tái)的交叉編譯工具不一樣,所以本人就寫到這里為止。后面有興趣再寫其他Hi3516-Hi3519的交叉編譯環(huán)境搭建,而DM8127的開發(fā)環(huán)境以前已經(jīng)寫過,只不過最新的SDK版本3.9.1需要用到64位操作系統(tǒng),其他搭建步驟大同小異。我們這里重點(diǎn)是如何在ubuntu-18.04 LTS上面搭建嵌入式LINUX開發(fā)環(huán)境,因?yàn)閡buntu-18.04 LTS剛發(fā)布不久,很多東西需要去體驗(yàn)和修正,本人寫出來,希望得到高手指正,讓ubuntu-18.04 LTS開發(fā)環(huán)境更流暢好用。本人交流聯(lián)系方式:QQ:2505133162。