深度定制CentOS6.5安装光碟(替换内核升级驱动)

本文发布时间: 2019-Mar-22
第一步:挂在CentOS 6.5的母盘 mount -t iso9660 -o ro /dev/cdrom /mnt/centos_dvd 第二步:将CentOS 6.5母盘的内容同步拷贝到 /root/centos_nat/centos_dvd目录下(注:repodata目录不拷贝) rsync -av --exclude=repodata/ /mnt/centos_dvd /root/centos_nat注:需要检查.discinfo是否存在cat /root/centos_nat/centos_dvd/.discinfo 1385726732.061157 6.5 x86_64 ALL第三步:删除TRANS.TBL文件find /root/centos_nat/centos_dvd -name TRANS.TBL -exec rm -f {} \; -print第四步:安装所有所需的工具 yum install anaconda anaconda-help anaconda-runtime createrepo /usr/bin/yumdownloader /usr/bin/mkisofs第五步:定制所需的Package cd /root/centos_nat/centos_dvd/Package a:更新initscriptsrm -f initscripts*rpmyumdownloader initscriptsb:更新kernel文件[root@bigstat-server-6 Packages]# ls kernel-* kernel-2.6.32-431.el6.x86_64.rpm kernel-firmware-2.6.32-431.el6.noarch.rpmrm -f kernel-* cp /home/centos_nat/centos_dvd/Packages/kernel-2.6.35-5.x86_64.rpm .c:更新iptalbes [root@bigstat-server-6 Packages]# ls -al iptables* -r--r--r--. 1 root root 258132 11月 25 03:31 iptables-1.4.7-11.el6.x86_64.rpm -r--r--r--. 1 root root 99120 11月 25 03:31 iptables-ipv6-1.4.7-11.el6.x86_64.rpm更新为自编译的iptables版本iptables-1.4.7-10.el6.x86_64.rpmiptables-ipv6-1.4.7-10.el6.x86_64.rpmd:更新其他软件及其依赖的软件yumdownloader ethtoolethtool-3.5-1.2.el6_5.x86_64.rpmyumdownloader lsoflsof-4.82-4.el6.x86_64.rpmyumdownloader dstatdstat-0.7.0-1.el6.noarch.rpmyumdownloader telnettelnet-0.17-47.el6_3.1.x86_64.rpmyumdownloader tcpdumptcpdump-4.0.0-3.20090921gitdf3cb4.2.el6.x86_64.rpmyumdownloader wgetwget-1.12-1.11.el6_5.x86_64.rpmyumdownloader libpcap.x86_64libpcap-1.4.0-1.20130826git2dbcaa1.el6.x86_64.rpm yumdownloader manman-1.6f-32.el6.x86_64.rpme:更新本业务需要的特殊包yumdownloader conntrack-toolsconntrack-tools-1.4.1-1.el6.x86_64.rpmyumdownloader libnetfilter_conntracklibnetfilter_conntrack-0.0.100-2.el6.i686.rpm libnetfilter_conntrack-1.0.3-1.el6.x86_64.rpm yumdownloader libnetfilter_cthelperlibnetfilter_cthelper-1.0.0-3.el6.x86_64.rpmyumdownloader libnetfilter_cttimeoutlibnetfilter_cttimeout-1.0.0-1.el6.x86_64.rpmyumdownloader libnetfilter_queuelibnetfilter_queue-1.0.2-1.el6.x86_64.rpmyumdownloader libnfnetlinklibnfnetlink-1.0.1-1.el6.x86_64.rpm libnfnetlink-1.0.0-1.el6.i686.rpm yumdownloader libmnllibmnl-1.0.3-4.el6.x86_64.rpm libmnl-1.0.2-3.el6.i686.rpmulogd-1.24-2.el5.re.x86_64.rpm第六步:修改repo基本文件 cd repodatacp /mnt/centos_dvd/repodata/*-minimal-x86_64.xml a.xml检查a.xml里面的文件,上一步添加的每一项均需要在a.xml中添加,上一步删除的每一项均需要在a.xml中删除例如:删除kernel-firmware第七步:重新生成repo cd /root/centos_nat/centos_dvd[root@bigstat-server-6 centos_dvd]# discinfo=`head -1 .discinfo` [root@bigstat-server-6 centos_dvd]# compdata=`find repodata -name a.xml` createrepo -u "media://$discinfo" -g $compdata .查看repodata目录已经被更新[root@bigstat-server-6 repodata]# ls 021cc7844abf858665f17d4eb806b8766799bad8549f06ac1b962196ac396f93-filelists.sqlite.bz2 07821b5545f1731f6b2136d24b8ea409ab8c81f31130d4af83486683fb6478aa-primary.xml.gz 16e2571721cd66f02204a55414f15c24af2c66c502923ce6f17e6d13310d0513-other.sqlite.bz2 53f6028763ddd38d2cf12151907c912938fee5c030b6005db3955db1066ee9ed-a.xml.gz 721cb2db5af579f49bdfc62a4003df30936b815df049619b4a3766fe67777310-primary.sqlite.bz2 899eee50d02ed1469f7ae7fe67ad6f9de42c206be1da725fe34cdf206fd8a356-other.xml.gz da04b2e08de36b98579cb22953b7da8cebfa60106d65796069576c43d5eff579-a.xml eb795a29dc0b43e7d149f28cc3c7bfa1848df07f577a3f33ffa43249c4923ed4-filelists.xml.gz repomd.xml第八步:生成Kickstart文件。这个文件从任何一个CentOS 6 安装完的系统里,/root目录下会有一个anaconda-ks.cfg目录,以此目录为基础进行修改。修改后,请放到/root/centos_nat/centos_dvd/isolinux目录下,我命名为myks.cfg,下面是我使用的版本# Kickstart file automatically generated by anaconda.#version=DEVELinstallcdromlang zh_CN.UTF-8keyboard us#network --onboot no --device eth0 --bootproto dhcp --noipv6#network --onboot no --device eth3 --bootproto dhcp --noipv6rootpw --iscrypted $6$myYiR0VMuN4owxiWmWsceIId0OERWHlwkigsd20BKkO0firewall --service=sshauthconfig --enableshadow --passalgo=sha512selinux --enforcingtimezone --utc Asia/Shanghaibootloader --location=mbr --driveorder=sda --append="crashkernel=auto rhgb quiet"# The following is the partition information you requested# Note that any partitions you deleted are not expressed# here so unless you clear all partitions first, this is# not guaranteed to work#clearpart --none#part /boot --fstype=ext4 --size=200#part swap --size=8000#part / --fstype=ext4 --grow --size=200#repo --name="CentOS" --baseurl=cdrom:sr0 --cost=100%packages@core%post --log=/usr/src/install.logdracut -f -v --hostonly -k '/lib/modules/2.6.35' /boot/initramfs-2.6.35.img 2.6.35echo "initrd /initramfs-2.6.35.img" >>/boot/grub/grub.confmkdir -p /mnt/cdrommount -r -t iso9660 /dev/cdrom /mnt/cdromunalias cpcp -r /mnt/cdrom/opt /rootfind /lib/modules/2.6.35 -name ixgbe.ko -exec rm -f {} \;install -D -m 644 /root/opt/ixgbe.ko /lib/modules/2.6.35/kernel/drivers/net/ixgbe/ixgbe.ko/sbin/depmod -a%end%post的部分的脚本,是为了解决kernel2.6.35安装过程中没有生成initramfs文件,以及没有在grub.conf中增加相关项而增加。其原因我尚不明白为何安装过程中会有此缺陷。除此之外,在上述的安装脚本中,还进行升级万兆网卡的驱动第九步:更新isolinux.cfg文件isolinux.cfg文件位于/root/centos_nat/centos_dvd/isolinux目录下,配置安装的时候的KickStart文件为上一步生成的myks.cfglabel linux menu label ^Install or upgrade an existing system menu default kernel vmlinuz append ks=cdrom:/isolinux/myks.cfg initrd=initrd.img第十步:重新生成ISO文件cd /root/centos_nat/centos_dvdmkisofs -r -R -J -T -v -no-emul-boot \ -boot-load-size 4 \ -boot-info-table \ -V "centos6.5-nat-1-x86_64.iso" \ -p "TM" \ -A "centos6.5-nat-1-x86_64.iso - 2014/03/28" \ -b isolinux/isolinux.bin \ -c isolinux/boot.cat \ -x "lost+found" \ --joliet-long \ -o ../centos6.5-nat-1.3-x86_64.iso .第十一步:生成文件的MD5值/usr/bin/implantisomd5 centos6.5-nat-1.3-x86_64.iso 然后就可以刻录光碟并在机器上进行安装。


(以上内容不代表本站观点。)
---------------------------------
本网站以及域名有仲裁协议。
本網站以及域名有仲裁協議。

2024-Mar-04 02:10pm
栏目列表