linux系统

kickstart+vnc远程图形化无盘安装linux[原创]

蚊子家中有台更换下来的PC机,而且最近在工作学习使用了一下linux下的xen虚拟化,觉得挺有意思,于是就决定把这台闲置的pc机利用起来,准备装个xen试验环境也不错。先说说我这台机器的配置吧。

AMD 巴顿2500+,2G内存,160G硬盘,光驱坏,可以优盘启动,总体来说这台机器做试验环境还是足够了。

下面进入正题吧:

1,实现目的:无盘安装,无人干预
2,实现手段:http等网络安装方式,u盘启动机器并使用kickstart完成无人干预
3,准备工作:a,可引导机器的U盘,100M或更大
                          b,kickstart文件,
                          c,http方式的centos5.3安装文件

下面是安装步骤:

1,包含grub启动文件的u盘的制作

制作分为两种方式:使用光盘进入rescue模式制作,在已有的linux系统下制作。蚊子的pc没光驱,所以我主要说第二种。

蚊子U盘2G,linux环境是虚拟机。

将u盘插上,在虚拟机上认出的是/dev/sdb,为了不影响整个u盘在windows下的正常使用,现分区两个/dev/sdb1和/dev/sdb2,sdb1分1.8G留给windows用,sdb2分100M左右,执行如下命令

mount /dev/sdb2 /mnt
mount –r /dev/cdrom /media/cdrom
mkdir –p /mnt/boot/grub
cp /media/cdrom/isolinux/{vmlinuz,initrd.img} /mnt/boot     #两个文件是安装光盘上的引导文件,用于引导安装程序
cp /boot/grub/* /mnt/boot/grub

grub
grub> root (hd1,1)     #因为我的u盘现在属于第二块硬盘并且是第二个分区,所以这里是hd1,1
grub>setup (hd1)

执行完上述命令后,可引导的u盘就做好了,下面修改一下grub.conf文件,内容如下

default=0
timeout=5
hiddenmenu
title CentOS (setup process)
        root (hd0,1)
        kernel /boot/vmlinuz ksdevice=eth1 ks=http://192.168.11.10/ks.cfg ip=192.168.11.11 netmask=255.255.255 vnc vncpassword=123456
        initrd /boot/initrd.img

倒数第二行后面是传递的参数,用于无人干预安装

ksdevice=eth1                                        #设置kickstart使用的网络接口
ks=http://192.168.11.10/ks.cfg #配置从哪里获得kickstart的配置文件
ip=192.168.11.11                                  #配置ip地址
netmask=255.255.255                         #配置子网掩码
vnc vncpassword=123456                   #启动vnc服务并配置vnc的密码

到此引导u盘就做好了

2,http下的centos安装文件

这步简单提及一下就行,其实就是找台机器起个apache服务,然后把centos安装文件放置到apache的web根目录下,这步没有什么难点

3,kickstart文件的制作

这步也是没有什么难点的,网上相应的教程很多,蚊子我是使用system-config-kickstart一步步生成出来的,给出蚊子我的ks.cfg的文件内容,分区那部分我没有填,那部分我是手动做的。

#platform=x86, AMD64, or Intel EM64T
# System authorization information
auth  –useshadow  –enablemd5
# System bootloader configuration
bootloader –location=mbr
# Clear the Master Boot Record
zerombr
# Partition clearing information
clearpart –all –initlabel
# Use graphical install
graphical
# Firewall configuration
firewall –disabled
# Run the Setup Agent on first boot
firstboot –disable
# System keyboard
keyboard us
# System language
lang en_US
# Installation logging level
logging –level=info
# Use network installation
url –url=http://192.168.11.10/CentOS
# Reboot after installation
reboot
#Root password
rootpw –iscrypted $1$9tL7tS6X$oX/M2PwyV1mKgGQLuckeD1

# SELinux configuration
selinux –disabled
# System timezone
timezone  Asia/Shanghai
# Install OS instead of upgrade
install
# X Window System configuration information
xconfig  –defaultdesktop=GNOME –depth=8 –resolution=640×480

%packages
@gnome-desktop
@base-x
@development-tools
@development-libs
@legacy-software-development
@admin-tools
@system-tools
@graphical-internet
@legacy-software-support
@virtualization

都准备好了,就可以开始正式安装了

上面就是一张vnc连接下的真实截图了。整个步骤都不是很难,其实关键点是在grub.conf配置文件中的内容部分,因为蚊子光驱坏了才使用u盘引导了,或者因为没有系统才需要u盘引导,如果之前就已经有了linux系统,需要从新安装或者升级安装的话,只需要把安装光盘中相应的vmlinuz和 initrd.img文件拷贝到硬盘/boot分区下,然后修改grub.conf文件就可以了。

Related Post

3 Comments

  1. 你好! 我想请教一个问题,grub引导器配置文件中的kernel 参数,有没有官方文档?

    kernel /boot/vmlinuz ksdevice=eth1 ks=http://192.168.11.10/ks.cfg ip=192.168.11.11 netmask=255.255.255 vnc vncpassword=123456

    ip,vnc ks 这些kernel参数确实很有用,我想知道这些参数有没有文档,在哪里可查到?谢谢!

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.