建议收藏,持续更新
2022/4/15 第一版
2022/4/24 添加 SD卡映射、最新编译的内核驱动
全世界都知道win10是linux最好的发行版 !
一种新型的嵌入式开发系统平台构建方式,从16年开始,windows10开发者计划版本,就有bash子系统,到今天已经演变的非常稳定、流畅、无缝切换。
对嵌入式来说这是一种很完美的开发方式,win平台的“祖传工具”可以继续用,同时可以直接操作Ubuntu的应用,硬件配置不再像是虚拟机一样阉割过,而是公用一套基础外设,文件系统互通。
借助最新的WSL服务,可以在一个窗口下,同时启动windows软件,和linux系统内的IDE软件。
可以鼠标右键直接打开linux终端。
效果展示见:https://www.bilibili.com/video/BV1ka41167kA?spm_id_from=333.337.search-card.all.click
版本需要大于等于2004
打开任务管理
如果disable
要在 Windows 10(2004)上启用虚拟机平台,请以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart1.3确认是否启用wsl组件
以管理员身份打开 PowerShell 工具并运行以下命令。小心不要在命令中输入错误或遗漏任何字符:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart1.4确认是否启用wsl2版本
wsl -l -v #输出 Name State Version Ubuntu Stopped 1 //如果是2 就跳到0.1.4.7更新源1.5怎么将 WSL 1 上的 Ubuntu 转换到 WSL 2
首先需要启用组件
- 使用管理员打开Powershell并运行
Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform
- 启用后会要求重启计算机
其次更新WSL2内核
- 从https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi获取WSL2 Linux内核更新包并运行
- 查看目前的WSL版本
wsl -l -v #输出 Name State Version Ubuntu Stopped 1
- 执行更新
wsl --set-version Ubuntu 2 // Ubuntu 的名字要和系统安装的一致 #输出 正在进行转换,这可能需要几分钟时间... 有关与 WSL 2 的主要区别的信息,请访问 https://aka.ms/wsl2 转换完成。
- 不存在具有提供分部的名称
切换的镜像名字打错了
需要把指令改成
wsl --set-version Ubuntu-20.04 2 //镜像名字需要和已安装的一致
成功
- 完成后重新检测
wsl -l -v #输出 Name State Version Ubuntu Stopped 2
- 修改默认启动版本
wsl --set-default-version 21.6如果没有安装过,安装一个 Linux 发行版
有了 WSL 和必要的虚拟化技术,接下来您要做的就是从 Microsoft Store 中选择并安装 Linux 发行版。
有几种不同的发行版可供选择,包括 OpenSUSE、Pengwin、Fedora Remix 和 Alpine Linux。但是我个人推荐debain。
要在 Windows 10 上安装 Ubuntu,请打开 Microsoft Store 应用,搜索 “debain”,然后单击“获取”按钮
下面安装的是debain
首次启动需要,从系统应用点一下Debain,让他系统初始化。
输入用户名和密码
启动成功示意图:
更新源清华源
sudo sed -i 's/deb.debian.org/mirrors.ustc.edu.cn/g' /etc/apt/sources.list sudo apt-get update1.8安装依赖
Debian/Ubuntu
sudo apt-get install wget make unzip git libc6-i386 gcc libgl1-mesa-dev libglu1-mesa-dev gdb-multiarch libc6-i386 lib32stdc++6 lib32z1 lib32ncurses6 -y1.9 共享文件夹
右键把文件映射成网络驱动器
资源管理器输入:\wsl$
把文件夹快捷方式到桌面
1.10 安装Windows Terminal把debian配置到windows terminal
关于配置详见 https://docs.microsoft.com/zh-cn/windows/terminal/
1.11 更新WSL GUI APP 支持win+q 能直接搜到子系统内的APP软件并且打开!
管理员powershell
wsl --update wsl --shutdown1.12 自定义wsl子应用的快捷方式
正常来说在linux安装的gui应用都可以在win+Q里面检索到
如果它没有,怎么把自定义的应用添加到这里?
1)仔细看了一下这个快捷方式的属性
2)启动的子程序的指令 如下,按照这个格式把自己的应用添加就行 ,如果你的应用不行,也许需要把应用放置在/usr/bin 下面
C:WindowsSystem32wslg.exe ~ -d Debian giggle
C:UsersreasonssAppDataRoamingMicrosoftWindowsStart MenuProgramsDebian
C:UsersreasonssAppDataLocalTempWSLDVCPluginDebian1.13 添加中文输入法(搭建失败待调试)
sudo apt install dbus-x11 im-config fonts-noto fcitx fcitx-pinyin fcitx-sunpinyin //用sudo vi/etc/locale.gen zh_CN.UTF-8 //vi ~/.profile export LANG=zh_CN.UTF-8 export INPUT_METHOD=fcitx # wayland输入法 export XMODIFIERS=@im=fcitx # x11输入法 export GTK_IM_MODULE=fcitx # gtk输入法 export QT_IM_MODULE=fcitx # qt输入法1.14 在 WSL 2 中装载 Linux 磁盘
https://docs.microsoft.com/zh-cn/windows/wsl/wsl2-mount-disk
1.15 在wsl2 中装载闪存 Arduino 或访问智能卡读卡器视频介绍https://www.youtube.com/watch?v=I2jOuLU4o8E
https://docs.microsoft.com/en-us/windows/wsl/connect-usb
**管理员powershell **
winget install --interactive --exact dorssel.usbipd-win //需要重启电脑才生效
**wsl shell **
sudo apt-get install usbip hwdata
**管理员powershell **
查看需要映射的BUSID是什么,如果不知道可以通过插拔查询id的变化。
usbipd.exe wsl list //找到需要映射的busid号
usbipd.exe wsl attach --busid 2-14 //执行以后可以看到state里面已经有debian
映射成功。
如果fdisk -l找不到这个东西也许是没有驱动,编译自己定制版本的内核
https://github.com/dorssel/usbipd-win/wiki/WSL-support#building-your-own-usbip-enabled-wsl-2-kernel
经过重新编译内核并且重新加载后。系统终于加载这个sd卡成功
成功定制好的内核,可以直接用
Linux mogu-laptop 5.10.102.1-microsoft-standard-WSL2+ #3 SMP Fri Apr 22 17:24:10 CST 2022 x86_64 GNU/Linux
百度云盘
链接:https://pan.baidu.com/s/11ByhBdEcI9HPULvQ5Nm2UQ?pwd=jxnb
提取码:jxnb
使用方式
Create a .wslconfig file on /mnt/c/Users/1.16 wsl 镜像定制与导出和导入/ and add a reference to the created image with the following. [wsl2] kernel=c:\users\ \usbip-bzImage 重启电脑 uname -a 看看编译日期
https://docs.microsoft.com/zh-cn/windows/wsl/enterprise
2操作系统 Deepin、UOS关于deepin系统安装见官网https://www.deepin.org/zh/
关于uos系统安装见官网 https://home.uniontech.com/
UOS是Linux在中国的商业发行版,主要开发工作由Deepin团队完成,UOS与Deepin的关系就像是Fedora和Redhat RHEL那样。
UOS现阶段是直接供给政府部门使用,我记得微信分享三个人可以获得家庭版的免费密钥。
Deepin从19年开始整个系统就是UOS的试验田,有最新的功能,同时也有最多的bug。
现在的UOS怎么说呢,windows有的软件它都有,我把它作为主力开发系统深度使用3年半,他的生态已经接近完整,随时可以打操作系统战。
里面可以直接跑windows软件,基于wine,adobe全家桶、office全家桶、钉钉都有。
里面可以直接跑安卓app ,基于linux内核。
里面有大量的linux平台软件,有微信原生linux版。
不做详述
4 **Visual Studio Code **下载地址:http://vscode.bianjiqi.net/
微软公司第一次向开发者们提供了一款**真正的跨平台,**运行于 Mac OS X、Windows和 Linux 之上的编辑器。
VsCode 是集成全世界所有开源工具一身的万能IDE,涂鸦、乐鑫、Arduino、RT-Thread 等各种嵌入式厂家都有在上面开发自己的工具库
如果你用的是2.1.1 windows+bash 作为开发环境,把VScode装到windows环境,他能够在win上直接开发子系统里面的代码,而且不是类似于虚拟机共享文件夹的形式进行。并且能够直接调试代码,提交git等。
4.1 VS code的快捷键是跟着练一遍,效率会提高很多
https://code.visualstudio.com/shortcuts/keyboard-shortcuts-windows.pdf



