您的位置:首页 > 运维架构 > Linux

linux光盘镜像更换kernel,定制ks自动安装

2017-12-01 21:37 351 查看
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校验

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  linux 镜像 系统定制