0. 前提
- win10 开启 WSL2
- wsl2中已经安装好的
ubuntu20.04子系统
1. 制作 rootfs.tar 系统文件包
1.1 下载官方提供的 qcow2 系统包
Rocky8.5 官方下载地址:
https://download.rockylinux.org/pub/rocky/8/images/Rocky-8-GenericCloud-8.5-20211114.2.x86_64.qcow2
https://download.rockylinux.org/pub/rocky/8/images/
其他发行版下载地址:
CentOS 7.9
Fedora 35
Debian 11
Ubuntu 20.04
1.2 制作 rootfs.tar.gz
制作过程,全程在 wsl2-ubuntu20.04 系统中进行,依赖工具包:kpartx、qemu-img、losetup、fdisk、mount、umount
安装
qemu-imgapt install qemu-utils转换
qcow2文件到raw文件qemu-img convert -f qcow2 -O raw Rocky-8-GenericCloud-8.5-20211114.2.x86_64.qcow2 Rocky8.raw使用 losetup 将 raw 文件虚拟成块设备
losetup /dev/loop1 Rocky8.raw使用
kpartx挂载虚拟文件系统kpartx -a /dev/loop1使用
fdisk查看挂载的分区情况fdisk -l /dev/loop1输出:
Disk /dev/loop1: 10 GiB, 10737418240 bytes, 20971520 sectors Units: sectors of 1 * 512 = 512 bytes Sector size (logical/physical): 512 bytes / 512 bytes I/O size (minimum/optimal): 512 bytes / 512 bytes Disklabel type: dos Disk identifier: 0x2cc9c27e Device Boot Start End Sectors Size Id Type /dev/loop1p1 * 2048 16386047 16384000 7.8G 83 Linux此处的
/dev/loop1p1就是等下要mount的块设备具体的名称。挂载块设备到本机路径
mount /dev/mapper/loop1p1 /mnt进入挂载点 /mnt,查看文件
cd /mnt ls -la输出:
total 16 dr-xr-xr-x. 17 root root 224 Nov 15 03:17 . dr-xr-xr-x. 18 root root 256 Nov 17 09:09 .. lrwxrwxrwx. 1 root root 7 Oct 11 08:48 bin -> usr/bin dr-xr-xr-x. 6 root root 4096 Nov 15 03:24 boot drwxr-xr-x. 2 root root 6 Nov 15 02:50 dev drwxr-xr-x. 94 root root 8192 Nov 15 03:24 etc drwxr-xr-x. 2 root root 6 Oct 11 08:48 home lrwxrwxrwx. 1 root root 7 Oct 11 08:48 lib -> usr/lib lrwxrwxrwx. 1 root root 9 Oct 11 08:48 lib64 -> usr/lib64 drwxr-xr-x. 2 root root 6 Oct 11 08:48 media drwxr-xr-x. 2 root root 6 Oct 11 08:48 mnt drwxr-xr-x. 2 root root 6 Oct 11 08:48 opt drwxr-xr-x. 2 root root 6 Nov 15 02:50 proc dr-xr-x---. 2 root root 114 Nov 15 03:47 root drwxr-xr-x. 2 root root 6 Nov 15 02:50 run lrwxrwxrwx. 1 root root 8 Oct 11 08:48 sbin -> usr/sbin drwxr-xr-x. 2 root root 6 Oct 11 08:48 srv drwxr-xr-x. 2 root root 6 Nov 15 02:50 sys drwxrwxrwt. 2 root root 84 Nov 15 03:47 tmp drwxr-xr-x. 13 root root 158 Nov 15 03:01 usr drwxr-xr-x. 20 root root 262 Nov 15 03:00 var打包压缩
/mnt整个目录为rootfs.tar.gz,保存到/roottar zcf /root/rootfs.tar.gz *查看打包后的文件,确认文件存在,本次压缩包大小在
514MB。ll -h /root/rootfs.tar.gzrootfs.tar.gz将作为后面一键注册安装加载的系统包。
1.3 清理工作
卸载挂载点
cd ~ umount /mnt使用
kpartx卸载虚拟文件系统kpartx -d /dev/loop1使用
losetup卸载虚拟块设备losetup -d /dev/loop1
2. 搭配 wsldl 使用
wsldl,Advanced WSL launcher / installer,是一个用 Go 编写的多功能和高级 WSL/WSL2 启动器和安装程序。它可用于安装任何 rootfs 软件包或充当现有已安装发行版的启动器。
项目地址:
https://github.com/yuk7/wsldl
下载最新版 Release 的 icons.zip 文件
解压 icons.zip 后,本次只用得到Rocky.exe执行程序,将 exe 和上面制作好的rootfs.tar.gz文件一并放到D:\wsl\rocky\目录中(路径自定义),双击 exe 完成安装。
3. Rocky8 系统常用设置
3.1 设置静态IP
vi /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" BOOTPROTO="dhcp" ONBOOT="yes" TYPE="Ethernet" USERCTL="yes" PEERDNS="yes" IPV6INIT="no" PERSISTENT_DHCLIENT="1" IPADDR0=192.168.1.248 PREFIXO0=24 GATEWAY0=192.168.1.1 DNS1=223.6.6.6 DNS2=119.29.29.293.2 更换阿里云镜像源
sed -e 's|^mirrorlist=|#mirrorlist=|g' -e 's|^#baseurl=http://dl.rockylinux.org/$contentdir|baseurl=https://mirrors.aliyun.com/rockylinux|g' -i.bak /etc/yum.repos.d/Rocky-*.repo3.3 安装
fishdnf config-manager --add-repo https://download.opensuse.org/repositories/shells:/fish:/release:/3/CentOS_8/shells:fish:release:3.repo dnf install fish3.4 安装
screendnf install epel-release dnf install screen
99. 资料
https://teddysun.net/646.html
https://teddysun.net/626.html
https://adatiya.com/post/4104.html