Windows10下使用wsl2 + ubuntu1804安装Xilinx petalinux
WSL 是?Windows Subsystem for Linux?的簡稱, 可讓開發人員在Windows 10下按原樣運行 GNU/Linux 環境 - 包括大多數命令行工具、實用工具和應用程序 - 且不會產生虛擬機開銷。說白一點,就是在windows 10 下安裝 linux 系統,不需要借助虛擬機!
可以去知乎杜娘等了解它,WIN10系統支持WSL1跟WSL2了。本文就WIN10下安裝WSL2,并在WSL2中安裝UBUNTU18.04,在UBUNTU下安裝配置Xilinx開發工具Petalinux做一個簡單介紹。
一般來說,如果只是需要linux編譯,調試等在windows的話,WSL2足夠了。WSL2的缺陷就是硬件設備的支持不夠,USB,USB串口等都還不支持。
1,安裝WSL.
將適用于 Linux 的 Windows 子系統更新到新版本WSL2的主要目標是,提高文件系統性能并支持完全的系統調用兼容性。
WSL 2 使用最新、最強大的虛擬化技術在輕量級實用工具虛擬機 (VM) 中運行 Linux 內核。?但是,WSL 2 不是傳統的 VM 體驗。
| ? | ||
| 功能 | WSL 1 | WSL 2 |
| Windows 和 Linux 之間的集成 | ? | ? |
| 啟動時間短 | ? | ? |
| 占用的資源量少 | ? | ? |
| 托管 VM | ? | ? |
| 完整的 Linux 內核 | ? | ? |
| 完全的系統調用兼容性 | ? | ? |
| 與 VM Ware 和 VirtualBox 一起運行 | ? | ? |
| 跨 OS 文件系統的性能 | ? | ? |
?
只有 Windows 10 版本 2004 的內部版本 19041 或更高版本中才提供 WSL 2
如果你的Windows10不能自動更新到最新版本,請使用Microsoft的更新助手手動更新。
更新成功,檢查一下版本
1.1 以管理員權限啟動 PowerShell,然后輸入以下命令啟用虛擬機平臺:
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
會提示重啟啟動,輸入y
1.2 以管理員權限啟動 PowerShell,然后輸入以下命令啟用 Linux 子系統功能:
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux
如果提示要重啟,請輸入y.
當然,啟用 Linux 子系統功能也可以通過設置->應用->應用和功能->可選功能->更多Windows功能來安裝
注意:1.1啟用虛擬機平臺如果沒有做的話,1.2啟用的WSL只能是WSL版本1,后面無法切換到WSL2。
可以再powershell里面輸入wsl --set-default-version 2 設置默認為WSL2.
如果提示“有關與 WSL 2 的主要區別的信息,請訪問 https://aka.ms/wsl2” ,則表示正常,如果運行該命令后,你可能會看到此消息:WSL 2 requires an update to its kernel component. For information please visit https://aka.ms/wsl2kernel。?跟隨鏈接(https://aka.ms/wsl2kernel),在文檔中安裝來自該頁面的 MSI,以便在計算機上安裝 Linux 內核供 WSL 2 使用。?安裝內核后,請再次運行該命令,該命令應會成功完成而不顯示消息
?
2,安裝Ubuntu18.04
可以有兩種方法安裝,如果系統會經常被搞壞的話,選擇方法2下載回來安裝的方式比較合適。
2.1 從Microsoft Store安裝
打開Microsoft Store,搜索ubuntu,選擇ubuntu18.04 LTS版本,等自動下載完成安裝后,點啟用即可啟動。
2.2 下載ubuntu18.04安裝?
打開網頁?https://wiki.ubuntu.com/WSL? ,找到如下圖,下載ubuntu 18.04 LTS.
在powershell里面輸入
Add-AppxPackage .\CanonicalGroupLimited.Ubuntu18.04onWindows_1804.2018.817.0_x64__79rhkp1fndgsc.Appx
如果文件名被下載工具改名了,請做相應修改,比如我的被下載工具加尾綴.zip了。
?
注意:進入ubuntu,有2種方法,一是通過powershell,在powershell里面輸入bash即可。另外一種是在windows開始菜單里面找ubuntu進入。但2種進入的方式,對windows本地文件的操作權限是不一樣的。
安裝完成后建議更換一下安裝目錄到別的盤,畢竟C盤一般都不是很大,而且petalinux的每一個工程都可能過20GB.
如果你進入系統是ROOT用戶,可以在powershell里面輸入 ubuntu config --default-user htpc?? 來修改(這里我的普通用戶名是htpc) 。注意:通過export 再import后,ubuntu,ubuntu-18.04這2個命令有時都不存在了,要輸入ubuntu1804.exe config --default-user htpc
由于默認WSL是256G的容量,我們安裝Vivado就要幾十GB,建議修改一下虛擬磁盤容量。
先在powershell里面輸入wsl --shutdown 關閉所有實例,否則擴容會失敗
windows運行diskpart,按windows鍵+r
單位是MB,我這里設置了512GB.
然后進入ubuntu,resize2fs一下
關于WSL的命令參考,見https://docs.microsoft.com/zh-cn/windows/wsl/reference
?
2.3 設置圖形界面
WSL2是通過X-Server來顯示圖形界面的。
詳細介紹請參考https://ncj.wiki/2019/04/03/2019-04-03_Gnome/
wsl,wsl2會有稍微不同的地方,見https://wiki.ubuntu.com/WSL Advance Topics部分的running Graphical Applications。
修改.bashrc文件
nano? ~/.bashrc
在最后加入
export DISPLAY=$(awk '/nameserver / {print $2; exit}' /etc/resolv.conf 2>/dev/null):0 # in WSL 2export LIBGL_ALWAYS_INDIRECT=1保存退出
source? ?~/.bashrc
注意WSL2版本一定要設置防火墻例外,不然會被防火墻給攔了,顯示不了。因為WSL顯示沒問題,切換到WSL2不能顯示我以為是設置問題,是個大坑。
安裝ubuntu桌面
sudo apt-get install -y tasksel
sudo tasksel
空格鍵選擇,確認ubuntu desktop被選擇上,別選擇Xu,ku等, TAB鍵到OK處回車。
Windows上需要安裝X-Server,請下載并安裝https://sourceforge.net/projects/vcxsrv/
Petalinux配置內核的時候需要打開gnome-terminal,如果沒有配好圖形界面,會出錯。啟動Xlaunch
?
?
3,安裝petalinux2019.2
我的petalinux安裝文件在e:\idm目錄下,windows這個目錄在ubuntu對應/mnt/e/idm
進入ubuntu,建立/opt/xilinx/peta192目錄,并將owner設置為htpc(htpc是我的linux下的用戶名)。
sudo mkdir /opt/xilinx
sudo chown -R? htpc:htpc? /opt/xilinx
mkdir /opt/xilinx/peta192
先安裝petalinux的依賴庫等。由于有一個庫是32位的,我們要打開32位源。至于petalinux需要哪些,可以看ug1144,2019.2版本的ug1144的那個文檔的第10頁。
sudo dpkg --add-architecture i386
sudo apt-get update
sudo apt-get install -y tofrodos iproute2 gawk make net-tools libncurses5-dev libssl-dev flex bison libselinux1 gnupg wget diffstat chrpath socat xterm autoconf libtool tar unzip texinfo zlib1g-dev gcc-multilib build-essential screen pax gzip python zlib1g:i386
?
通過powershell進入ubuntu的,可以直接安裝petalinux了,如果是通過windows開始菜單進入,則需要檢查當前目錄是否有寫權限。
powershell:
ubuntu(在用戶home目錄)
注意:petalinux2020.1開始,指定安裝目錄加-d選項
建議在xilinx網站將離線包下載回來,避免每次編譯都要去聯網,特別是連國外網站,速度非常慢,編譯可能只要10來分鐘,但網絡連接可能都要半小時以上。sstate根據自己所用器件來選擇,我用MPSoc,所以下載了aarch64 sstate-cache,然后在下載了downloads
cd /opt/xilinx/peta192
cp /mnt/e/idm/sstate_aarch64_2019.2.tar.gz? ./
tar? xvf? ?sstate_aarch64_2019.2.tar.gz
cp? /mnt/e/idm/downloads_2019.2.tar.gz? ./
tar? xvf? ?downloads_2019.2.tar.gz?
mv? ?sstate_aarch64_2019.2 sstate
修改conf文件,
cd /opt/xilinx/peta192
nano? etc/template/project/common/project-spec/meta-user/conf/petalinuxbsp.conf
加入下面2行
DL_DIR = ?"/opt/xilinx/peta192/downloads"
SSTATE_DIR = "/opt/xilinx/peta192/sstate/aarch64"
你可以參考“How to reduce build time using SSTATE CACHE”在下面連接
https://xilinx-wiki.atlassian.net/wiki/spaces/A/pages/18842475/PetaLinux+Yocto+Tips?
不過官網是修改自己工程里面的petalinuxbsp.conf文件,如果你建立工程的時候用了官方或別人的BSP包,上面修改的2行不起效果,需要修改自己工程里面的那個petalinuxbsp.conf文件。
?
可以開始build你的petalinux工程了,你會發現,它會用滿你的CPU跟線程。啟動WSL飛快,VM是沒法比的。
?
問題總結:
1,檢查你的ubuntu的發行版本,在powershell里面輸入
wsl -l -v?如果發現版本是1,不用著急,可以轉換的,<Distro>是上面命令列舉出來你的那個ubuntu的名字
wsl --set-version <Distro> 2?
2, source /opt/xilinx/peta192/settings.sh 后提示沒有tftp server,這個你可以自己配置一下即可:
請參考https://blog.csdn.net/hilda_jlu/article/details/23561969
2種方式均可,但注意petalinux默認的tftp目錄是/tftpboot
如提示WARNING: /bin/sh is not bash!? 則只需要修改一下,執行
sudo dpkg-reconfigure dash?
選擇No
3, Windows訪問ubuntu文件,非常簡單,只需要在ubuntu下面輸入命令:注意下面命令最后有一個".“符號。
explorer.exe? .? ?
?
?
總結
以上是生活随笔為你收集整理的Windows10下使用wsl2 + ubuntu1804安装Xilinx petalinux的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: u盘图片损坏怎么恢复
- 下一篇: 小班中班,随机10以内加法练习题,A4纸