linux光盘镜像更换kernel,定制ks自动安装
centos6.7 内核版本是2.6.32-573.el6.x86_64
,在使用过程中发现,会导致 swap 信息统计非法,如下所示:
# free -g
total used free shared buffers cached
Mem: 31 1 30 0 0 0
-/+ buffers/cache: 0 30
Swap: 0 1717986868 500
可以看到及时系统没有 enable swap 分区,也会显示 swap used
为一个非常大的数字,这会导致进程被当作 OOM 杀掉。
考虑把内核升级到2.6.32-573.26.1.el6.x86_64.rpm
挂载
mount -o loop CentOS-6.7-x86_64-bin-DVD1.iso /media/cdrom/
复制
cd /media/cdrom
rsync -av --exclude=repodata/ --exclude=Packages/ --exclude=TRANS.TBL cdrom/* mycentos6.7
注:需要检查.discinfo和.treeinfo是否存在
cat /mycnetos6.7/.discinfo 1385726732.061157 6.5 x86_64 ALL
删除掉所有目录下的TRANS.TBL(可选)
上一步已经exclude的了可以忽略
find /root/centos_nat/centos_dvd -name TRANS.TBL -exec rm -f {} \; -print
其中可以将所有目录下的TRANS.TBL删除掉,
用mkisofs生成ISO时加上-T参数,即可给所有目录下生成TRANS.TBL文件,
TRANS.TBL文件的作用是用于提供比ISO9660标准约定的基本文件名更加灵活的文件名,然而,ISO9660规范已经用Rock Ridge和Joliet扩展替代TRANS.TBL文件很久了,因此,现代所用之创建ISO9660镜像文件的工具,或者根本不创建TRANS.TBL文件,或者仅在用户明确指定时才会创建它们。
生成安装系统所需的rpm文件列表
生成rpm包列表文件,可通过install.log文件获取,这里是packages-6.7
awk '{print "rsync -a cdrom/Packages/"$1" mycentos6.7/Packages"}' packages-6.7|bash
校验下rpm包的正确性
rpm -K --nogpg *rpm
更新kernel
- 下载需要更新的kernel安装包,并更新到mycentos6.7/Packages
yumdownloader --resolve --destdir=/root/mypackages/ kernel
生成repodata目录
如果更新的安装包有变,需要重新创建repodata
- 复制和修改comps.xml
A precreated xml filename to point to for group information
mkdir mycentos6.7/repodata
cp cdrom/repodata/*x86_64-comps.xml mycentos6.7/repodata/maoyi.xml
有变更的包需要修改,删除的包需要在maoyi.xml中删除
- 重建repodata
createrepo -u . -g repodata/a.xml
-u : 镜像跟目录,./mycentos6.7
-g : groupfile
增加ks文件,自安装
- 修改/isolinux/isolinux.cfg
default ks //默认启动
#default vesamenu.c32
#prompt 1
timeout 600
display boot.msg
menu background splash.jpg
menu title Welcome to CentOS 6.7!
menu color border 0 #ffffffff #00000000
menu color sel 7 #ffffffff #ff000000
menu color title 0 #ffffffff #00000000
menu color tabmsg 0 #ffffffff #00000000
menu color unsel 0 #ffffffff #00000000
menu color hotsel 0 #ff000000 #ffffffff
menu color hotkey 7 #ffffffff #ff000000
menu color scrollbar 0 #ffffffff #00000000
label linux
menu label ^Install or upgrade an existing system
menu default
kernel vmlinuz
append initrd=initrd.img
label vesa
menu label Install system with ^basic video driver
kernel vmlinuz
append initrd=initrd.img nomodeset
label rescue
menu label ^Rescue installed system
kernel vmlinuz
append initrd=initrd.img rescue
label ks //
kernel vmlinuz
append ks=cdrom:/ks.cfg initrd=initrd.img devfs=nomount ramdisk_size=16384 nofb biosdevname=0
label local
menu label Boot from ^local drive
localboot 0xffff
label memtest86
menu label ^Memory test
kernel memtest
append -
- 修改ks
需要注意修改installation media
#Use CDROM installation media
cdrom
生成镜像
mkisofs -o MyCentOS_1.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -T ./MyCentOS
加入md5校验
转载于:https://blog.51cto.com/maoyi/2046606