MPSOC的linux開發需要使用petalinux,選擇Ubuntu操作系統。
1.Ubuntu
1.1. Ubuntu安裝
版本16.04.03
vmare版本:12.0
安裝時注意選擇“稍后安裝”,否則是閹割版。另外,有個界面顯示“刪除整個磁盤”指的是虛擬機的磁盤,不會刪除host上的內容,可以放心。
剩下就是一路next了,比較簡單。
1.2. Vmware Ubuntu和HOST主機共享網絡
現在公司的網絡一般都處於域中,而且訪問外網一般都需要批准。偏偏我們公司外網權限不好申請,只能采用變態的方法了。
- HOST(windows)系統下載Fan Qiang軟件,具體名字不說了。保證host能更訪問外網
- 在HOST的軟件里,設置代理,假設產生的代理地址為 :192.168.250.62:9666
- vmware 橋接,使ubuntu產生一個准物里網卡
在vmware-編輯-虛擬網絡編輯器中,把VMnet0固定設置到host的有線網卡上
- ubuntu
設置全局代理服務器:系統設置——網絡——網絡代理設置為http,192.168.250.62:9666——應用到整個系統
設置后,ubuntu的;瀏覽器可以連接外網 - ubuntu 軟件源選擇
由於使用了軟件,選擇官方鏡像,不要選國內鏡像,否則很慢。
其實原理比較簡單,橋接方式使host和ubuntu有自己獨立的網卡,host設置代理,ubuntu用代理上網。類似局域網里兩台計算機。
特別注意:要把host的wifi關掉,否則可能導致網絡異常。 如果用wifi,也可以把第2步設置為無線網卡,不過沒有試過。
1.3. 軟件安裝方法
(1). ubuntu使用apt-get獲取和安裝軟件
(2). 軟件源有官方的源/PPA
官方源不用說了
PPA全稱為Personal Package Archives,是ubuntu母公司設計的網站Launchpad,可以允許第三方上傳軟件,有時一些大軟件,也提供PPA的地址。
(3).軟件安裝方式,以python為例
python在ubuntu下有幾種安裝方法:
通過ubuntu官方的apt工具包安裝
通過PPA(Personal Package Archive) 的apt工具包安裝
通過編譯python源代碼安裝
(4). apt-get怎么知道文件名?
1)直接在shell里輸入待安裝的程序,一般沒有時提示信息里會有apt-get 文件名
2)也可以用apt查找源里的程序
apt-cache search xxxx
1.4. 安裝wine和source insight
習慣了windows的source insight,在ubuntu里裝個wine模擬器,然后就可以安裝windows里的軟件了,也挺方便的。很多人說運行效率低,不過個人感覺還可以,虛擬機給1~2G內存,也沒啥問題。工具嘛,自己用着順手就行了,非得搞個你死我活,沒有必要。
wine有PPA的源,如下方式可安裝wine
sudo add-apt-repository ppa:wine/wine-builds 添加源 sudo apt-get update 把源更新到系統里 sudo apt-get install --install-recommends wine-staging 安裝 sudo apt-get install winehq-staging 安裝
卸載
sudo apt-get install ppa-purge
sudo ppa-purge ppa:wine/wine-build
wine安裝exe也很方便
:~$ wine Usage: wine PROGRAM [ARGUMENTS...] Run the specified program // 用命令行安裝 wine --help Display this help and exit wine --version Output version information and exit wine --patches Output patch information and exit wine --check-libs Checks if shared libs are installed
例乳 wine sisetup.exe 即可安裝source insight
2.petalinux
petalinux的詳細介紹xilinx有專門的文檔:ug1144-petalinux-tools-reference-guide.pdf
2.1. 安裝依賴軟件和庫
安裝依賴很多線程的軟件和庫,大部分比較好裝,直接用apt-get install即可。在安裝過程中,也遇到了一些問題,記錄一下.
2.1.1 python 3.4
ubuntu的軟件源最新為2.7.0,不滿足要求,只能去官網下了 使用PPA方式:
sudo add-apt-repository ppa:fkrull/deadsnakes sudo apt-get update sudo apt-get install python3.6
指定默認打開新裝的3.6 安裝完成之后,你在終端中輸入python,輸出的信息里面會提示是2.7版本的,也就是說默認打開的並不是剛才安裝好的3.5,所以還需要我們重新修改一下鏈接。
:/usr/bin$ ls pyth* -ln lrwxrwxrwx 1 0 0 9 11月 22 10:55 python -> python2.7 lrwxrwxrwx 1 0 0 9 11月 22 10:55 python2 -> python2.7 -rwxr-xr-x 1 0 0 3546104 11月 19 2016 python2.7 lrwxrwxrwx 1 0 0 9 11月 22 10:55 python3 -> python3.5 -rwxr-xr-x 1 0 0 4460336 11月 18 2016 python3.5 -rwxr-xr-x 1 0 0 4460336 11月 18 2016 python3.5m -rwxr-xr-x 2 0 0 4437376 7月 29 23:26 python3.6 -rwxr-xr-x 2 0 0 4437376 7月 29 23:26 python3.6m lrwxrwxrwx 1 0 0 10 11月 22 10:55 python3m -> python3.5m
方法如下: :/usr/bin$ sudo cp python python_back :/usr/bin$ sudo rm python :/usr/bin$ sudo ln -s python3.6 python :/usr/bin$ python Python 3.6.2 (default, Jul 17 2017, 23:14:31) [GCC 5.4.0 20160609] on linux Type "help", "copyright", "credits" or "license" for more information. >>> exit()
2.1.2 libglib2.0-dev
dpkg: 處理軟件包 xxxxxxxx (--configure)時出錯:
可能時把apt搞亂了,網上有方法
我的ubuntu是16.04版本,今天安裝軟件各種突然安裝不上,有如下提示:
/××××××××××××××××××××××××××
dpkg: 處理軟件包 python-crypto (--configure)時出錯:
子進程 已安裝 post-installation 腳本 返回錯誤狀態 1
...
dpkg: 處理軟件包 samba-common-bin (--configure)時出錯:
依賴關系問題 - 仍未被配置
...
等等問題,最后
在處理時有錯誤發生:
python-dnspython
python-crypto
python-ldb
python-tdb
python-samba
samba-common-bin
samba
libglib2.0-dev
libatk1.0-dev
libcairo2-dev
libgdk-pixbuf2.0-dev
libpango1.0-dev
libgtk2.0-dev
E: Sub-process /usr/bin/dpkg returned an error code (1)
××××××××××××××××××××××××××/
最后上網找答案:
dpkg: 處理軟件包 python-crypto (--configure)時出錯:
該軟件包正處於非常不穩定的狀態;
您最好在配置它之前,先重新安裝它
在處理時有錯誤發生:
python-crypto
E: Sub-process /usr/bin/dpkg returned an error code (1)
復制代碼
#解決這個問題需要備份dpkg下的info,然后自己創建一個新的info,然后更新,再把新的info里的內容拷貝到舊的里面,舊的再改成info,刪除自己添加的
:~$ sudo mv /var/lib/dpkg/info /var/lib/dpkg/info_old :~$ sudo mkdir /var/lib/dpkg/info :~$ sudo apt-get update :~$ sudo apt-get -f install :~$ sudo mv /var/lib/dpkg/info/* /var/lib/dpkg/info_old :~$ sudo rm -rf /var/lib/dpkg/info :~$ sudo mv /var/lib/dpkg/info_old /var/lib/dpkg/info
這個方法是有效的
2.2. 安裝petalinux
安裝好依賴庫以后,petalinux本身安裝比較順利,沒報啥錯誤。
petalinux也就是把開發過程打成若干腳本了,其實限制還是挺多的,感覺不如用gcc和make這類底層的靈活,后續看看怎么把這些東西剝離出來。