环境要求:
下列操作需要在aarch64架构的openEuler-22.03-LTS的操作系统下执行,否则可能出现兼容性问题。
安装指南为:Installation
一、initrd.img获取
1.1、下载openEuler-22.03-LTS的官方ISO
linux:
wget https://repo.openeuler.org/openEuler-22.03-LTS/ISO/aarch64/openEuler-22.03-LTS-aarch64-dvd.iso
Windows:
页面下载:https://repo.openeuler.org/openEuler-22.03-LTS/ISO/aarch64/openEuler-22.03-LTS-aarch64-dvd.iso
1.2、挂载ISO
mkdir -p 临时目录(如:/opt/tmp/iso_mount)
mount -o loop ISO文件路径 临时目录(如:/opt/tmp/iso_mount)
1.3、拷贝initrd.img
挂载iso之后,initrd.img在xxx/images/pxeboot路径下,将其拷贝到其他路径下(随意指定,如/opt/tmp)
cp initrd.img路径(如:/opt/tmp/iso_mount/images/pxeboot/initrd.img) 新建路径(如/opt/tmp/)
二、解压initrd.img
2.1、更新initrd.img
由于initrd.img是xz压缩格式(可使用 file initrd.img查看),所以解压前需要先重命名为.xz结尾的文件:
mv initrd.img initrd.img.xz
解压initrd.img.xz:
xz -d initrd.img.xz
解压之后initrd.img名称不变
2.2、解压initrd.img
新建chroot路径(如:/opt/tmp/initrd):
mkdir -p /opt/tmp/initrd
cd /opt/tmp/initrd
解压:
cpio -idmv < initrd.img文件路径(如:/opt/tmp/initrd.img)
三、安装dnf
3.1、在外部操作系统下将dnf安装到initrd.img的解压路径下
dnf install --installroot=解压路径(如:/opt/tmp/initrd)dnf -y
四、重新制作initrd.img
4.1、新建新镜像存放路径
mkdir -p 新路径(如:/opt/tmp/new_initrd/)
4.2、压缩生成新的initrd.img
cd 旧initrd.img解压路径(如:/opt/tmp/initrd)
find . | cpio -o >新镜像存放路径(如:/opt/tmp/new_initrd/initrd.img)