第一步:检查WSL2运行要求
在安装WSL2 之前,需要确定编译机器运行操作系统为 Windows 10 或者 Windows 11:
1、对于Windows 10 x64 系统:版本 1903 或更高版本,采用 内部版本 18362 或更高版本。
2、对于Windows 10 ARM64 系统:版本 2004 或更高版本,采用 内部版本 19041 或更高版本。
3、低于18362 的版本不支持 WSL 2,请更新 Windows 版本或者选择VM编译环境。
若要检查 Windows 版本及内部版本号,选择 Win徽标键+R,然后键入“winver”,选择“确定”。
第二步:安装WSL2
在Windows功能中先启用“适用于 Linux 的 Windows 子系统”以及“Hyper-V”的可选功能,然后才能在 Windows 上安装 Linux 分发。
以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
安装 WSL 2 之前还必须启用“虚拟机平台” 功能,以管理员身份打开 PowerShell 并运行:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
重新启动计算机(此步不可跳过),以完成 WSL 安装并更新到 WSL 2。
计算器重启完成后,接下来从微软官网下载Linux内核更新包并安装,有两个选择:
1)如果是X86_64位计算机,下载适用的WSL2 Linux内核更新包(wsl_update_x64.msi)
2)如果使用的是ARM64计算机,下载ARM64包(wsl_update_arm64.msi)
运行下载好的更新包。 (双击以运行 - 系统将提示你提供提升的权限,选择“是”以批准此安装。)
安装完成后,请继续执行下一步 - 在安装新的 Linux 分发时,将 WSL 2 设置为默认版本。
以管理员身份打开 PowerShell 并运行:
wsl --set-default-version 2
第三步:安装Ubuntu(以 22.04为例)
在aka.ms微软官网手动下载Ubuntu 2204发行版包
使用 7-zip 等软件解压 Ubuntu2204-221101.AppxBundle/Ubuntu_2204.1.7.0_x64.appx 文件
(强烈建议在非系统盘解压该文件,这样WSL2的硬盘文件在后期将不会占用巨量的系统盘空间)
进入解压后的文件夹,执行exe文件。
若发现 ext4.vhdx 文件出现在exe的同级目录下,则表示安装成功。
在打开新安装的 Ubuntu 22.04 分发版时,将会要求你完成的第一步是创建帐户,包括用户名和密码。此用户名和密码限定使用于安装的单独的Linux分发版,与Windows用户名无关。
创建用户名和密码后,该帐户将是分发版的默认用户,并将在启动时自动登录。此帐户将被视为 Ubuntu 22.04 管理员,能够运行 sudo (Super User Do) 管理命令。
第四步:整备OurBMC编译环境
4.1、切换国内源 【因社区白名单限制,4.1章节内容无法完整上传,切换Ubuntu国内源(网易/清华/上海交通大学等)的方法请读者自行百度搜索】
<略>
sudo apt update
sudo apt upgrade
sudo apt autoremove
4.2、安装OurBMC编译和QEMU所需组件
sudo apt-get install -y git python3-distutils gcc g++ make file wget cpio build-essential libsdl1.2-dev texinfo gawk chrpath diffstat libpixman-1-dev dos2unix liblz4-tool zstd lz4 bzip2 openssh-server net-tools
4.3、Enable WSL2 SSH服务
sudo ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key
sudo ssh-keygen -t ecdsa -f /etc/ssh/ssh_host_ecdsa_key
sudo ssh-keygen -t ed25519 -f /etc/ssh/ssh_host_ed25519_key
修改配置文件让sudo不需要输入密码
sudo vi /etc/sudoers
找到%sudo ALL=(ALL:ALL) ALL这一行,修改为%sudo ALL=(ALL:ALL) NOPASSWD:ALL ,保存退出
修改SSHD配置文件,允许无密码登陆
sudo vi /etc/ssh/sshd_config
打开PasswordAuthentication yes的注释,使其生效
修改bashrc文件,在文件最后添加语句 sudo service ssh restart,让SSH服务自启动
sudo vi ~/.bashrc
启动SSH服务
sudo service ssh start
4.4、配置GIT信息 (使用自己的昵称和邮箱)
git config --global user.name "Need-to-modify"
git config --global user.email "Need-to-modify@example.com"
至此,OurBMC的编译环境已整备完毕。
建议生成WSL2用户的SSH Key并且提交至Git服务器,用于代码的下载、更新与提交等任务。
ssh-keygen -t ed25519 -C "Need-to-modify@example.com"
ssh-keygen -t rsa -b 4096 -C "Need-to-modify@example.com"
TIPS:
1、【如何启动】开机后执行ubuntu-xxxx.exe即可启动WSL2(也可做成快捷方式放到桌面);
2、【如何SSH】WSL2(Ubuntu)启动后,可使用命令行工具(比如cmd.exe/Cmder/PowerShell/ MobaXterm等)SSH登陆该系统,执行指令为 ssh iasi@localhost (iasi为Ubuntu默认用户),PowerShell下的实际操作:
3、【文件共享】安装好WSL2后,可以使用 WIN+R 输入 \\wsl$ 访问WSL2 的磁盘内容
4、【如何重启】WSL 子系统是基于 LxssManager 服务运行的,只需要将 LxssManager 重启即可, 可以做成一个 bat 文件。(注意:必须在管理员权限下运行)
net stop LxssManager ## 关闭LxssManager服务
net start LxssManager ## 打开LxssManager服务
5、卸载/注销子系统(卸载前请注意文件资料备份)
wslconfig /l ## 显示已安装列表。
wslconfig /u Ubuntu ## Ubuntu为上述列表中的名字 注销子系统