[嵌入式AI从0开始到入土]5_炼丹炉的搭建(基于wsl2_Ubuntu22.04)

[嵌入式AI从0开始到入土]嵌入式AI系列教程

注:等我摸完鱼再把链接补上
可以关注我的B站号工具人呵呵的个人空间,后期会考虑出视频教程,务必催更,以防我变身鸽王。

第一章 昇腾Altas 200 DK上手
第二章 下载昇腾案例并运行
第三章 官方模型适配工具使用
第四章 炼丹炉的搭建(基于Ubuntu23.04 Desktop)
第五章 炼丹炉的搭建(基于wsl2_Ubuntu22.04)
第六章 Ubuntu远程桌面配置
第七章 下载yolo源码及样例运行验证
第八章 在线Gpu环境训练(基于启智ai协作平台)
第九章 转化为昇腾支持的om离线模型
第十章 jupyter lab的使用
第十一章 yolov5在昇腾上推理
第十二章 yolov5在昇腾上应用
未完待续…



前言

注:本人环境win11 22H2家庭中文版,win10默认wsl,需要手动升级到wsl2
没有物理机的情况下,为避免虚拟机额外的性能开销,我们可以使用wsl2直接调用Gpu(Vmware好像也可以做显卡直通)。
微软官方文档点击这里跳转,本文仅挑选必要内容做分析。
关于conda和cuda环境的搭建,直接按照上一期的内容就可以了。

一、启用wsl

搜索Windows功能,勾选适用于Linux的Windows子系统,重启电脑等待更新完成。
在这里插入图片描述

二、安装系统

以下方法二选一即可,推荐使用Microsoft Store。
注:默认安装位置在C盘,如需更改请在安装完成后不要启动,按照问题区方法操作

1、使用微软商店

在Microsoft Store中搜索ubuntu,这里以ubuntu22.04为例。
注:按理说应该先安装下图第一个搜索结果,但实测会自动安装
在这里插入图片描述
点击上图所示的结果,点击获取,然后等待安装即可,大约不到500Mb。

2、使用命令行下载

搜索powershell,使用管理员权限打开。
在这里插入图片描述
输入以下指令安装,懒人直接第一条就行。

wsl --install #默认安装 WSL 和 Linux 的默认 Ubuntu 发行版
wsl --list --online #获取发行版名称的有效列表
wsl --install <Distribution Name> #安装指定Linux发行版

选项包括:

  • --distribution:指定要安装的Linux发行版。可以通过运行wsl --list --online来查找可用的发行版。
  • --no-launch:安装Linux发行版,但不自动启动它。
  • --web-download:通过联机渠道安装,而不是使用Microsoft Store安装。

未安装 WSL 时,选项包括:

  • --inbox:使用Windows组件(而不是Microsoft Store)安装WSL。(WSL 更新将通过Windows更新接收,而不是通过Microsoft Store中推送的可用更新来接收)。
  • --enable-wsl1:在安装Microsoft Store版本的 WSL 的过程中也启用“适用于 Linux 的 Windows 子系统”可选组件,从而启用 WSL 1。
  • --no-distribution:安装WSL时不安装发行版。

注意:如果在 Windows 10 或更低版本上运行 WSL,可能需要在 --install 命令中包含 -d 标志以指定发行版:wsl --install -d <distribution name>

三、更改wsl版本

注:WSL2仅在 Windows 11 或 Windows 10 版本 1903、内部版本 18362 或更高版本中可用。
我们因为需要调用显卡,所以需要切换到wsl2,win11一般默认就是wsl2。关于wsl和wsl的区别,请点击这里
打开终端,执行以下命令

wsl -l -v #查看wsl当前发行版本名称和运行状态
wsl --set-version <distribution name> <versionNumber> 
  • distribution name:上一步查询到的Name
  • versionNumber:需要修改为的版本,1或者2

四、安装pip(可选)

本人从微软商店下载的ubuntu22.04缺少pip,通过正常方式均无法安装。
以下为解决方案

curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py #比较慢,下不动用迅雷
python get-pip.py	#此处慢慢等,报错就重试
pip --version #验证安装

问题

1、修改安装位置(适用于安装后未启动过wsl的情况)

1、修改权限

进入C:\Program Files目录,修改windowsapp文件夹权限
在这里插入图片描述
更改所有者
在这里插入图片描述
输入everyone,点击检查名称,确认即可。
在这里插入图片描述

2、移动wsl文件

在Windowsapp文件夹内找到CanonicalGroupLimited.Ubuntu22.04LTS开头的一个文件夹,可能会有三个,我这里因为已经移动了,所以就找不到了,没法截图。
我们进去复制这两个文件,ubuntu2204.exe以及同文件夹下一个0.5G左右的文件(就是最大的那个)。把这俩个文件放到你想要的文件夹,然后双击ubuntu2204.exe,等待启动即可。
注:wsl启动过后移动ext4.vhdx文件会导致报错

2、wsl文件迁移

在wsl正常使用过程中,需要迁移的话,请按照如下方法操作
在终端中执行

wsl --shutdown #关机
wsl -l -v #记下name,并且确认状态是stopped
wsl --export name D:\Ubuntu.tar	#name替换为上一步查询的name
wsl --unregister name	#name同上
wsl --import name D:\wsl D:\Ubuntu.tar --version 2	#name同上
ubuntu.exe config --default-user user_name #user_name替换为你的wsl内的用户名

3、wsl虚拟磁盘大

这是因为ext4.vhdx磁盘空间会根据加载的数据自动增长,但是无法自动回收。下面是手动回收的步骤。
在终端依次执行以下命令

wsl --shutdown #关闭正在运行的wsl系统
diskpart #跳出授权,选择是
select vdisk file="D:\wsl\ext4.vhdx" #将路径改为你的实际路径
attach vdisk readonly
compact vdisk
detach vdisk
exit

4、System has not been booted with systemd as init system (PID 1). Can’t operate.

这个报错是因为wsl没有启动system导致的。
使用ps -p 1命令,如果cmd列为init请按照以下步骤操作启用systemd:

  1. 确保 WSL 版本为 0.67.6 或更高版本。(若要检查,请运行wsl --version。若要更新,请运行wsl --update或从 Microsoft Store 下载最新版本。)
  2. 进入wsl,nano /etc/wsl.conf
  3. 在 wsl.conf 文件中添加以下行
[boot]
systemd=true
  1. 退出 Nano 文本编辑器(Ctrl + X,选择 Y 来保存更改)。然后,需要关闭 Linux 发行版。可以使用 PowerShell 中的wsl.exe --shutdown命令关闭所有 WSL 实例。
  2. Linux 发行版重启后,systemd 将会运行。 可使用systemctl list-unit-files --type=service或者ps -p 1命令进行确认,这将显示与 Linux 发行版关联的任何服务的状态。
    在这里插入图片描述

5、wsl与win互连

1、文件

win的目录在/mnt文件夹下,直接cd过去就行。
在这里插入图片描述
win访问wsl文件直接在资源管理器就可以。

2、ssh

mobaxterm和vscode不需要,可以直接连接wsl。

  • mobaxterm
    在这里插入图片描述
  • vscode
    在这里插入图片描述
    如果有其他需求,还是和物理机一样的操作,只是静态ip比较麻烦
sudo apt install openssh-server		#安装ssh服务端
sudo service sshd start				#开启ssh服务
ifconfig 							#查看ip

wsl ip是eth0:下第二行inet后的地址。按理说应该是动态ip,不少教程内也都是每次启动就会变ip,但是我这里一个月都没变。于是,摆烂。

3、软件

wsl内安装的有图形界面的软件可以直接在开始菜单找到,直接打开使用即可。

总结

WSL 所需的资源少于完整虚拟机所需的资源(微软说的),但是依赖缺的真的很严重,gcc正在折磨我[大哭]。

  • 22
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

工具人呵呵

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值