> 文档中心 > OpenHarmony环境配置(一)

OpenHarmony环境配置(一)

OpenHarmony环境配置(一)

  • OpenHarmony环境配置(一)
    • 1. 安装wsl2及Ubuntu
      • 1.1 阅读文档
      • 1.2 操作指引
    • 2. 本文参考

OpenHarmony环境配置(一)

1. 安装wsl2及Ubuntu

1.1 阅读文档

1.1.1 什么是适用于 Linux 的 Windows 子系统

OpenHarmony环境配置(一)

总结:wsl是windows系统自带的虚拟机,和你自己下载的WM,virtualBox是一样的道理。

1.1.2 比较wsl2和wsl1

总结:wsl2速度更快!!!

1.1.3 wsl的基本命令

总结:先熟悉一下,方便理解下面的命令做了什么

1.2 操作指引

  1. 打开设置->安全和更新->开发者选项,选择为“开发人员模式”;

  2. 启用适用于 Linux 的 Windows 子系统
    Win + r 运行control appwiz.cpl指令,在启用或关闭Windows功能中勾选适用于Linux的Windows子系统虚拟机平台两项启用,重启
    OpenHarmony环境配置(一)

  3. 开启Windows子系统功能
    以管理员身份打开 PowerShell(“开始”菜单 >“PowerShell” >单击右键 >“以管理员身份运行”),然后输入以下命令:
    dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

  4. 将版本从wsl1升级到wsl2

    4.1 执行命令将 Ubuntu 20.04 发行版设置为使用wsl2
    wsl --set-version Ubuntu-20.04 2

    4.2 下载wsl2使用的虚拟机可选组件并安装内核包
    适用于 x64 计算机的 wsl2 Linux 内核更新包
    OpenHarmony环境配置(一)
    备注:ARM64安装包地址如上图

    4.3 运行上一步中下载的更新包。 (双击以运行 - 系统将提示你提供提升的权限,选择“是”以批准此安装。)

    4.4 打开 PowerShell,然后在安装新的 Linux 发行版时运行以下命令,将 wsl 2设置为默认版本
    wsl --set-default-version 2

    4.5 Win + r 运行cmd指令查看wsl2是不是默认版本
    OpenHarmony环境配置(一)


执行步骤4.2的目的是手动更新wsl2的内核(默认是wsl1的内核),否则就会发生如下报错:
OpenHarmony环境配置(一)


  1. 打开Microsoft Store搜索Ubuntu,安装Ubuntu20.04:
    OpenHarmony环境配置(一)

  2. 安装完直接打开,设置用户名和密码以及root用户密码:
    OpenHarmony环境配置(一)
    PS:忘记密码的解决办法链接地址
    OpenHarmony环境配置(一)

  3. 将Ubuntu Shell环境修改为bash

    7.1 执行sudo dpkg-reconfigure dash,选择No,将Ubuntu shell由dash修改为bash
    OpenHarmony环境配置(一)

    7.2 执行ls -l /bin/sh查看:
    OpenHarmony环境配置(一)

  4. wsl2安装完成后,切换软件源为国内软件源(这里是阿里源)
    为什么要切换?因为国内源快

    8.1 备份原来的源(个人感觉没啥用)
    sudo cp -ra /etc/apt/sources.list /etc/apt/sources.list.bak

    8.2 将源换成阿里源
    打开文件 sudo vim /etc/apt/sources.list,使用命令1000dd将里面的内容清空后:w保存;按下i进入insert模式,把下面的内容复制粘贴进去,按下 Esc 键后,使用命令:wq保存

    deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

    deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

    deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

    deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

    deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
    deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

    PS:文件位置如下:
    OpenHarmony环境配置(一)

    8.3 更新缓存和升级
    sudo apt-get update
    sudo apt-get upgrade


为什么要迁移wsl2至非系统盘?

1.这个时候Ubuntu已经装成功了,但是微软商店默认安装是安装在系统盘下的,具体路径如下:(可以自行查一下,其中username是你自己登录的用户名)
C:\Users\username\AppData\Local\Packages\CanonicalGroupLimited.Ubuntu20.04LTS_79rhkp1fndgsc

2.个人理解是wsl2一直在系统盘,后面内存越来越大会占满系统盘


  1. 迁移wsl2至非系统盘(本文将其迁移到D:\Ubuntu目录下)

    9.1 需要下载LxRunOffline,下载地址,下载文件LxRunOffline-v3.5.0-mingw.zip

    9.2 然后解压到某个目录中,(以下目录均☞)例如D:\Ubuntu\LxRunOffline\LxRunOffline-v3.5.0-mingw
    OpenHarmony环境配置(一)

    9.3 设置环境变量(右键点击我的电脑-属性-高级系统设置-环境变量),在系统变量Path中添加LxRunOffline解压的目录
    OpenHarmony环境配置(一)

    9.3 重启电脑,使环境变量生效

    9.4 Win + R运行cmd,输入LxRunOffline,如果显示下面的提示证明已经安装成功了
    OpenHarmony环境配置(一)

    9.5 Win + r运行cmd,输入LxRunOffline list查看子系统版本
    OpenHarmony环境配置(一)

    9.6 复制上面的版本号,然后输入LxRunOffline move -n {version} -d {dir},{version}是版本号,{dir}是迁移目的目录,比如本文是20版本,迁移到D盘Ubuntu目录下,LxRunOffline move -n Ubuntu-20.04 -d D:\Ubuntu,然后回车,等待迁移完成。

    这样,整个Ubuntu子系统就迁移到了指定目录下了:
    OpenHarmony环境配置(一)

​​------------------------

执行到9.6时可能会出现报错

报错1:“Couldn’t get the value “DistributionName” of the registry key "Software\Microsoft\Windows\CurrentVersion\Lxss\AppxInstallerCache”

解决方法:

  1. win+R 输入regedit
  2. 打开:HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Lxss\
  3. 然后右键删除AppxInstallerCache文件夹
    OpenHarmony环境配置(一)

报错2:Couldn’t set the case sensitive attribute of the directory “\?\C:\Users\xxx\AppData\Local\Packages\CanonicalGroupLimited.UbuntuonWindows_79rhkp1fndgsc\LocalState”.
Reason: Indicates that the directory trying to be deleted is not empty.

解决方法:

  1. 出现这个错误时使用的是官方最新版的“LxRunOffline-v3.5.0-msvc.zip”,官方LxRunOffline下载地址 。出现此错误时,需要另外下一个LxRunOffline版本:LxRunOffline-v3.5.0-11-gfdab71a-msvc.zip下载地址
  2. 删掉目录中原来的文件,把LxRunOffline-v3.5.0-11-gfdab71a-msvc.zip解压至目录
  3. 重新从步骤 9.4 开始执行

  1. wsl文件映射在\\wsl$路径下,通过\\wsl$\Ubuntu-20.04打开文件所在位置
    OpenHarmony环境配置(一)
    PS:那为什么要映射?当然是想像Windows下其他文件一样,本地方便查看

    最初的模样:虚拟机被打包成一个磁盘如下,里面的文件目录看不到!看不到!
    OpenHarmony环境配置(一)
    映射后的样子:通过映射网络驱动器,能直观看到其内部文件!共享性也更好!
    OpenHarmony环境配置(一)
    映射网络驱动器(知乎)

下载编译工具

sudo apt-get update && sudo apt-get install binutils git git-lfs gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z1-dev ccache libgl1-mesa-dev libxml2-utils xsltproc unzip m4 bc gnutls-bin python3.8 python3-pip ruby libtinfo-dev libtinfo5

2. 本文参考

————————————————
版权声明:本文为CSDN博主「@_南先森」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/nanzhanfei/article/details/115409538