Kickstart + PXE install Ubuntu10.04 64bit system
名词解释
PXE
PXE(preboot execute environment)是由Intel公司开发的最新技术,工作于Client/Server的网络模式,支持工作站通过网络从远端服务器下载映像,并由此支持来自网络的操作系统的启动过程,其启动过程中,终端要求服务器分配IP地址,再用TFTP(trivial file transfer protocol)或MTFTP(multicast trivial file transfer protocol)协议下载一个启动软件包到本机内存中并执行,由这个启动软件包完成终端基本软件设置,从而引导预先安装在服务器中的终端操作系统。PXE可以引导多种操作系统,如:Windows 95/98/2000/xp/2003/vista/2008,linux等。
KICKSTART
KickStart是一种无人职守安装方式。KickStart的工作原理是通过记录典型的安装过程中所需人工干预填写的各种参数,并生成一个名为ks.cfg的文件;在其后的安装过程中(不只局限于生成KickStart安装文件的机器)当出现要求填写参数的情况时,安装程序会首先去查找KickStart生成的文件,当找到合适的参数时,就采用找到的参数,当没有找到合适的参数时,才需要安装者手工干预。
一. Setup kickstart’s ks.cfg file
1. Install kickstart package
apt-get install system-config-kickstart
2. 生成ks.cfg 文件
应用程序\系统工具”中打开kickstart: 如图
设置需要选项以后,保存配置文件为ks.cfg
注意: package selection 选项不能选择,具体原因不详,这时可以直接修改ks.cfg文件添加要安装的软件包,在最后行添加%packages
我的ks.cfg 文件:
#Generated by Kickstart Configurator
#platform=AMD64 or Intel EM64T
#System language
lang en_US
#Language modules to install
langsupport zh_CN --default=en_US
#System keyboard
keyboard us
#System mouse
mouse
#System timezone
timezone Asia/Shanghai
#Root password
rootpw --disabled
#Initial user
user ubuntu --fullname "" --iscrypted --password $1$jadDgXyy$edwQUZyZJ1BxvWLyiKSnQ0
#Reboot after installation
reboot
#Use text mode install
text
#Install OS instead of upgrade
install
#Use Web installation
url --url http://10.193.78.26/ubuntu
#System bootloader configuration
bootloader --location=mbr
#Clear the Master Boot Record
zerombr yes
#Partition clearing information
clearpart --all --initlabel
#System authorization infomation
auth --useshadow --enablemd5
#Firewall configuration
firewall --disabled
#Do not configure the X Window System
skipx
%packages
@ubuntu-desktop
注意: 不添加@ubuntu-desktop这行,安装成功能没有图形界面
二. Setup tftp service
1. Install tftp server
apt-get install tftpd-hpa tftp-hpa xinetd
2. 修改/etc/default/tftpd-hpa配置文件,把RUN_DAEMON=”no”改为”yes”
RUN_DAEMON="no"
OPTIONS="-l -s /var/lib/tftpboot"
TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
3. 修改/etc/xinetd.d/下建立一个tftp配置文档,把disable=”yes’ 改为”no”
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -u nobody -s /var/lib/tftpboot
disable = no
per_source = 11
cps = 100 2
flags = IPv4
}
4. 将iso文件中的/install/netboot/下的所有文件与目录复制到/var/lib/tftpboot/下(注意它的权限 755)
netboot.tar pxelinux.0 pxelinux.cfg ubuntu-installer version.info
三. Setup dhcp service
1. Install DHCP package
apt-get install dhcp3-server
2. 添加如下文件到/etc/dhcp/dpcpd.conf 文件
subnet 10.193.78.0 netmask 255.255.255.0 { (78网段)
range 10.193.78.10 10.193.78.20; (地址范围)
option routers 10.193.78.254; (网关)
default-lease-time 600;
max-lease-time 7200;
next-server 10.193.78.26; (Kickstart server ip)
filename "pxelinux.0"; (Ubuntu boot file)
}
3. 如果是用windows server 作为DHCP则按照以下配置:
a. 066 Boot Server Host Name
Note: Tftp Server ip according to the actual situation
b. 067 Bootfile Name
四. Setup Apache service
1. Install apache package
apt-get install apache2
2. Create a new director under /var/www
mkdir –p /var/www/ubuntu
3. 复制ks.cfg 文件和光盘中的所以内容到/var/www/ubuntu/目录下
注:a保证其它机器能通过http://10.193.78.26/ubuntu/能看到/var/www/ubuntu/目录中的内容
b. 保证其它机器能通过http://10.193.78.26/ubuntu/ks.cfg能看到ks.cfg中的内容
4. 下载ubuntu netboot文件
http://archive.ubuntu.com/ubuntu/dists/lucid/main/installer-amd64/20081029ubuntu102/images/netboot/
注:安装不同的版本其netboot文件也不同,请选择正确的下载正本,此处是10.04 64bit 的netboot 文件
5. 修改/var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/text.cfg文件,如下图:
root@njred146:/# more /var/lib/tftpboot/ubuntu-installer/amd64/boot-screens/text.cfg
default install
label install
menu label ^Install
menu default
kernel ubuntu-installer/amd64/linux
append ks=http://10.193.78.26/ubuntu/ks.cfg vga=normal initrd=ubuntu-installer/amd64/initrd.gz -- quiet
label cli
menu label ^Command-line install
kernel ubuntu-installer/amd64/linux
append tasks=standard pkgsel/language-pack-patterns= pkgsel/install-language-support=false vga=normal initrd=ubuntu-installer/amd64/initrd.gz – quiet
6. Start services
/etc/init.d/xinetd start
/etc/init.d/tftpd-hpa start
/etc/init.d/dhcp3-server start
/etc/init.d/apache2 start
五.Start install operation
Put F12 Key , Then select “Onboard Network Controller” begin auto install ubuntu system!