一、安装wsl
1 安装流程
1.1 开启Linux 子系统选项:控制面板-> 程序->开启或关闭Windows功能->勾选: 适用于Linux的Windows子系统
1.2 在应用商店安装:Ubuntu-22.04 LTS
1.3.启动:Ubuntu-22.04 LTS 添加用户并设置密码
2 wsl迁移到非系统盘
2.1 以管理身份启动终端
2.2 查看wsl下的Linux是否为stopped状态
C:\Users\xxx> wsl -l -v
NAME STATE VERSION
* ubuntu-xx.xx Running 2
如果不是,执行:
C:\Users\xxx> wsl --shutdown ubuntu-xx.xx
2.3 将wsl导出到目标盘并导入
#1. 导出到目标盘
C:\Users\xxx> wsl --export Ubuntu-xx.xx D:\ubuntu-xx.xx.tar
#2.注销wsl
C:\Users\xxx> wsl --unregister Ubuntu-xx.xx
#3.导入wsl:wsl --import <wsl的名字> <wsl安装路径,必须要有一级目录,磁盘根目录不行> <导出的包名> <wsl版本>
C:\Users\xxx> wsl --import Ubuntu-xx.xx D:\Ubuntu-xx.xx\ D:\ubuntu-xx.xx.tar --version 2
#4.以普通用户登录(不执行这句默认以root登录) --- (我起名Ubuntu-22.04,所以这里是ubuntu2204.exe)
C:\Users\xxx> ubuntuxxxx.exe config --default-user 用户名
3 基础配置
3.1 更新环境
$ sudo apt update
$ sudo apt dist-upgrade
3.2 切换为bash
$ sudo ln -fs /bin/bash /bin/sh # dash 切换为bash
3.3 修改bashrc
if [ "$color_prompt" = yes ]; then
PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w \[\033[32m\]\n\u\$ \[\033[00m\]'
else
PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
3.4 配置git
$ git config --global user.name "yourname"
$ git config --global user.email "your-email-address"
$ git config --global credential.helper store
$ git config --global core.quotepath false
$ git config --global core.editor vim
git config --global http.sslverify false
3.5 开启openssh
$ sudo apt install openssh-server
$ sudo vim /etc/ssh/sshd_config
//修改以下内容
PubkeyAuthentication no
PasswordAuthentication yes
$ sudo ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_root_rsa_key
$ sudo ssh-keygen -t ecdsa -b 256 -f /etc/ssh/ssh_host_ecdsa_key
$ sudo ssh-keygen -t ed25519 -b 256 -f /etc/ssh/ssh_host_ed25519_key
$ sudo service ssh restart
4 wsl 扩容
wsl 默认大小为256GB。将该空间扩大:
4.1. 以管理员权限打开 Windows 命令提示, 输入以下命令:
C:\Users\xxx> wsl.exe --shutdown
在Windows
上检查可用磁盘空间,打开 PowerShell
命令行并输入此命令, (替换为 <distribution-name>
实际分发名称) :
C:\Users\xxx> wsl.exe --system -d <distribution-name> df -h /mnt/wslg/distro
上述命令如果不能正常工作,请升级wsl后再试:
C:\Users\xxx> wsl --update
查看wsl 占用空间大小:
C:\Users\xxx> wsl df -h /.
4.2. 找到wsl镜像安装目录: D:\Ubuntu-xx.xx\ext4.vhdx
4.3. 以管理员权限打开 Windows 命令提示,然后输入:
C:\Users\xxx> diskpart
DISKPART> Select vdisk file="D:\Ubuntu-xx.xx\ext4.vhdx"
DISKPART> expand vdisk maximum=4060800 //我给了450G, 单位是MB
4.4. 启动wsl, 然后在wsl中输入以下命令:
$ sudo mount -t devtmpfs none /dev
mount: /dev: none already mounted on /mnt/wsl.
$ mount | grep ext4
/dev/sdc on / type ext4 (rw,relatime,discard,errors=remount-ro,data=ordered)
/dev/sdc on /mnt/wslg/distro type ext4 (ro,relatime,discard,errors=remount-ro,data=ordered)
$ sudo resize2fs /dev/sdc
5 wsl空间压缩
5.1 以管理员权限打开 Windows 命令提示,然后输入:
C:\Users\xxx> wsl --shutdown
C:\Users\xxx> wsl.exe --list --verbose
NAME STATE VERSION
* ubuntu-22.04 Stopped 2
打开 diskpart:
C:\Users\xxx> diskpart
DISKPART> Select vdisk file="D:\Ubuntu-xx.xx\ext4.vhdx"
DISKPART> attach vdisk readonly // 如果失败,再次检查一下wsl是否处于stop状态
DISKPART> compact vdisk // 等待压缩完成
DISKPART> detach vdisk
DISKPART> exit
电脑重启!!!
二、开发环境搭建
1.安装依赖
$ sudo apt install python3-pip python3-distutils
$ sudo apt install gcc-11-arm-linux-gnueabi gcc-arm-linux-gnueabi gcc-arm-none-eabi
$ sudo apt install build-essential gcc g++ make libffi-dev e2fsprogs pkg-config flex bison perl bc openssl libssl-dev libelf-dev binutils binutils-dev libdwarf-dev u-boot-tools mtd-utils cpio device-tree-compiler build-essential zlib1g-dev pkg-config libglib2.0-dev binutils-dev libboost-all-dev autoconf libtool libssl-dev libpixman-1-dev virtualenv flex bison vim vim-scripts vim-doc exuberant-ctags cscope git-lfs libdbus-1-dev openjdk-17-jdk mtools liblz4-tool genext2fs libcap-dev gcc-multilib g++-multilib ccache libtinfo5 default-jdk scons npm gperf libnss3-dev
2.安装python3
查看python3版本, 不同ubuntu版本默认安装的python3版本不同
$ python3 --version
如:安装python3.9
$ sudo apt update
$ sudo apt dist-upgrade
$ sudo apt install python3.9
$ sudo rm -rf /usr/bin/python3 /usr/bin/python
$ sudo ln -s /usr/bin/python3.9 /usr/bin/python3
$ sudo ln -s /usr/bin/python3.9 /usr/bin/python
3. python 常见问题解决
3.1 ModuleNotFoundError: No module named 'apt_pkg'
$ sudo apt remove --purge python3-apt
$ sudo apt install python3-apt -f
$ cd /usr/lib/python3/dist-packages/
$ sudo cp -f apt_pkg.cpython-3?m-x86_64-linux-gnu.so apt_pkg.cpython-38m-x86_64-linux-gnu.so