12345

486 阅读7分钟
在Windows系统中安装Linux子系统

在开始前,需要先检查下你的系统版本,因为该套Linux系统运行在WSL2环境下,所以必须得保证你的操作系统支持升级到WSL2,否则这个环境基本没啥用了。此配置方案,需要系统版本高于2004,内部版本高于19041即可查看系统的版本, 在cmd或者PowerShell中,运行winver,以查看版本号:

image.png

  • 对于Intel_x64位系统,需要系统版本大于等于1903,内部版本大于等于18362
  • 对于ARM_64的,则需要系统版本大于等于2004,内部版本不低于19041
  • 低于这些版本的系统则不支持该套操作,要么想办法升级系统们要么就用原来的虚拟机吧。
启用“适用于Linux的Windows子系统

只有启用了这个功能,LInux才能正常跑在Windows系统中。

 

具体启用方法有以下两种:

 

一、用管理员身份打开PowerShell命令行工具,运行以下命令:

dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

PowerShell可以在开始按钮处,右键选择“WIndows PowerShell(管理员)”打开。

image.png

二、打开控制面板,直接在搜索框中搜索“控制面板”即可:

选择“程序”->"程序和功能"->"启用或关闭Windows功能",把进度拉下去勾选“适用于Linux的Windows子系统”,改选项可能会提醒你需要重新启动,按操作来即可,如下图所示:

image.png

启用系统的“虚拟机平台”可选功能

启用的方式依然推荐使用PowerShell命令行工具,该命令会提示重启计算机,记得保存数据重启一下,以保证系统打开虚拟化功能。

注意该功能打开后,会和VmwareWorkstation有冲突,导致VmwareWorkStation打不开,此时将VmwareWorkstation升级到16版本的即可

以管理员身份打开PowerShell并运行以下命令行:

dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

image.png

安装Linux发行版本

在电脑中安装Linux的发行版本有两种方法:

若你的电脑支持访问Microsoft Store,可以直接搜索Ubuntu2004,下载安装,一气呵成~

若是打不开这个应用商店,那就访问下面的链接手动下载安装吧:

Ubuntu 20.04

下载完成后,会得到一个. AppxBundle结尾的安装包

CanonicalGroupLimited.UbuntuonWindows_2004.2021.825.0.AppxBundle ) ,该包可以直接双击进行安装:

image.png

若双击无法安装,则可以通过PowerShell命令行安装,具体安装方法如下:

在下载的文件目录下,按住Shift键,鼠标右键空白处,选择“在此处打开PowerShell窗口”,

image.png

输入Add-AppxPackage命令加上文件名称进行安装:

Add-AppxPackage .\Canon…….indows_2004.2021.825.0.AppxBundle

image.png

运行Linux

上面的安装完成后,在开始菜单找到Ubuntu的图标,点击图标运行Linux。

初次运行需要等待几分钟的系统配置,这个过程建议保持外网的连接,接着创建完账户密码后即可登录进Linux系统了,接下来你需要继续配置以下几个命令:

一、 修改 root 密码,默认 root 是没有密码的

sudo passwd

二、 修改用户权限为 root

sudo usermod your_username -g root -G root

三、 用户加入 sudo

打开sudoers文件:

sudo vi /etc/sudoers

在root ALL=(ALL:ALL) ALL下面添加一行:

your_username ALL=(ALL:ALL) ALL

WSL(Windowes Subsystem for Linux)的相关设置

为了后面能够在这个Linux系统中修改编译我们代码,这一步必不可少。在以下网址中下载适用于当前机器的Linux内核更新包:

适用于 x64 计算机的 WSL2 Linux 内核更新包

安装完成后,在Power Shell中执行以下命令行修改当前WSL的版本:

wsl --set-default-version 2

image.png

运行命令行,查看当前的版本号以及复制Linux名称:

image.png

运行命令行,wsl --set-version后面跟上面的NAME字段显示的名称,将当前的Ubuntu转化为WSL2: wsl --set-version Ubuntu-20.04 2

image.png

Linux安装完成

至此,Linux基本环境已经搭建OK,该Linux不借助VmWare或者VirtualBox,而是使用微软的虚拟化技术,在轻型实用程序虚拟机内部运行Linux内核,日常开发中所需要的基本工具都可以进行下载安装。完美融入Windowes系统,流畅运行。可以说是完美解决了VMware虚拟机开机缓慢,A8、A15开发环境反复切换电脑反应卡顿的现象。

搭建A8、A15交叉编译环境

系统安装好了,接下来就是交叉编译链的安装。安装之前需要做好如下准备:

一、替换Ubuntu镜像源,替换为清华或者阿里的镜像源,或者是别的好用的都行

这里提供下阿里的镜像源,直接替换 /etc/apt/source.list文件中内容即可

deb mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

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

 

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

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

 

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

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

 

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

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

 

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

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

二、安装gcc、make、zip等工具

安装方法,利用apt软件管理程序,先更新软件信息,再进行安装操作。

搭建A8开发环境

一、 创建/home/maxm/Downloads目录,由于我们的软件MakeFile中的编译路径中需要用到Download里面的内容,所以这里需要将原先Ubuntu 1204 A8环境的Download打包为Download.tar,再将该文件解压到创建的/home/maxm/Downloads目录下。

创建文件夹以及解压tar包的命令行如下:

sudo mkdir -p /home/maxm/Downloads

sudo tar -xsvf /mnt/e/Downloads.tar -C /home/maxm

 

其中的路径/mnt/e/是我本地的路径,这里需要替换成你存放这些资源的路径。

二、 安装Cortex-A8的交叉编译链

首先创建/work/cortex-A8/buildroot/output/host目录:

sudo mkdir -p /work/cortex-A8/buildroot/output/host

解压4.8.4Cross_Compile.tar.gz文件(A8交叉编译链软件安装包,若无资源可找我获取)到上述目录中:

sudo tar -xsvf /mnt/e/4.8.4Cross_Compile.tar.gz -C /work/cortex-A8/buildroot/output/host

三、 解压完成后,配置A8的环境变量,此处将环境变量配置在当前用户下,而不是全局,这样以后有必要的话可以通过切换用户来切换环境变量。

sudo vi ~/.bashrc

在最后加上:

export PATH=/work/cortex-A8/buildroot/output/host/usr/bin:$PATH

为了使环境变量生效,需要执行下面额定命令行:

source ~/.bashrc

交叉编译链安装好后,目录结构应该如下:

image.png

在控制台输入arm-linux-,应该可以联想出如下的命令:

image.png

至此,A8的交叉编译环境已经搭建OK,但是老的项目需要SVN的支持,所以还需要安装SVN。对于新的平台和项目需要Git的支持,我们安装的Ubuntu已经集成了Git的功能,所以只需要配置,不需要额外去下载安装了。

四、 SVN下载安装

安装SVN:

sudo apt-get install subversion

安装OPENSSL:

sudo apt-get install openssl

配置OPENSSL,安装的openssl版本可能会大于我们svn服务器上的openssl版本,所以此处需要配置openssl的降版本使用:

找到openssl.cnf文件位置:

openssl version -d

默认的位置:OPENSSLDIR: "/usr/lib/ssl"

修改配置文件:

sudo vi /usr/lib/ssl/openssl.cnf

在文件开头添加:

openssl_conf = default_conf

在文件末尾处添加文本:

[ default_conf ] ssl_conf = ssl_sect

[ssl_sect] system_default = ssl_default_sect

[ssl_default_sect] MinProtocol = TLSv1 CipherString = DEFAULT:@SECLEVEL=1

SVN安装完成,可以尝试使用svn checkout 命令下载项目到本地,运行编译脚本了。

搭建A15开发环境

一、创建/home/ys/Lib目录,打包虚拟机中的/ys/Lib目录,并解压到该目录下,此处我打包的为zip文件,所以需要使用zip软件进行解压:

sudo mkdir -p /home/ys/Lib

unzip Lib.tar -d /home/ys/

解压完成后,按下述步骤安装Lib中的esp-7.0.2:

cd /home/ys/Lib/esp-7.0.2

sudo make --no-print-directory -f projects/esp-linux-default.mk all

sudo make SHOW=1

sudo make -- SHOW=1 install

二、安装A15交叉编译链:

创建mkdir -p /home/ys/am57xx/linux-devkit目录

将现有VMwareWorkStation虚拟机中的录下/home/ys/am57xx下的linux-devkit.sh拷贝出来

在Windows上的Linux中运行linux-devkit.sh,安装am57xx交叉编译链

sudo sh linux-devkit.sh

image.png

在提示: Enter target directory for SDK (default: /usr/local/arago-2019.11):

填入创建的目录:/home/ys/am57xx/linux-devkit

Enter target directory for SDK (default: /usr/local/arago-2019.11): /home/ys/am57xx/linux-devkit

三、环境变量配置:

在上述的脚本解压运行完成后,创建shell脚本:

sudo vi /home/ys/am57xx/am577_start.sh

添加文本: export PATH=home/ys/am57xx/linux-devkit/sysroots/x86_64-arago-linux/usr/bin:$PATH source /home/ys/am57xx/linux-devkit/environment-setup

由于A15项目在编译的时候会运行/home/ys/am57xx/am577_start.sh脚本,自动创建编译时的环境变量,所以不需要在全局环境变量中添加A15交叉编译链。

VScode安装使用

在本次优化方案中,采用VSCode和Linux的配合使用。在VSCode下,可以直接打开Linux命令行,完成代码的上库编译打包。

安装VSCode

VSCode更新换代很快,暂时推荐使用1.59的版本,这个版本相对稳定,功能丰富够用,运行起来很流畅,不会出现新版本有的卡顿现象。 code.visualstudio.com/updates/v1_…

image.png

在上述的链接中找到1.59版本的软件,直接下载安装即可。

在VSCode中编码、编译

一、安装完成后,打开VSCode,找到扩展功能图标,在搜索框中搜索Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code,安装中文支持包,安装完成后,重启软件即可。

image.png

二、在扩展工具搜索remote,安装Remote-WSL软件,为了之后的扩展性,建议也一起安装Remote-SSH、Remote-SSH : Editing Configuration Files:

image.png

安装完成后,重启VSCode.

三、使用Remote-WSL连接Linux子系统:

在VSCode的底部菜单栏,右键弹出的菜单栏中勾选“远程主机”,此时底部菜单栏最左侧将会出现类似于><的图标,该图标便是WSL连接程序。

image.png

点击图标,VSCode页面中间会弹出对话框,用来选择连接哪一个远程主机,此处选择New WSL Window:

image.png

选择远程主机后,将会打开一个新的页面,初次打开,需要连接上网络,用来加载一些必要的组件。

加载完成后新页面底部菜单栏左下角,将会显示Ubuntu2004等字样,以示当前界面已经连接上了我们安装的Linux系统:

image.png

在VSCode中工作

使用Ctrl + j ,快捷键,打开命令行工具,该命令行即是Linux的控制台,在这里可以操作所有你在Linux控制台中的操作:例如查看Git log信息和文件信息:

image.png

image.png

在该控制台中,你也可以运行编译脚本来编译你正在编辑的代码:

image.png

image.png