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-img
apt 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
,保存到/root
tar zcf /root/rootfs.tar.gz *
查看打包后的文件,确认文件存在,本次压缩包大小在
514MB
。ll -h /root/rootfs.tar.gz
rootfs.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.29
3.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-*.repo
3.3 安装
fish
dnf config-manager --add-repo https://download.opensuse.org/repositories/shells:/fish:/release:/3/CentOS_8/shells:fish:release:3.repo dnf install fish
3.4 安装
screen
dnf install epel-release dnf install screen
99. 资料
https://teddysun.net/646.html
https://teddysun.net/626.html
https://adatiya.com/post/4104.html