背景
最近學習Linux驅動開發,雖然可以利用虛擬機安裝Ubuntu系統後進行開發,但是由於習慣了Windows下操作,Ubuntu下尋找資料也很不方便,開啓了虛擬機後,我都電腦內存佔用將近80%了(哎,我的只有8G內存),另外vscode在linux下經常有一些莫名其妙的問題,迫切希望能夠在windows進行開發,發現win10竟然自帶了wsl(Windows Subsystem for Linux),一下柳暗花明啦。
安裝WSL
- 啓用win10的WSL
在控制面板卸載程序裏,找到啓用或關閉windows功能。
在最下面找到並勾選“適用於Linux的Windows子系統”,然後等待電腦重啓
- 安裝Linux發行部
在微軟商城,Microsoft Store搜索你想安裝的Linux系統,我選的是Ubuntu 18.04 LTS版本。
- 安裝完成
打開CMD,輸入bash,如果能夠打開Linux終端,說明安裝成功。可以看出WSL 將其它盤符掛載在 /mnt 下。
我們找一下Ubuntu安裝的位置如下,C:\Users\Administrator\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu18.04onWindows_79rhkp1fndgsc\LocalState\rootfs。
- 其他操作
更換阿里源,安裝VIM等等,百度就太多了,就不列舉了。
安裝VScode
不得不說vscode實在是功能太強大了,我太喜歡它的配色了,哈哈。安裝方式就是到微軟官網下載vscode進行安裝即可。
交叉編譯工具鏈安裝
到Linaro下載適合自己的交叉編譯,我這裏就使用原子哥下載好的,gcc-linaro-4.9.4-
2017.01-x86_64_arm-linux-gnueabihf.tar.xz。安裝完成後修改一下環境變量即可。
編譯u-boot
用vscode打開u-boot(我使用的是正點原子的imx),新建終端(CTRL+~),輸入bash,然後運行shell腳本
最終結果如下
搭建TFTP服務器
-
安裝tftp服務器和客戶端
sudo apt-get install tftp-hpa tftpd-hpa -
新建tftpboot目錄
- 創建tftp文件
sudo vi /etc/xinetd.d/tftp,添加以下內容,添加完成後保存,啓動tftp服務:sudo service tftpd-hpa start。
server tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /mnt/f/linux/tftpboot/ //注意更改成自己的tftpboot路徑
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
- 修改tftpd-hpa文件
sudo vi /etc/default/tftpd-hpa,修改如如下內容,保存後,重啓tftp服務:sudo service tftpd-hpa restart
#/etc/default/tftpd-hpa
TFTP_USERNAME=“tftp”
TFTP_DIRECTORY="/mnt/f/linux/tftpboot" //注意更改成自己的tftpboot路徑
TFTP_ADDRESS=":69"
TFTP_OPTIONS="-l -c -s"
通過tftp下載u-boot
-
拷貝u-boot
拷貝剛纔編譯的u-boot.imx到tftpboot目錄下,並賦予最大權限(777)。 -
開發板進入u-boot
復位開發板,倒計時結束前按任何按鍵進入u-boot,
-
環境變量修改
修改開發板環境變量,ipaddr,serverip參數等等
- ping 電腦主機ip
我都主機ip是:192.168.101.4,在開發板ping一下:ping 192.168.101.4,能夠ping通,說明網絡正常
- 下載u-boot
tftp 80800000 u-boot.imx,看到done,說明下載成功
wsl無法安裝nfs
我試了一下nfs,好像在wsl無法安裝成功,有沒有大神找到解決辦法,告知一下呢。