手把手教你一步一步iso/usb自动装机linux系统(一)

前段时间琢磨了很久,先把装载一堆自定义启动的文件打包到镜像,制作成iso到虚拟机启动,后来再移植到U盘启动。

总体流程分为:

copy标准镜像ISO -> 集成各种依赖 -> ks文件 -> isolinux.cfg -> 加入自定义业务部署脚本(脚本中加入开机自启动的脚本) -> ISO封装 -> 烧写U盘

一 先做一个最小的镜像包,能在虚拟机里完成开机启动

1. 使用aliyun或官方镜像包:

 CentOS-7-x86_64-Minimal-xxxx.iso作为基础镜像,Minimal镜像非常小,只有900多M,其他功能,根据需要添加。

 https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b11YN7X8r

 wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo
 

(1)创建目录,存放光盘源文件 
mkdir centos7(创建在/app目录下) 

(2)复制光盘源文件到目录, 
cp -r /misc/cd/ /app/centos7 
注意隐藏文件也要复制过来

(3)重新制作yum源

[root@CentOS7 app]#pwd
/app
[root@CentOS7 app]#cp centos7/repodata/d918936f5019be3fb66e9981a28cb2a41477a2963d741d454f79377a22214f43-c7-x86_64-comps.xml .
 

2. kickstart文件制作

可以寻找自动生成的文件/root/anaconda-ks.cfg来修改,也可以直接通过图形工具生成。

platform=x86, AMD64, or Intel EM64T
#version=DEVEL
# Install OS instead of upgrade
install
# Keyboard layouts
keyboard 'us'
# Root password
rootpw "lvpwd123" #--iscrypted $1$A8ckkKtO$ueaSpVRL2n5xMticsvHt51
# System language
lang en_US
# System authorization information
auth  --useshadow  --passalgo=sha512
# Use CDROM installation media
cdrom
# Use graphical install
# graphical
text
# SELinux configuration
selinux --disabled
# Do not configure the X Window System
skipx


# Firewall configuration
firewall --disabled
# Network information
network  --bootproto=dhcp --device=enp0s3 --onboot=on
# Reboot after installation
reboot --eject /dev/cdrom
# System timezone
timezone Asia/Shanghai
# System bootloader configuration
 

zerombr
# Partition clearing information
clearpart --all --initlabel
# Disk partitioning information
part /boot --asprimary --fstype="ext4" --ondisk=sda --size=200
part swap --asprimary --fstype="swap" --ondisk=sda --size=4096
part / --asprimary --fstype="ext4" --grow --ondisk=sda --size=1

#part /boot --fstype="xfs" --ondisk=sda --size=200
#$part pv.364 --fstype="lvmpv" --ondisk=sda --size=1 --grow
#volgroup centos_school --pesize=4096 pv.364
#logvol swap --fstype="swap" --size=4096 --name=swap --vgname=centos_school
#logvol /data --fstype="xfs" --percent=100 --name=data --vgname=centos_school
#logvol / --fstype="xfs" --size=40906 --name=root --vgname=centos_school

%post --nochroot --log=/mnt/sysimage/root/postinstall_stage1.log
 

 

cd /mnt/sysimage/root/
sh init.sh
mkdir init_done
 

%end

%packages
@base
@core
chrony
kexec-tools
#jq
#jq-1.6-1.el7.x86_64
%end
 

Pre-installation Script是安装前脚本,Post-installation是运行安装后脚本,此处直接修改yum源。

 

 

3. 启动菜单引导项制作

主要是修改isolinux.cfg文件,进行指定到ks文件。

手把手教你一步一步iso/usb自动装机linux系统(一)_第1张图片

手把手教你一步一步iso/usb自动装机linux系统(一)_第2张图片

手把手教你一步一步iso/usb自动装机linux系统(一)_第3张图片

手把手教你一步一步iso/usb自动装机linux系统(一)_第4张图片

4. 生成ISO

mkisofs -R -J -T -v --no-emul-boot --boot-load-size 4 --boot-info-table -V "Leevy CentOS 7.6 x86_64 boot" -b isolinux/isolinux.bin -c isolinux/boot.cat -o /root/centos7.iso /app/centos7

 

5. 重新起一个虚拟机,加载生成的centos7.iso

 

 

你可能感兴趣的:(Linux镜像)