[toc]
- 配置Windows环境。
- 使用我构建好的启动包distro.exe。
- 或者手动导入openEuler到WSL。
可以参考官网文档,或者跟着以下文档走。
打开PoweShell,你可以按下Win+Q,搜索PoweShell来打开它。
然后复制粘贴一下命令:
- 开启WSL服务。
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- 开启虚拟机特性。
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- 下载64位的Linux内核升级包,双击点击运行,可能需要管理员权限。
- 将WSL2设为默认启动版本。
wsl --set-default-version 2
-
打开Microsoft Store,并选择您最喜欢的Linux发行版,单击get
当你第一次启动一个新安装的Linux发行版时,控制台窗口会打开,你会被要求等待一到两分钟来解压文件并存储到你的PC上。未来所有的启动都需要不到一秒的时间。
如果上述有任何问题,可以参考官网文档解决。
请注意,如果你没有升级Windows到20H2版本,开启WSL后会与VMware冲突,二者只能存在一个。
如果你升级了,会解决这个问题。
按下win+R,输入winver,回车,可以看到当前windows版本。
由于该UWP还没有上传到微软商店,因此暂时只能下载我构建好的安装包:
计划未来将安装包推送到微软应用商城。
-
解压缩。
-
双击mydistro.exe安装openEuler。
当弹出的命令窗口完成后,即安装完毕,即可运行openEuler:
- 在左下角Windows开始菜单中启动openEuler。
- 或者命令行运行:
wsl -d openEuler
如果出现类似以下截图内容,则表示成功。
- 你需要获得一个根文件系统,包含openEuler的所有二进制文件。
- 使用docker导出容器文件系统。
- 或者使用debootstrap制作根文件系统(还未尝试)。
- 使用WSL命令导入根文件系统。
参考文档:
-
下载openEuler LTS SP1的docker镜像,链接。
-
打开控制台,进入刚刚下载镜像的文件夹,启动Ubuntu,此时工作目录任然在当前目录。
cd D:\Download
wsl -d Ubuntu
- 安装Ubuntu下的docker。
curl -sSL https://get.daocloud.io/docker | sh
- 导入镜像,-i表示使用tar包来导入镜像。
docker load -i .\openEuler-docker.x86_64.tar.xz
- 查看现有images。
docker images
应该会有以下输出:
REPOSITORY TAG IMAGE ID CREATED SIZE
openeuler-20.03-lts-sp1 latest 6934cec25f28 3 months ago 512MB
- 随便运行一个命令,加载容器。
docker run openeuler-20.03-lts-sp1 echo hello, openEuler WSL
- 导出docker容器的快照,即当前文件系统。
docker ps -ql表示获得最近运行的容器的编号,即刚才openEuler的容器编号。
docker export $(docker ps -ql) > ./openEuler.tar
exit
退出Ubuntu,在控制台使用WSL命令,导入openEuler包,并指明openEuler的安装目录。
举例,设置D:\work\WSL\openEuler为WSL的安装目录。
wsl --import openEuler D:\work\WSL\openEuler .\openEuler.tar
- 即可启动openEuler。
wsl -d openEuler
如果你只想运行openEuler,那么可以到此为止了。
如果你对该构建过程感兴趣,你可以接着往下看。
- 克隆,修改启动器基本信息。
- 安装WSL、Ubuntu。
- 导出根文件系统。
- 构建包。
克隆官方启动器仓库。
git clone https://github.com/Microsoft/WSL-DistroLauncher
安装Visual Studio,选择安装“通用Windows平台开发”工具。
使用Visual Studio打开WSL-DistroLauncher工程下的DistroLauncher.sln。
双击打开MyDistro.appxmanifest,此时VS会自动探测xml格式,并出现很好看的修改界面如下。
如果您没有在解决方案选项卡中打开MyDistro.appxmanifest,VS将会展现给您全文本的界面。请点击下面的切换按钮,然后双击点击DistroLauncher.sln。
点击Packaging选项卡,点击Choose Certificate...,点击Create...,这里输入Publish Name,我输入了Huawei,本来想用全称HUAWEI TECHNOLOGIES CO., LTD,但是会报错,就用了Huawei。然后输入密码,即可创建证书。
修改Application选项卡下的基本信息,修改Visual Asserts图片信息。
不同大小图片可以使用Asserts Generator,给定一个图片,可以生成不同大小的图片。
官网的logo太小,我找到了部门里的logo矢量图.ai文件,放大了些,并参考Ubuntu启动图标,裁剪了文字部分,只保留了logo,尽量让产生的logo在启动界面好看一些。
最后生成的所有图片可以看我的工程文件。
[参考配置环境这一节](# 配置Windows环境)
[参考手动导入一节](# 手动导入openEuler)
最后一步改为:
docker export $(docker ps -ql) > ./install.tar
退出Ubuntu,压缩刚才的包。
exit
gzip.exe -k .\install.tar
-k表示保留包,不删除。
将install.tar.gz复制到项目的根目录下。
使用Visual Studio打开WSL-DistroLauncher工程下的DistroLauncher.sln。
在右侧的Solution Explorer,可以看到以下界面。
右键点击"Solution (DistroLauncher)",在弹出菜单中点击Deploy Solution。
等待编译完成后,则构建完成。
可以在.\x64\Debug\DistroLauncher-Appx\AppX文件夹下看到myditro.exe文件。
打包该APPX文件夹即可发布。