layout: post
title: 制作自定义系统iso镜像
date: 2018-01-22
tags: [“Centos | Redhat 自动化安装系统”,”Linux”]


一、制作自己的ISO启动盘篇

在需要安装特定系统的时候,我们使用原版的linux系统盘镜像来安装,需要手动操作N多步,在机器非常多的环境下,这种方式显然不理想,这是我我们就需要制作我们特定的系统盘来简化安装,释放双手。

制作自己的ISO启动盘其实很简单,只需要了解iso光盘启动需要加载的文件,然后借助工具制作就可以。

1、创建引导光盘文件

  1. 1、创建一个目录用来存放我们的iso文件
  2. mkdir -pv /app/myiso
  3.  
  4. 2、将光盘挂载到一个目录下,方便我们复制目录
  5. mount /dev/sr0 /mnt
  6.  
  7. 3、将光盘启动文件拷贝到我们创建的目录内
  8. cp -r /mnt/ /app/myiso/ #整个光盘复制过去
  9.  
  10. 4、创建应答文件目录并将应答文件拷贝过去
  11. mkdir /app/myiso/isolinux/ksdir
  12. cp path/ks_file /app/myiso/isolinux/ksdir/ks-mini.cfg #应答文件的创建参见http://blog.vservices.top/myblog/?p=766 第三节
  13.  
  14. 5、修改linux的启动菜单文件,可以参见http://blog.vservices.top/myblog/?p=766 第二节
  15. vim /app/myiso/isolinux/isolinux.cfg
  16.  
  17. default vesamenu.c32
  18. timeout 600
  19. display boot.msg
  20. menu clear
  21. menu background splash.png
  22.  
  23. label linux
  24. menu label ^Install CentOS 7
  25. kernel vmlinuz
  26. append initrd=c7/initrd.img ks=ksdir/ks-mini.cfg
  27.  
  28. label local
  29. menu default
  30. menu label Boot from ^local drive
  31. localboot 0xffff
  32.  
  33. 6、删除"/app/myiso/"下的所有 "TRANS.TBL" 文件,该文件会在生成新的iso时重新生成
  34. find /app/myiso/ -name TRANS.TBL -exec rm {} \;
  35.  
  36. 7、删除 /app/myiso/repodata下除了以'-comps.xml'结尾的所有文件(被排除掉的是包组数据库,这个需要保留)
  37. grep -v '-comps.xml$' /app/myiso/repodata/ ' xargs rm -rf
  38.  
  39. 8、创建新的rpm包数据库
  40. cd /app/myiso/
  41. createrepo -g repodata/38b60f66d52704cffb8696750b2b6552438c1ace283bc2cf22408b0ba0e4cbfa-c7-x86_64-comps.xml ./ #该命令依赖createrepo这个rpm包

2、生成镜像

  1. mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "CentOS 7 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/c7.iso /app/myiso/
  2.  
  3. 新的镜像保存在/root

3、刻录镜像

我们生成的镜像虽然可以引导,但是如果将其刻录到U盘内将不能启动,原因是:刻录后,U盘的MBR是空的。所以准对这种情况我们需要对光盘镜像做一下处理。

处理方法:

  1. 我们需要借助syslinux这个软件包
  2. yum install -y syslinux
  3.  
  4. 安装好这个包后我们使用一下命令,填充MBR,这样刻入硬盘或U盘是MBR已经做好了引导区
  5. isohybrid /root/c7.iso
  6.  
  7. 做完这一步,我们就可以查看这个镜像的前512个字节了
  8. hexdump -C -n 512 /root/c7.iso

4、使用dd命令将iso文件刻录到U盘内

文档更新时间: 2018-12-17 20:17   作者:张尚