A_001.Window 11使用WSL2下载Android 12系统源码

这篇博客详细介绍了如何在Windows 11环境下,通过WSL2安装Ubuntu 20.04,并将子系统迁移到其他磁盘以下载Android 12的系统源码。主要步骤包括启用WSL2,安装Ubuntu,迁移子系统,以及解决启动问题。
摘要由CSDN通过智能技术生成

操作性环境:
Windows 11 64bit 系统。

1.安装wsl命令

特别说明,后续windows终端操作命令都需要在在管理员模式下打开 PowerShell 或 Windows 命令提示符,方法是右键单击并选择“以管理员身份运行”。

1.1 前期准备

安装 WSL2之前,须启用虚拟机平台可选功能:


PS C:\WINDOWS\system32> dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart

部署映像服务和管理工具
版本: 10.0.22000.653

映像版本: 10.0.22000.2057

启用一个或多个功能
[==========================100.0%==========================]
操作成功完成。
PS C:\WINDOWS\system32>

需要先启用“适用于Linux 的 Windows 子系统”可选功能,然后才能在 Windows上安装 Linux系统,比如ubuntu系统:

PS C:\WINDOWS\system32> dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart

部署映像服务和管理工具
版本: 10.0.22000.653

映像版本: 10.0.22000.2057

启用一个或多个功能
[==========================100.0%==========================]
操作成功完成。
PS C:\WINDOWS\system32>

以上操作完成之后,并重启计算机。

1.2 安装wsl

可以使用单个命令安装运行 WSL。在管理员模式下打开 PowerShell 或 Windows 命令提示符,输入 wsl --install 命令完成安装然后重启计算机。

Windows PowerShell
版权所有(C) Microsoft Corporation。保留所有权利。

安装最新的 PowerShell,了解新功能和改进!https://aka.ms/PSWindows

PS C:\WINDOWS\system32> wsl --install
正在安装: 虚拟机平台
已安装 虚拟机平台。
正在安装: 适用于 Linux 的 Windows 子系统
已安装 适用于 Linux 的 Windows 子系统。
正在安装: Ubuntu
已安装 Ubuntu。
请求的操作成功。直到重新启动系统前更改将不会生效。

1.3 安装Windows子系统ubuntu 20.04

查看支持安装的系统版本:

PS C:\WINDOWS\system32> wsl -l -o
以下是可安装的有效分发的列表。
使用 'wsl.exe --install <Distro>' 安装。

NAME                                   FRIENDLY NAME
Ubuntu                                 Ubuntu
Debian                                 Debian GNU/Linux
kali-linux                             Kali Linux Rolling
Ubuntu-18.04                           Ubuntu 18.04 LTS
Ubuntu-20.04                           Ubuntu 20.04 LTS
Ubuntu-22.04                           Ubuntu 22.04 LTS
OracleLinux_7_9                        Oracle Linux 7.9
OracleLinux_8_7                        Oracle Linux 8.7
OracleLinux_9_1                        Oracle Linux 9.1
openSUSE-Leap-15.5                     openSUSE Leap 15.5
SUSE-Linux-Enterprise-Server-15-SP4    SUSE Linux Enterprise Server 15 SP4
SUSE-Linux-Enterprise-Server-15-SP5    SUSE Linux Enterprise Server 15 SP5
openSUSE-Tumbleweed                    openSUSE Tumbleweed

安装指定操作系统版本Ubuntu-20.04:

PS C:\WINDOWS\system32> wsl --install -d  Ubuntu-20.04
正在安装: Ubuntu 20.04 LTS
已安装 Ubuntu 20.04 LTS。
正在启动 Ubuntu 20.04 LTS...

1.4 迁移wsl2安装的子系统到其他磁盘

默认使用wsl安装的子系统存储在电脑C盘,由于安卓系统源码比较大,至少考虑预留200G的空闲磁盘。如果你的C盘空间充足,可以不用考虑迁移。否则需要将子系统放到一个相对比较大的磁盘。可以安装如下步骤迁移wsl安装的ubuntu子系统。以下以迁移到F盘为例说明:

PS C:\WINDOWS\system32> wsl -l --all -v
  NAME            STATE           VERSION
* Ubuntu-20.04    Running         2
PS C:\WINDOWS\system32> wsl --shutdown
PS C:\WINDOWS\system32>

PS C:\WINDOWS\system32> wsl --export Ubuntu-20.04     F:\wsl\wsl-ubuntu20.04.tar
正在导出,这可能需要几分钟时间。
操作成功完成。
PS C:\WINDOWS\system32>
PS C:\WINDOWS\system32> wsl --unregister Ubuntu-20.04
正在注销。
操作成功完成。
PS C:\WINDOWS\system32> wsl --import Ubuntu-20.04  F:\wsl\wsl-ubuntu20.04   F:\wsl\wsl-ubuntu20.04.tar  --version 2
正在导入,这可能需要几分钟时间。
操作成功完成。
PS C:\WINDOWS\system32>

1.5 启动进入wsl子系统

执行如下命令启动安装的Ubuntu子系统:

PS C:\WINDOWS\system32> wsl -d Ubuntu-20.04
操作成功完成。

如果需要以root用户进入,执行如下命令:

PS C:\WINDOWS\system32> wsl -u root

1.6 Windows端访问子系统ubuntu文件夹

Windows端查看wsl系统方法:
在Windows文件栏输入"\\wsl$",回车就可以看到Ubuntu系统目录。

1.7 可能遇到的启动问题

启动过程中可能出现错误:

Installing, this may take a few minutes…
WslRegisterDistribution failed with error: 0x80370102
Please enable the Virtual Machine Platform Windows feature and ensure virtualization is enabled in the BIOS.
For information please visit https://aka.ms/enablevirtualization

解决方法:

执行如下命令然后重启电脑。

wsl --set-default-version 2
DISM /Online /Enable-Feature /All /FeatureName:Microsoft-Hyper-V
bcdedit /set hypervisorlaunchtype auto

2.源码下载

依次参考执行如下命令完成源码下载:

PS C:\WINDOWS\system32> wsl -d Ubuntu-20.04
qiang@LAPTOP-GACS65HF:/mnt/c/WINDOWS/system32$ cd /home
qiang@LAPTOP-GACS65HF:/home$ ls
qiang
qiang@LAPTOP-GACS65HF:/home$ cd qiang
qiang@LAPTOP-GACS65HF:~$ ls
AospCode
qiang@LAPTOP-GACS65HF:~$ cd AospCode/
qiang@LAPTOP-GACS65HF:~/AospCode$ ls
qiang@LAPTOP-GACS65HF:~/AospCode$ mkdir Aosp12
mkdir: cannot create directory ‘Aosp12’: Permission denied
qiang@LAPTOP-GACS65HF:~/AospCode$ ls -la
total 8
drwxr-xr-x 2 root  root  4096 Jul 10 18:49 .
drwxr-xr-x 6 qiang qiang 4096 Jul 10 17:20 ..
qiang@LAPTOP-GACS65HF:~/AospCode$ cd ..
qiang@LAPTOP-GACS65HF:~$ ls
AospCode
qiang@LAPTOP-GACS65HF:~$ ls -la
total 40
drwxr-xr-x 6 qiang qiang 4096 Jul 10 17:20 .
drwxr-xr-x 3 root  root  4096 Jul 10 14:43 ..
-rw------- 1 qiang qiang  780 Jul 10 19:00 .bash_history
-rw-r--r-- 1 qiang qiang  220 Jul 10 14:43 .bash_logout
-rw-r--r-- 1 qiang qiang 3771 Jul 10 14:43 .bashrc
drwx------ 2 qiang qiang 4096 Jul 10 14:47 .cache
drwx------ 3 qiang qiang 4096 Jul 10 17:20 .config
drwxr-xr-x 2 qiang qiang 4096 Jul 10 14:47 .landscape
-rw-r--r-- 1 qiang qiang    0 Jul 10 14:47 .motd_shown
-rw-r--r-- 1 qiang qiang  807 Jul 10 14:43 .profile
-rw-r--r-- 1 qiang qiang    0 Jul 10 15:54 .sudo_as_admin_successful
drwxr-xr-x 2 root  root  4096 Jul 10 18:49 AospCode
qiang@LAPTOP-GACS65HF:~$ chmod 777 AospCode/
chmod: changing permissions of 'AospCode/': Operation not permitted
qiang@LAPTOP-GACS65HF:~$ chmod 777 AospCode
chmod: changing permissions of 'AospCode': Operation not permitted
qiang@LAPTOP-GACS65HF:~$ sudo chmod 777 AospCode
[sudo] password for qiang:
qiang@LAPTOP-GACS65HF:~$ ls
AospCode
qiang@LAPTOP-GACS65HF:~$ cd AospCode/
qiang@LAPTOP-GACS65HF:~/AospCode$ mkdir ~/bin
qiang@LAPTOP-GACS65HF:~/AospCode$ PATH=~/bin:$PATH
qiang@LAPTOP-GACS65HF:~/AospCode$ curl https://mirrors.tuna.tsinghua.edu.cn/git/git-repo -o ~/bin/repo
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 45797  100 45797    0     0  63784      0 --:--:-- --:--:-- --:--:-- 63695
qiang@LAPTOP-GACS65HF:~/AospCode$ chmod +x ~/bin/repo
qiang@LAPTOP-GACS65HF:~/AospCode$ ls -la
total 8
drwxrwxrwx 2 root  root  4096 Jul 10 21:39 .
drwxr-xr-x 7 qiang qiang 4096 Jul 10 21:39 ..
qiang@LAPTOP-GACS65HF:~/AospCode$ mkdir Aosp12
qiang@LAPTOP-GACS65HF:~/AospCode$ ls
Aosp12
qiang@LAPTOP-GACS65HF:~/AospCode$ cd Aosp12/
qiang@LAPTOP-GACS65HF:~/AospCode/Aosp12$ ls
qiang@LAPTOP-GACS65HF:~/AospCode/Aosp12$ git config --global user.email "test987654321@gmail.com"
qiang@LAPTOP-GACS65HF:~/AospCode/Aosp12$ git config --global user.name "testtest"
qiang@LAPTOP-GACS65HF:~/AospCode/Aosp12$ git config --global url.https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/.insteadof https://android.googlesource.com
qiang@LAPTOP-GACS65HF:~/AospCode/Aosp12$ export REPO_URL='https://mirrors.tuna.tsinghua.edu.cn/git/git-repo'

qiang@LAPTOP-GACS65HF:~/AospCode/Aosp12$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b   android-12.0.0_r3
Downloading Repo source from https://mirrors.tuna.tsinghua.edu.cn/git/git-repo
remote: Enumerating objects: 4545, done.
remote: Counting objects: 100% (4545/4545), done.
remote: Compressing objects: 100% (2187/2187), done.
remote: Total 8138 (delta 4034), reused 2358 (delta 2358), pack-reused 3593
Receiving objects: 100% (8138/8138), 3.89 MiB | 1.76 MiB/s, done.
Resolving deltas: 100% (5223/5223), done.
repo: Updating release signing keys to keyset ver 2.3


qiang@LAPTOP-GACS65HF:~/AospCode/Aosp12$ repo init -u https://mirrors.tuna.tsinghua.edu.cn/git/AOSP/platform/manifest -b   android-12.0.0_r3
repo: reusing existing repo client checkout in /home/qiang/AospCode/Aosp12

Testing colorized output (for 'repo diff', 'repo status'):
  black    red      green    yellow   blue     magenta   cyan     white
  bold     dim      ul       reverse
Enable color display in this user account (y/N)? y

repo has been initialized in /home/qiang/AospCode/Aosp12



qiang@LAPTOP-GACS65HF:~/AospCode/Aosp12$ repo sync
remote: Enumerating objects: 6509, done.
remote: Counting objects: 100% (6509/6509), done.
remote: Compressing objects: 100% (1982/1982), done.
remote: Total 80441 (delta 5492), reused 4154 (delta 4129), pack-reused 73932
Receiving objects: 100% (80441/80441), 17.02 MiB | 2.41 MiB/s, done.
Resolving deltas: 100% (32744/32744), completed with 375 local objects.
Fetching:  0% (4/1040) 4:35 | 4 jobs | 4:35 platform/art @ art
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xiaomaNo01

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值