背景
我们需要给rk3588 rock5b制作一个opencloudos的rootfs,让opencloudos能够在rock5b上面运行
制作方法
准备一个arm的打包环境,这个环境就是使用的与准备制作的rootfs的相同版本的iso安装的,这样兼容性会最好,避免架构问题,版本问题,mac m1是arm架构,正好可以安装arm版本的opencloudos操作系统
下载操作系统
首先下载一个操作系统
https://mirrors.opencloudos.tech/opencloudos-stream/releases/23/images/aarch64/OpenCloudOS-Stream-23-20240304-minimal-aarch64.iso
因为操作系统安装的时候实际上是启动了一个临时的小系统环境,然后把系统盘挂载到临时分区,通过安装包的方式构建起来一个完整的操作系统的
我们需要的也是类似的操作,这里我们构建一个rootfs,基于的是这个操作系统的iso,这个操作系统采用小的minimal iso即可,这个rootfs是越小越好,后续根据需要进行包的安装即可
把iso挂载起来,我们需要用到的是里面的rpm源
[root@buildos iso]# mount OpenCloudOS-Stream-23-20240304-minimal-aarch64.iso /media/
mount: /media: WARNING: source write-protected, mounted read-only.
安装基础的软件包
[root@buildos iso]# mkdir /rootfs
[root@buildos iso]# rpm --root /rootfs --initdb
[root@buildos iso]# rpm -ivh --nodeps --root /rootfs --package /media/Packages/opencloudos-stream-release-23-18.ocs23.noarch.rpm
[root@buildos iso]# rpm -ivh --nodeps --root /rootfs --package /media/Packages/python3-dnf-4.16.2-2.ocs23.noarch.rpm
[root@buildos iso]# rpm -ivh --nodeps --root /rootfs --package /media/Packages/dnf-data-4.16.2-2.ocs23.noarch.rpm
[root@buildos iso]# rpm -ivh --nodeps --root /rootfs --package /media/Packages/python3-3.11.6-2.ocs23.aarch64.rpm
准备本地源
[root@buildos iso]# cat /rootfs/etc/dnf/dnf.conf
[main]
gpgcheck=0
installonly_limit=3
clean_requirements_on_remove=True
best=True
skip_if_unavailable=False
zchunk=False
[