在Windows系统中安装Linux子系统
在开始前,需要先检查下你的系统版本,因为该套Linux系统运行在WSL2环境下,所以必须得保证你的操作系统支持升级到WSL2,否则这个环境基本没啥用了。此配置方案,需要系统版本高于2004,内部版本高于19041即可查看系统的版本, 在cmd或者PowerShell中,运行winver,以查看版本号:
- 对于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(管理员)”打开。
二、打开控制面板,直接在搜索框中搜索“控制面板”即可:
选择“程序”->"程序和功能"->"启用或关闭Windows功能",把进度拉下去勾选“适用于Linux的Windows子系统”,改选项可能会提醒你需要重新启动,按操作来即可,如下图所示:
启用系统的“虚拟机平台”可选功能
启用的方式依然推荐使用PowerShell命令行工具,该命令会提示重启计算机,记得保存数据重启一下,以保证系统打开虚拟化功能。
注意该功能打开后,会和VmwareWorkstation有冲突,导致VmwareWorkStation打不开,此时将VmwareWorkstation升级到16版本的即可
以管理员身份打开PowerShell并运行以下命令行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
安装Linux发行版本
在电脑中安装Linux的发行版本有两种方法:
若你的电脑支持访问Microsoft Store,可以直接搜索Ubuntu2004,下载安装,一气呵成~
若是打不开这个应用商店,那就访问下面的链接手动下载安装吧:
下载完成后,会得到一个. AppxBundle结尾的安装包
CanonicalGroupLimited.UbuntuonWindows_2004.2021.825.0.AppxBundle ) ,该包可以直接双击进行安装:
若双击无法安装,则可以通过PowerShell命令行安装,具体安装方法如下:
在下载的文件目录下,按住Shift键,鼠标右键空白处,选择“在此处打开PowerShell窗口”,
输入Add-AppxPackage命令加上文件名称进行安装:
Add-AppxPackage .\Canon…….indows_2004.2021.825.0.AppxBundle
运行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内核更新包:
安装完成后,在Power Shell中执行以下命令行修改当前WSL的版本:
wsl --set-default-version 2
运行命令行,查看当前的版本号以及复制Linux名称:
运行命令行,wsl --set-version后面跟上面的NAME字段显示的名称,将当前的Ubuntu转化为WSL2:
wsl --set-version Ubuntu-20.04 2
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
交叉编译链安装好后,目录结构应该如下:
在控制台输入arm-linux-,应该可以联想出如下的命令:
至此,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
在提示: 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_…
在上述的链接中找到1.59版本的软件,直接下载安装即可。
在VSCode中编码、编译
一、安装完成后,打开VSCode,找到扩展功能图标,在搜索框中搜索Chinese (Simplified) (简体中文) Language Pack for Visual Studio Code,安装中文支持包,安装完成后,重启软件即可。
二、在扩展工具搜索remote,安装Remote-WSL软件,为了之后的扩展性,建议也一起安装Remote-SSH、Remote-SSH : Editing Configuration Files:
安装完成后,重启VSCode.
三、使用Remote-WSL连接Linux子系统:
在VSCode的底部菜单栏,右键弹出的菜单栏中勾选“远程主机”,此时底部菜单栏最左侧将会出现类似于><的图标,该图标便是WSL连接程序。
点击图标,VSCode页面中间会弹出对话框,用来选择连接哪一个远程主机,此处选择New WSL Window:
选择远程主机后,将会打开一个新的页面,初次打开,需要连接上网络,用来加载一些必要的组件。
加载完成后新页面底部菜单栏左下角,将会显示Ubuntu2004等字样,以示当前界面已经连接上了我们安装的Linux系统:
在VSCode中工作
使用Ctrl + j ,快捷键,打开命令行工具,该命令行即是Linux的控制台,在这里可以操作所有你在Linux控制台中的操作:例如查看Git log信息和文件信息:
在该控制台中,你也可以运行编译脚本来编译你正在编辑的代码: