背景
最近学习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无法安装成功,有没有大神找到解决办法,告知一下呢。