基于CentOS5.3平台PXE网络分发安装Linux步骤记录

简介:
0. hostname:  PXES.demopxe.com
ip:192.168.195.1/24 gw:192.168.195.254 dns:192.168.195.2
1.install setuptool
[root@localhost ~]# mkdir /tmp/cdrom
[root@localhost ~]# mount /dev/cdrom /tmp/cdrom/
[root@localhost ~]# cd /tmp/cdrom/CentOS/
[root@localhost CentOS]# rpm -ivh setuptool-1.19.2-1.el5.centos.i386.rpm

2.install && configuration dhcpserver
[root@PXES CentOS]# cd /tmp/cdrom/CentOS/
[root@PXES CentOS]# rpm -ivh dhcp-3.0.5-18.el5.i386.rpm
[root@PXES CentOS]# vi /etc/dhcpd.conf  ##add content   dhcpd.conf bk
ddns-update-style interim;
ignore client-updates;
allow booting;
allow bootp;
subnet 192.168.195.0 netmask 255.255.255.0 {
        range  192.168.195.100 192.168.195.200;
        option routers                  192.168.195.254;
        option subnet-mask              255.255.255.0;
        default-lease-time 21600;
        max-lease-time 43200;
        next-server 192.168.195.1; #TFTP Server IP
        filename "pxelinux.0";   #pxelinux boot file
}

3. install tftp
[root@PXES CentOS]# rpm -ivh xinetd-2.3.14-10.el5.i386.rpm tftp-server-0.42-3.1.el5.centos.i386.rpm
[root@PXES CentOS]# vi /etc/xinetd.d/tftp
        disable                 = no
[root@PXES cdrom]# /etc/init.d/xinetd start
Starting xinetd:                                           [  OK  ]
4.install syslinux
[root@PXES CentOS]# rpm -ivh tcsh-6.14-14.el5.i386.rpm mtools-3.9.10-2.fc6.i386.rpm syslinux-3.11-4.i386.rpm
[root@PXES CentOS]# cd /usr/lib/syslinux/
[root@PXES syslinux]# cp pxelinux.0 /tftpboot/
5.copy boot kerneal file
[root@PXES syslinux]# cd /tmp/cdrom/isolinux/
[root@PXES isolinux]# cp vmlinuz initrd.img /tftpboot/
[root@PXES isolinux]# mkdir /tftpboot/pxelinux.cfg
[root@PXES isolinux]# cp /tmp/cdrom/isolinux/isolinux.cfg /tftpboot/pxelinux.cfg/default
 
6.modify boot file
[root@PXES isolinux]# chmod 755 /tftpboot/pxelinux.cfg/default
[root@PXES isolinux]# vi /tftpboot/pxelinux.cfg/default   ##并修改如下
default linux
prompt 0
timeout 600
display boot.msg
F1 boot.msg
F2 options.msg
F3 general.msg
F4 param.msg
F5 rescue.msg
label linux
  kernel vmlinuz
  append ks=nfs:192.168.195.1:/mnt/install/ks.cfg initrd=initrd.img
label text
  kernel vmlinuz
  append initrd=initrd.img text
label ks
  kernel vmlinuz
  append ks initrd=initrd.img
label local
  localboot 1
label memtest86
  kernel memtest
  append -

6.install nfs
[root@PXES isolinux]# mkdir /mnt/install
[root@PXES isolinux]# cd /tmp/cdrom/
[root@PXES CentOS]# cp -Rf * /mnt/install/
7.send nfs share dir
[root@PXES CentOS]# vi /etc/exports
/mnt/install/ *(ro,sync)
[root@PXES CentOS]# rpm -ivh portmap-4.0-65.2.2.1.i386.rpm
[root@PXES CentOS]# rpm -ivh libgssapi-0.10-2.i386.rpm libevent-1.1a-3.2.1.i386.rpm nfs-utils-lib-1.0.8-7.2.z2.i386.rpm nfs-utils-1.0.9-40.el5.i386.rpm
[root@PXES CentOS]# service portmap start
Starting portmap:                                          [  OK  ]
[root@PXES CentOS]# service nfs start
Starting NFS services:                                     [  OK  ]
Starting NFS daemon:                                       [  OK  ]
Starting NFS mountd:                                       [  OK  ]
Starting RPC idmapd:                                       [  OK  ]
[root@PXES CentOS]# showmount -e localhost
Export list for localhost:
/mnt/install *
 
8.configure kickstart
[root@PXES install]# cp /root/anaconda-ks.cfg /mnt/install/ks.cfg   ##如果没有KS范本,可以从本地COPY
[root@PXES install]# chmod a+r /mnt/install/ks.cfg   ##如果从光盘COPY的记得加权限
[root@PXES install]# vi /mnt/install/ks.cfg  ##本例是直接创建KS.cfg内容如下
# Kickstart file automatically generated by Weihu.Yan_2010-07-26
install
nfs --server=192.168.195.1 --dir=/mnt/install
lang en_US.UTF-8
keyboard us
network --device eth0 --bootproto dhcp
rootpw --iscrypted $1$EKusTGl7$qBEycMbZx.KR54NXKk2bN0
firewall --enabled --port=22:tcp
authconfig --enableshadow --enablemd5
selinux --disabled
timezone --utc Asia/Chongqing
bootloader --location=mbr --driveorder=sda --md5pass=$1$XWZYl8jJ$cooP5EMD/KZaHNRKQN0dz0
# The following is the partition information you requested
# Note that any partitions you deleted are not expressed
# here so unless you clear all partitions first, this is
# not guaranteed to work
clearpart --linux --drives=sda --initlabel
part /boot --fstype ext3 --size=100
part /var --fstype ext3 --size=10240
part /home --fstype ext3 --size=10240
part / --fstype ext3 --size=10240
part /tmp --fstype ext3 --size=1024
part swap --size=1024
part /data --fstype ext3 --size=1 --grow
%packages
@development-libs
@core
@legacy-software-development
@legacy-software-support
@admin-tools
@development-tools
imake
9.close iptables and start dhcpd
[root@PXES install]# service iptables stop
Flushing firewall rules:                                   [  OK  ]
Setting chains to policy ACCEPT: filter                    [  OK  ]
Unloading iptables modules:                                [  OK  ]
[root@PXES install]# service dhcpd start
Starting dhcpd:                                            [  OK  ]

10.other config
[root@PXES install]# chkconfig nfs on
[root@PXES install]# chkconfig portmap on
[root@PXES install]# chkconfig dhcpd on
[root@PXES install]# chkconfig xinetd on
[root@PXES install]# chkconfig iptables off
11.troubleshooting
Q:引导到boot位置时,停止,不会自动往下执行。
A:请确保default文件prompt 有设为0
Q:发现没法mount ks.cfg文件?
A:确保是手工执建一个ks.cfg文件,并非直接COPY过来的。

本文转自 godoha 51CTO博客,原文链接:http://blog.51cto.com/godoha/365934 ,如需转载请自行联系原作者

相关文章
|
26天前
|
监控 Linux PHP
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
75 20
|
4月前
|
监控 Oracle 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第8天】在 Linux 平台设置 Oracle 开机自启动有多种方法,本文以 CentOS 为例,介绍了两种常见方法:使用 `rc.local` 文件(较简单但不推荐用于生产环境)和使用 `systemd` 服务(推荐)。具体步骤包括编写启动脚本、赋予执行权限、配置 `rc.local` 或创建 `systemd` 服务单元文件,并设置开机自启动。通过 `systemd` 方式可以更好地与系统启动过程集成,更规范和可靠。
322 2
|
4月前
|
Oracle Ubuntu 关系型数据库
Linux平台Oracle开机自启动设置
【11月更文挑战第7天】本文介绍了 Linux 系统中服务管理机制,并详细说明了如何在使用 systemd 和 System V 的系统上设置 Oracle 数据库的开机自启动。包括创建服务单元文件、编辑启动脚本、设置开机自启动和启动服务的具体步骤。最后建议重启系统验证设置是否成功。
102 1
|
4月前
|
存储 监控 Linux
在 CentOS 7 中如何对未分配的大容量硬盘进行分区和挂载。通过具体案例,详细说明了使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的步骤
本文介绍了在 CentOS 7 中如何对未分配的大容量硬盘进行分区和挂载。通过具体案例,详细说明了使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的步骤。此外,还分享了一些实践经验,帮助读者更好地管理和优化磁盘空间。
335 8
|
4月前
|
存储 监控 Linux
在 CentOS 7 中进行磁盘分区和挂载的具体操作步骤,如何使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的方法。
本文介绍了在 CentOS 7 中进行磁盘分区和挂载的具体操作步骤。通过一个实际案例,详细说明了如何使用 `fdisk` 创建分区、格式化分区、创建挂载点以及临时和永久挂载分区的方法。此外,还分享了一些实践经验,帮助读者更好地管理和优化服务器磁盘空间。
397 4
|
4月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。通过具体案例,读者可以了解如何准备环境、下载源码、编译安装、配置服务及登录 MySQL。编译源码安装虽然复杂,但提供了更高的定制性和灵活性,适用于需要高度定制的场景。
238 3
|
4月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。
本文介绍了在 CentOS 7 中通过编译源码安装 MySQL 数据库的详细步骤,并与使用 RPM 包安装进行了对比。内容涵盖准备工作、下载源码、编译安装、配置服务、登录设置及实践心得,帮助读者根据需求选择最适合的安装方法。
279 2
|
4月前
|
关系型数据库 MySQL Linux
在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。
本文介绍了在 CentOS 7 中通过编译源码方式安装 MySQL 数据库的详细步骤,包括准备工作、下载源码、编译安装、配置 MySQL 服务、登录设置等。同时,文章还对比了编译源码安装与使用 RPM 包安装的优缺点,帮助读者根据需求选择最合适的方法。通过具体案例,展示了编译源码安装的灵活性和定制性。
382 2
|
5月前
|
NoSQL Ubuntu Linux
Linux平台安装MongoDB
10月更文挑战第11天
138 5
|
5月前
|
Linux API 开发工具
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库
ijkplayer是由B站研发的移动端播放器,基于FFmpeg 3.4,支持Android和iOS。其源码托管于GitHub,截至2024年9月15日,获得了3.24万星标和0.81万分支,尽管已停止更新6年。本文档介绍了如何在Linux环境下编译ijkplayer的so库,以便在较新的开发环境中使用。首先需安装编译工具并调整/tmp分区大小,接着下载并安装Android SDK和NDK,最后下载ijkplayer源码并编译。详细步骤包括环境准备、工具安装及库编译等。更多FFmpeg开发知识可参考相关书籍。
160 0
FFmpeg开发笔记(五十九)Linux编译ijkplayer的Android平台so库

热门文章

最新文章