我在使用genisoimage打包uos-server-20-1070a-amd64制作镜像的时候,制作完成的镜像在安装时会显示安装源错误导致镜像安装失败。以下是操作步骤
1.使用uos-server-20-1070a-amd64.iso安装系统,安装时只勾选以下几项
2.系统安装完成后上传uos-server-20-1070a-amd64.iso至/home目录下
3.挂载iso:
mkdir /mnt/uos-server-20-1070a-amd64
mount -o loop /home/uos-server-20-1070a-amd64.iso /mnt/uos-server-20-1070a-amd64
mkdir /home/UOS_ISO
rsync -a /mnt/uos-server-20-1070a-amd64 /home/UOS_ISO
4.清空UOS_ISO中的rpm包
rm -f /home/UOS_ISO/AppStream/Packages/*.rpm
rm -f /home/UOS_ISO/BaseOS/Packages/*.rpm
留下需要的rpm包:
rpm -qa>rpm_uefi.ini
#!/bin/bash dst_dir=/home/uos-server-20-1070a-amd64-jf RPM_FILE="/home/rpm_uefi.ini" for pkg in $(cat $RPM_FILE); do RPM=$(find ${dst_dir} -name $pkg*.rpm) if [[ $RPM =~ .*BaseOS.* ]]; then cp -ap $RPM /home/UOS_ISO/BaseOS/Packages/ elif [[ $RPM =~ .*AppStream.* ]]; then cp -ap $RPM /home/UOS_ISO/AppStream/Packages/ else echo "$pkg not found" fi # if [[ ${RPM} = "" ]];then # echo "${pkg}.rpm not found" # fi done
5.修改isolinux.cfg文件:
6.增加ks.cfg文件:
7.最后执行命令genisoimage -joliet-long -V UOS -o /home/uos-server-20-1070a-amd64-jf.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -cache-inodes -T -eltorito-alt-boot -e images/efiboot.img -no-emul-boot /home/UOS_ISO
8.在虚拟机中安装iso文件:
想请大佬们帮忙看一下是什么原因,谢谢大家
网站声明:如果转载,请联系本站管理员。否则一切后果自行承担。
根据你提供的步骤和描述,有几个潜在的问题可能导致你制作的镜像在安装时显示安装源错误:
1. 安装源路径配置错误:在ks.cfg文件中,你需要确保所有与安装源相关的URL或路径都指向正确的位置。如果你正在使用本地存储库(即你已经复制了RPM包),那么ks.cfg中的repo配置需要指向这些包的路径。
2. RPM包删除/替换问题:当你从`UOS_ISO`中删除RPM包并只保留你需要的包时,可能删除了必要的依赖项或关键的安装组件。确保你的`rpm_uefi.ini`列表包含了所有必须的包和它们的依赖项。
3. isolinux.cfg或ks.cfg配置问题:这两个文件负责启动和安装过程。如果它们中的配置错误,比如错误的引导参数或错误的安装脚本,都可能导致安装失败。
4. 权限问题:在复制RPM包时,你可能需要确保这些文件具有正确的权限,以便在安装过程中可以被访问。
5. iso制作工具选项:`genisoimage`命令中的选项应确保生成的iso文件可以正确地在虚拟机或物理机器上引导。你已经在命令中使用了`-b`、`-c`等选项来指定引导文件,但是如果有其他必须的选项未包含,可能会导致问题。
6. UEFI支持:如果你正在为UEFI引导创建镜像,确保你的`isolinux.cfg`和`ks.cfg`文件支持UEFI,并且你包含了正确的UEFI引导映像(如你命令中的`efiboot.img`)。
7. 文件路径和命名:确保在脚本中使用的所有文件路径和命名都是正确的,没有拼写错误或不一致的地方。
为了具体诊断问题,你可以尝试以下步骤:
- 仔细检查`ks.cfg`文件中的repo设置,确保它们指向你`UOS_ISO`中的正确路径。
- 在删除RPM包之前,备份一份完整的ISO镜像和列表,以便在出现问题时可以回滚。
- 使用`rpm -qR`命令来查询每个RPM包的依赖项,确保你没有删除任何关键依赖项。
- 在虚拟机中尝试使用文本模式安装(而不是图形模式),以便可以查看更详细的错误消息。
- 检查你的日志文件(如`/var/log/anaconda`),看看是否有更详细的错误信息。
- 使用如`isoinfo`或`mount`命令来挂载你制作的ISO文件,并检查其中的文件结构是否正确。
用光盘制作启动盘解决
加入交流群
请使用微信扫一扫!