一种实现linux系统自动安装的安装方法及系统的制作方法_2

文档序号:9396734阅读:来源:国知局
3、查找模块14及安装模块15。
[0037]制作模块11用于根据Iinux原型系统制作工具版系统,其中,所述工具版系统供设置于云服务端,且所述云服务端还设置有server版系统的安装包。下载模块12用于本地设备从所述云服务端中下载所述工具版系统中的内核文件与临时根文件系统镜像文件,并据以在本地设备的内存中运行所述临时根文件系统。读取模块13用于本地设备运行所述临时根文件系统中预存的第一定制脚本来运行第二定制脚本以在所述云服务端获取共享的正式根文件系统镜像文件;读取所述正式根文件系统镜像文件,以在其内存中运行所述正式根文件系统。查找模块14用于本地设备在所述正式根文件系统中查找配置文件,所述配置文件包括安装所述server版系统的安装包的参数信息和路径信息。安装模块15用于本地设备读取所述配置文件,据以从所述云服务端下载所述server版系统的安装包,来完成对本地设备安装server版系统。
[0038]以下将详细说明本发明的实施过程:
[0039]本发明的最终目的是为本地设备安装server版本的系统,server版本系统包括:系统文件(initramfs-server、sys.tar.gz、vmlinuz-1nfoworks、UPDATE_VERS I ON)以及应用文件(app.tar.gz)。其中,initramfs-server是server版系统的临时文件系统,sys.tar.gz是server版系统的真实文件系统,vmlinuz-1nfoworks是内核文件,UPDATE_VERS1N是版本信息和md5值。sever版系统的安装是通过定制的工具版系统实现的。
[0040]1.工具版系统的制作
[0041]I)选择一种Iinux发行版系统作为原型系统进行安装。原型系统安装完成后,可以根据实际需求安装必要的软件包和工具。优选的,利用redhat6.2内核版本3.14.23作为原型系统。
[0042]2)启动原型系统,将原型系统的目录结构同步至一个临时文件夹,可以同时排除原型系统启动时生成的动态文件、临时文件及其他不必要的文件,目的在于缩小制作的工具版系统的大小。
[0043]3)利用压缩工具(squashfs命令)将该临时文件夹压缩作为工具版系统的正式根文件系统镜像文件infoworks.1mg。
[0044]4)解开原型系统的initrd.1mg镜像文件,加入第一定制脚本(init)和第二定制脚本(rootify.sh),重新打包后作为工具版系统的临时根文件系统镜像文件。第一定制脚本用于中断原有的执行程序,调用第二定制脚本。第二定制脚本的功能在后面详细阐述。
[0045]5)将原型系统的内核文件作为工具版系统的内核文件。
[0046]以上,工具版系统制作完成,包括:正式根文件系统镜像文件、临时根文件系统镜像文件和内核文件。制作完成后,将工具版系统置于云服务端。
[0047]server版系统的制作与工具版系统的制作过程类似,基于原型系统生成initramfs-server N sys.tar.gz、vmlinuz-1nfoworks 文件。其中,initramfs-server 的制作过程具体为在原型系统的initrd.1mg镜像文件中加入第三定制脚本和第四定制脚本。第三定制脚本用于中断原有的执行程序,调用第四定制脚本。第四定制脚本用于解压sys.tar.gz的文件到对应目录,初始化应用服务的接口等,即建立server系统的文件系统。
[0048]2.云平台环境搭建
[0049]云平台是整个批量化安装的关键,为了满足批量化、自动化安装,需要配置syslinux、DHCP、TFTP、NFS、FTP及启动对应服务。云平台优选为基于redhat定制的系统(以下简称为Infoworks),首先通过syslinux-6.0.3.tar.gz编译安装,并使用/usr/share/syslinux/pxelinux.0作为生产引导文件,将pxelinux.0拷贝到/tftpboot/目录下,同时在该目录下创建pxelinux.cfg目录,该目录存放网络启动配置文件,命名为default,其中的内容可以根据需求修改。将工具版系统中的内核文件(vmlinuz)、定制的initrd.1mg文件复制到/tftpboot/下,将系统服务防火墙和selinux关闭,以下为default的参考配置:
[0050]default Iinux
[0051]timeout O
[0052]label linux
[0053]menu IabeHoot Infoworks LiveCD
[0054]menu default
[0055]kerne I vml inuz
[0056]append initrd = initrd.1mg root = /dev/looplrd.1uks = Ord.1vm = Ord.md=Ord.dm = Oquietloglevel = Ovga = 794nfs—root = 172.17.4.235:/home/img
[0057]#nfs—root 为 server 的 nfs 共享目录
[0058]Infoworks已经存在DHCP服务,只需将网络服务器中的相关配置文件修改即可,编辑/etc/dhcp/dhcpd.conf文件,其中IP地址的范围可以根据需要批量生产的设备来设置,本实例假设一次进行10台设备的安装,参考如下:
[0059]subnet 172.17.4.235netmask 255.255.255.0 {
[0060]range dynamic-bootp 172.17.4.219172.17.4.230 ; # 分配 ip 地址范围
[0061]opt1n domain-name-servers 172.17.4.1 ;
[0062]opt1n routers 172.17.4.1
[0063]opt1n broadcast-address 255.255.255.255 ;
[0064]default-lease-time 600 ;
[0065]max-lease-time 7200 ;
[0066]f ilename^pxelinux.0〃 ; #通过tftp传送的引导程序,直接放在tftp服务目录下
[0067]next-server 172.17.4.235 ; # 服务器 ip 地址
[0068]}
[0069]执行./etc/init.d/dhcpd restart 生效。
[0070]下载tftp-server-5.2.1.el6.rfx.x86_64.rpm,安装,修改 /etc/xinetd.d/tftp/如下:
[0071]Server—args = -s/tftpboot - c//_s,表示用 /tftpboot 作为 tftp 目录的根目录。
[0072]Disable = no
[0073]修改后执行执行service xinetd restart使配置生效。
[0074]Infoworks 系统已经包含了 nfs,只需要通过命令 service/etc/init.d/nfs startservice/etc/init.d/rpcbind start来开启服务,开启后可通过编辑/etc/exports文件确定共享目录以及相应权限,同时将Infoworks.1mg拷贝到nfs目录,nfs目录设置以下仅供参考:
[0075]/home/img* (ro, sync)
[0076]至此平台?合建完成D
[0077]3.工具版系统启动
[0078]本地设备开机时,B1S将预存在网卡ROM中的PXE client调入内存执行,与云服务端建立通信,并通过dhcp协议获取本地设备的IP地址,将云服务端中的工具版系统的内核文件和临时根文件系统镜像文件通过tftp下载下来,在本地设备的内存中运行临时根文件系统,
[0079]具体为:读取临时根文件系统镜像文件,执行第一定制脚本,调用第二定制脚本。第二定制脚本执行完成如下步骤:通过dhcp获取云服务端的IP地址,以nfs共享文件目录的方式获取云服务端中工具版系统的正式根文件系统镜像文件,读取正式根文件系统中的根目录;查找临时根文件系统目录中的loop设备,通过1setup工具将infoworks.1mg和loop设备进行关联,进而查找正式根文件系统中的配置文件。
[0080]为了实现批量自动地安装系统,则需要提前将所有参数都准备
当前第2页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1