KickStart+PXE+HTTPd+DHCP+TFTP自动安装Ubuntu 12.04

ubuntu下的无人职守安装

分类: 【22-无人职守安装】 2012-07-03 10:10 166人阅读 评论(0) 收藏 举报

ubuntumenuvim

 

[1] 配置tftp服务后

            cp /ubuntu/install/netboot/*   /tftpboot/ 

[2] 编辑配置文件

            vim /tftpboot/Ubuntu-installer/amd64/boot-screens/txt.cfg            

default install  

label install  

        menu label ^Install  

        menu default  

        kernel ubuntu-installer/amd64/linux  

        append ks=ftp://192.168.120.10/ks.cfg vga=788 initrd=ubuntu-installer/amd64/initrd.gz -- quiet   

label cli  

        menu label ^Command-line install  

        kernel ubuntu-installer/amd64/linux  

        append ks=ftp://192.168.120.10/ks.cfg tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=ubuntu-installer/amd64/initrd.gz -- quiet   

 

3  编辑配置文件

sudo   vim   /tftpboot/pxelinux.cfg/default

include ubuntu-installer/amd64/boot-screens/menu.cfg  

default ubuntu-installer/amd64/boot-screens/vesamenu.c32  

prompt 0  

timeout 1  

 

 

 

 

 

 

前言*

KickStart很多运维人员都非常熟悉,我们大多数都用它来实现自动安装系统,常见的用自动安装RedHat Linux,最近由于业务需求,需要安装Ubuntu,跟Redhat Linux还是有一些区别,记录安装步骤,供大家相互交流和学习!

一、环境及软件

系统:CentOS 6.0、Ubuntu 12.04

软件:KickStart、PXE、HTTPd、TFTPp、DHCP

二、正式安装

本环境是基于在CentOS系统上搭建KickStart Ubuntu自动安装服务端。

在服务器端执行:yum install dhcp* tftp* httpd* -y

安装完后然后配置

1、配置ftfp:

  1. # default: off  
  2.  
  3. # description: The tftp server serves files using the trivial file transfer \  
  4.  
  5. #       protocol.  The tftp protocol is often used to boot diskless \  
  6.  
  7. #       workstations, download configuration files to network-aware printers, \  
  8.  
  9. #       and to start the installation process for some operating systems.  
  10.  
  11. service tftp  
  12.  
  13. {  
  14.  
  15.         disable = no  
  16.  
  17.         socket_type             = dgram  
  18.  
  19.         protocol                = udp  
  20.  
  21.         wait                    = yes  
  22.  
  23.         user                    = root  
  24.  
  25.         server                  = /usr/sbin/in.tftpd  
  26.  
  27.         server_args             = -s /var/lib/tftpboot  
  28.  
  29.         per_source              = 11  
  30.  
  31.         cps                     = 100 2  
  32.  
  33.         flags                   = IPv4  
  34.  

把disable=yes改成disable=no即可!

安装完tftp后,默认在/根目录会生成/tftpboot文件夹,如果没有请链接ln –s /var/lib/tftboot  /即可。

挂载ubuntu12.04.iso文件

Mount /dev/cdrom /mnt &&cp /mnt/install/netboot/*  /tftboot/下

然后修改vi  /tftboot/ubuntu-installer/amd64/boot-screens/txt.cfg如下:

KickStart+PXE+HTTPd+DHCP+TFTP自动安装Ubuntu 12.04

2、配置httpd、kickstart:

正如第二步截图里面有一个http://192.9.117.143/ubuntu/ks.cfg

默认安装完后apache的发布目录为/var/www/html

在/var/www/html下建立安装源:

mkdir  -p /var/www/html/ubuntu

然后将ubuntu光盘所有文件拷贝到/var/www/html/ubuntu下

cp -a  /mnt/* /var/www/html/ubuntu

然后在/var/www/html/ubuntu目录下新建ks.cfg文件,权限设置为chmod 777 ks.cfg

ks.cfg内容如下:

 

install  

text  

lang en_US  

langsupport en_US  

keyboard us  

mouse  

timezone --utc Asia/Chongqing  

rootpw --disabled  

user tdt --fullname="tdt" --password wuguangke  

reboot  

url --url http://192.9.117.143/ubuntu  

bootloader --location=mbr 

zerombr yes  

clearpart --all --initlabel  

part /boot --fstype ext4 --size 200  

part swap --size 10240  

part / --fstype ext4 --size 1 --grow  

auth --useshadow --enablemd5  

network --bootproto=dhcp --device=eth0 

firewall --disabled  

skipx  

%packages  

penssh-server  

openssh-client  

nfs-kernel-server  

vim 

#===================================

# ##与分区有关的报错:如何处理?

the partition table format in use on your disk normally requires you to create a seqarate partition for boot loader code    this partition should be marked for use as a "Reserved BIOS boot area "  and should be at least 1MB in size . Note that this is not the same as a partition mounted on /boot

 

 

 

3、配置dhcp:

下面贴出我真实环境的DHCP配置内容:

  1. ddns-update-style interim;  
  2. ignore client-updates;  
  3. next-server 192.9.117.143;  
  4. filename "pxelinux.0";  
  5. allow booting;  
  6. allow bootp;  
  7. subnet 192.9.117.0 netmask 255.255.255.0 {  
  8. # — default gateway  
  9.  
  10. option routers 192.9.117.254;  
  11.  
  12. option subnet-mask 255.255.255.0;  
  13.  
  14. # option nis-domain “domain.org”;  
  15.  
  16. option domain-name "tdt.com";  
  17.  
  18. option domain-name-servers 202.106.0.20;  
  19.  
  20. option time-offset -18000; # Eastern Standard Time  
  21.  
  22. range 192.9.117.140 192.9.117.160;  
  23. }

实际我的配置 ,涉及子网:

 

# cat /etc/dhcp/dhcpd.conf 

#

# DHCP Server Configuration file.

#   see /usr/share/doc/dhcp*/dhcpd.conf.sample

#   see 'man 5 dhcpd.conf'

#

ddns-update-style interim ;

ignore client-updates;

default-lease-time 3600;

max-lease-time 7200;

allow booting;

allow bootp;

shared-network vlan192{

         subnet 192.168.10.0 netmask 255.255.255.0 {

                           option routers 192.168.10.1;

                           option subnet-mask 255.255.255.0;

                           option broadcast-address 192.168.10.255;

                           option domain-name-servers 192.168.100.254,8.8.8.8;

                           range dynamic-bootp 192.168.10.201 192.168.10.252;

                           next-server 192.168.10.248;

                           filename "pxelinux.0";

                           allow bootp;

                           allow booting;

        }

}

 

 

 

 

三、启动服务

以上所有配置完毕,启动所有相关服务

/etc/init.d/dhcpd  start ;/etc/init.d/xinetd start ;/etc/init.d/httpd start 即可!

四、测试kickstart是否成功

找一台客户机,BIOS修改成网卡启动即可!

安装图集:

KickStart+PXE+HTTPd+DHCP+TFTP自动安装Ubuntu 12.04

#在这里会提示找不到内核, 没办法, 只有修改pxelinux.cfg/default文件了

 

#default net

label install

        menu label ^Install

        kernel linux

        append vga=788 initrd=initrd.gz -- quiet

label net

        menu label ^Net ks

#       menu default

        kernel linux

        append ks=http://192.168.10.248/abc.cfg vga=788 initrd=initrd.gz -- quiet

label cli

        menu label ^Command-line install

        kernel linux

        append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=788 initrd=initrd.gz -- quiet

 

 

 

 

这一步需要手动回车,之后就不需要回车了:

KickStart+PXE+HTTPd+DHCP+TFTP自动安装Ubuntu 12.04

格式化磁盘

KickStart+PXE+HTTPd+DHCP+TFTP自动安装Ubuntu 12.04

安装软件包

KickStart+PXE+HTTPd+DHCP+TFTP自动安装Ubuntu 12.04