学习嵌入式Linux的首先是开发环境安装,在Linux平台上使用交叉编译器编译,但是VM虚拟机体积大,使用起来用户体验很不好,尤其是电脑内存捉急的。有没有可以替代的方法呢?答案是可以使用WSL
什么是WSL?适用于 Linux 的 Windows 子系统可让开发人员按原样运行 GNU/Linux 环境 - 包括大多数命令行工具、实用工具和应用程序 - 且不会产生传统虚拟机或双启动设置开销。
WSL1和WSL2区别
首先从官方的比较中可以看出除了跨操作系统文件系统的性能外,WSL 2 体系结构在多个方面都比 WSL 1 更具优势。但是假如需要使用的串口或者跨操作系统文件系统的话只能选择WSL1,笔者在这里只用到了wsl进行行编译,其他操作全部windows下解决,所以选择WSL2
安装WSL
首先需要在电脑BIOS中打开VT
具体步骤请按电脑品牌百度
自动安装步骤
powershell输入以下命令(WIN+X)
1 | wsl --install |
此命令将下载最新的 Linux 内核,将 WSL 2 设置为默认值,并安装 Linux 发行版。步骤简单但是默认安装在C盘,虽然只有几百兆,但某些小伙伴可能有精神洁癖(逃),咱们选手动安装
WSL手动安装步骤
启用适用于 Linux 的 Windows 子系统
以管理员身份打开 PowerShell 并运行:
1 | dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart |
重启
启用虚拟机功能
1 | dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart |
下载 Linux 内核更新包
适用于 x64 计算机的 WSL2 Linux 内核更新包
下完后打开一路下一步
将 WSL 2 设置为默认版本
以管理员身份打开 PowerShell 并运行:
1 | wsl --set-default-version 2 |
安装所选的 Linux 分发
方法一:Microsoft Store商店中搜索需要的Linux版本直接安装,缺点是默认装C盘
方法二:手动装,首先下载
- Ubuntu 20.04
- Ubuntu 20.04 ARM
- Ubuntu 18.04
- Ubuntu 18.04 ARM
- Ubuntu 16.04
- Debian GNU/Linux
- Kali Linux
- SUSE Linux Enterprise Server 12
- SUSE Linux Enterprise Server 15 SP2
- openSUSE Leap 15.2
- Fedora Remix for WSL
下载好后解压.appx格式的包,假设安装在D盘,则直接将其复制到D盘即可,双击文件夹中的exe文件启动linux,首次使用需要设置账户密码。
注意:如果需要使用模拟器时需要在“启用或关闭Windows功能”中关闭Linux子系统功能,否则模拟器无法检测到VT
交叉编译器安装
首先时需要下载安装包了,这里从韦东山jz2440资料光盘中拷贝出
首先将其复制到Linux用户目录下,此处路径以笔者为例,请按需修改
文件管理器打开下面的位置即为Linux目录,注意版本号按需修改
1 | \\wsl$\Ubuntu-20.04 |
打开Linux的命令行,首先新建目录
1 | sudo mkdir \usr\local\arm |
将安装包复制到arm文件夹中
1 | sudo cp arm-linux-gcc-4.3.2.tar.bz2 \usr\local\arm -f |
解压
1 | sudo tar -xjvf arm-linux-gcc-4.3.2.tar.bz2 |
设置环境变量
笔者习惯使用nano编辑器,自行选择编辑器操作
1 | sudo nano \etc\profile |
在最后添加
1 | export PATH=$PATH:/usr/local/arm/arm-linux-gcc-4.3.2/bin |
Ctrl+O并回车保存,Ctrl+X退出
重启
注意WSL中不能直接重启,只能关闭再打开
以管理员身份打开 PowerShell 并运行:
1 | wsl --shutdown |
然后再重新打开
输入arm-linux-gcc -v能够正常显示版本则表示安装成功