定制化LiveCD

在使用cobbler或PXE安装系统的时候,在安装系统前关于raid卡的配置,ipmi的配置等都需要登入主机先手动配置,那有什么可以使用脚本来做这些东西呢?大家一定会想到winpe,那linux有什么呢?Linux有一个LiveCD,但是公共的LiveCD很多没有像MegaRAID,ipmitools等工具,那我们只有自己来定制LiveCD
1.  安装制作环境
添加yum源:

[livecd]
name = CentOS $releasever - LiveCD
baseurl = http://www.nanotechnologies.qc.ca/propos/linux/centos-live/$basearch/live
enabled=1
protect=0
gpgkey = http://www.nanotechnologies.qc.ca/propos/linux/RPM-GPG-KEY-PGuay2010
yum install livecd-tools syslinux anaconda-runtime

2. 编写kickstart脚本

lang en_US.UTF-8
keyboard us
timezone US/Eastern
auth --useshadow --enablemd5
selinux --enforcing
firewall --disabled
repo --name=a-base    --baseurl=http://mirror.centos.org/centos/5/os/$basearch
repo --name=a-updates --baseurl=http://mirror.centos.org/centos/5/updates/$basearch
repo --name=a-extras  --baseurl=http://mirror.centos.org/centos/5/extras/$basearch
repo --name=a-live    --baseurl=http://www.nanotechnologies.qc.ca/propos/linux/centos-live/$basearch/live
%packages
bash
kernel
syslinux
passwd
policycoreutils
chkconfig
authconfig
rootfiles
comps-extras
xkeyboard-config

3. 开始制作Livecd

     LANG=C livecd-creator --config=centos-livecd-minimal.ks --cache=/home/livecd/cache --tmpdir=/home/livecd/tmp --fslabel=CentOS-LiveCD

这一步完成后会在当前目录生成一个CentOS-LiveCD.iso文件,centos-livecd-minimal.ks是编写好的kickstart脚本,至此Livecd已经生成,接下来开始修改。

4. 定制Livecd

4.1 安装工具
     yum install squashfs-tools
或者使用squashfs4版本,通过源码安装

4.2 挂载ISO镜像

   mkdir -p /home/livecd
   mount -o loop -t iso9660 CentOS-LiveCD.iso /home/livecd

4.3 copy镜像

   mkdir -p /home/img
   cp -R /home/livecd/* /home/img

4.4 解压squashfs.img
进入/home/img/LiveOS 目录,会看见squashfs.img文件

unsquashfs squashfs.img

会产生squashfs-root目录,进入其子目录LiveOS中,会有一个ext3fs.img文件,挂载该文件

mount -o loop,rw ext3fs.img /tmp/iso

在做完各种修改后,卸载该文件

umount /tmp/iso

重新回到/home/img/LiveOS目录,生成新的squashfs.img文件 
修改rc.local文件,加入一系列划分分区、格式化、挂载、解压命令后,

开始打包img文件

mksquashfs squashfs-root squashfs.img

删除squashfs-root目录

回到上级目录,打包新的ISO

genisoimage -o /iso/LiveCD.iso -b isolinux/isolinux.bin -c isolinux/boot.cat -no-emul-boot -boot-load-size 4 -boot-info-table -R -J -v -V "LiveCD" -T ./
或
mkisofs -R -b isolinux/isolinux.bin -c isolinux/boot.cat -o /tmp/LiveCD.iso -V "LiveCD" \ -no-emul-boot -boot-load-size 4 -boot-info-table .

这样经过修改的镜像文件就会生成,刻入CD中,就可以自动装机了。 
如果要使用PXE

livecd-iso-to-pxeboot LiveCD.iso

#生成vmlinuz和initrd0.img文件
将vmlinuz和initrd0.img文件拷贝到PXE的tftpboot目录

时间: 2024-10-13 16:03:48

定制化LiveCD的相关文章

Ubuntu定制化系统ISO制作

一.安装工具 apt-get install squashfs-toolsapt-get install mkisofs二.挂载并解压系统ISO文件 在opt目录下进行操作cd /opt/mkdir mnt livecd tool 上传要定制化的系统ISO到 /opt/tool/ 挂载ISO镜像到 /opt/mnt/下mount /opt/tool/ubuntu-16.04.2-server-amd64.iso /opt/mnt/ 复制所有的镜像文件到/opt/livecd/下cp -rp /o

使用beanstalkd实现定制化持续集成过程中pipeline - 持续集成系列

持续集成是一种项目管理和流程模型,依赖于团队中各个角色的配合.各个角色的意识和配合不是一朝一夕能练就的,我们的工作只是提供一种方案和能力,这就是持续集成能力的服务化.而在做持续集成能力服务化的过程中,最核心的一点就是,如何实现一个可定制化的任务流,即所谓的pipeline. 在传统的持续集成工具实现了pipeline功能,以供串联上下游job,并把多个job联系成一次完整的构建,例如jenkins的pipeline插件. 但是各种持续集成工具,或多或少都有自己的短板,总结起来如下: 1.配置并不

定制化Azure站点Java运行环境(1)

Azure website提供了为现代化的web应用程序快速部署的PAAS平台,可以让用户几分钟之内快速的将自己的应用部署到云端,并且提供了自动扩展(auto-scaling),SSL,多种语言(Java,Python,PHP, Node.JS, .Net) 等的支持,并且可以和其他Azure服务无缝整合等特性,赢得了很多用户的青睐. 作为PAAS平台,Azure website的app运行环境,OS等底层设施都由微软进行管理,用户只需要关心自己的App和Data即可,但在一些情况下,用户希望能

大数据平台一键安装OS【定制化OS镜像制作】

 定制化 大数据平台一键安装OS 大数据平台一键安装OS系列 大数据平台一键安装OS[搭建脚本篇] 定制化OS镜像制作 1.操作环境 操作环境:VMware Workstarion 9 and vSphere client 系统:CentOS -6.8-x86_64 工具:gconf-editor anaconda repodata createrepo mkisofs rsync 2.主要思路 定制化是通过kickstart脚本来实现的,linux系统安装完毕后在root目录下会生成anaco

定制化Azure站点Java运行环境(3)

定制化Azure Website提供的默认的Tomcat和JDK环境 在我们之前的测试中,如果你访问你的WEB站点URL时不加任何上下文,实际上你看到的web界面是系统自带的测试页面index.jsp,位于/site/wwwroot/webapps/ROOT目录下,是Tomcat默认的根目录. 由于要检测JVM的usage信息以便确定,定制化修改的Java参数是否生效,所以我们需要写一些测试代码,打印出当前JVM的参数信息;首先使用FileZilla连接到你的网站,进入到/site/wwwroo

定制化Azure站点Java运行环境(4)

定制化使用您自己的Tomcat版本和JDK环境 在上面章节中,介绍了如何通过web.config,定制默认的Azure website的Java运行环境,默认情况下,Azure站点的Tomcat是7.0.50,Java版本是1.7.0_51,但用户自己测试开发或者生产环境的Tomcat和Java版本有可能是更高版本的,那么在Azure Website上是否可以深度定制化,使用用户自己的Tomcat和Java呢? 在本节中,我会介绍下在Azure website的PAAS服务中,你如何深度定制使用

定制化Azure站点Java运行环境(5)

Java 8下PermGen及参数设置 ? 在上一章节中,我们定制化使用了Java 8环境,使用我们的测试页面打印出了JVM基本参数,但如果我们自己观察,会发现在MXBeans中,没有出现PermGen的使用数据,初始大小等信息,即使我们已经设置了大小: ? 在Java 7及以前版本中,PermGen主要存放加载的类的信息,如果设置过小,类加载失败,可能会出现OutOfMemory的经典错误,在Azure website里面的Java开发中,碰到的客户定制化设置的问题也会涉及到PermGen的大

ASP.NET Core应用的错误处理[3]:ExceptionHandlerMiddleware中间件如何呈现“定制化错误页面”

DeveloperExceptionPageMiddleware中间件利用呈现出来的错误页面实现抛出异常和当前请求的详细信息以辅助开发人员更好地进行纠错诊断工作,而ExceptionHandlerMiddleware中间件则是面向最终用户的,我们可以利用它来显示一个友好的定制化的错误页面.按照惯例,我们还是先来看看ExceptionHandlerMiddleware的类型定义. [本文已经同步到<ASP.NET Core框架揭秘>之中] 1: public class ExceptionHan

NetScaler登录界面的定制化

1:在NetScaler做XA/XD的ICA代理的时候,用户访问NetScaler的AG地址的时候,default的界面是黑色的,而且上面有NetScaler的logo,基本上用户反馈都是需要定制化自己的界面和登录风格. 2:在NetScaler11版本之前,修改AG话界面的时候,需要通过远程工具Xshell等去替换CSS里面的图片,这个工作量还是蛮大的,同样需要UI设计好图片使用.路径在/netscler/ns_gui/vpn/media 和/var/netscaler/logon/theme