http+tftp+syslinux 6.x 搭建PXE系统(支持EFI模式)

简介:

http+tftp+syslinux 6.x 搭建PXE系统(支持EFI模式):

apt-get install tftpd-hpa

apt-get install apache2

apt-get install make gcc

apt-get install nasm uuid-dev

wget https://www.kernel.org/pub/linux/utils/boot/syslinux/syslinux-6.03.tar.gz

tar zxfv syslinux-6.03.tar.gz

cd syslinux-6.03

make

make install

非EFI:

mkdir /var/lib/tftpboot/bios

cp -rv syslinux-6.03/bios/core/pexlinux.0 /var/lib/tftpboot/bios/

cp -rv syslinux-6.03/bios/com32/elflink/ldlinux/ldlinux.c32 /var/lib/tftpboot/bios/

cp -rv syslinux-6.03/bios/com32/lib/libcom32.c32 /var/lib/tftpboot/bios/

cp -rv syslinux-6.03/bios/com32/libutil/libutil.c32 /var/lib/tftpboot/bios/

cp -rv syslinux-6.03/bios/com32/menu/vesamenu.c32 /var/lib/tftpboot/bios/

cp -rv syslinux-6.03/bios/com32/modules/pxechn.c32 /var/lib/tftpboot/bios/

mkdir /var/lib/tftpboot/bios/pxelinux.cfg

vi /var/lib/tftpboot/bios/pxelinux.cfg/default

DEFAULT vesamenu.c32
TIMEOUT 0
ONTIMEOUT BootLocal
PROMPT 0
MENU TITLE PXE Menu
NOESCAPE 1

LABEL 1. UBT14043-sda
kernel tftp://10.0.0.2/images/UBT14043-x86_64/linux
append initrd=tftp://10.0.0.2/images/UBT14043-x86_64/initrd.gz ksdevice=bootif lang= locale=en_US priority=critical netcfg/choose_interface=em1 netcfg/dhcp_timeout=120 url=tftp://10.0.0.2/preseeds/ubt14043_sda.seed hostname=shandtestG8 domain=spreadtrum.com
ENDTEXT
:wq

mkdir /var/lib/tftpboot/preseeds (该目录下放Ubuntu的seed文件)

DHCP指向文件为bios/pxelinux.0

EFI:

mkdir /var/lib/tftpboot/efi64

cp -rv syslinux-6.03/efi64/efi/syslinux.efi /var/lib/tftpboot/efi64/

cp -rv syslinux-6.03/efi64/com32/elflink/ldlinux/ldlinux.c32 /var/lib/tftpboot/efi64/

cp -rv syslinux-6.03/efi64/com32/lib/libcom32.c32 /var/lib/tftpboot/efi64/

cp -rv syslinux-6.03/efi64/com32/libutil/libutil.c32 /var/lib/tftpboot/efi64/

cp -rv syslinux-6.03/efi64/com32/menu/vesamenu.c32 /var/lib/tftpboot/efi6/

cp -rv syslinux-6.03/efi64/com32/modules/pxechn.c32 /var/lib/tftpboot/efi64/

cp -rv /var/lib/tftpboot/bios/pxelinux.cfg /var/lib/tftpboot/efi64/

DHCP指向文件为efi64/syslinux.efi

mkdir /root/isoubt14043

mount -t iso9660 -o ro,loop ubuntu-14.04.3-server-amd64.iso /root/isoubt14043

mkdir /var/www/html/ks/UBT14043-x86_64 -p

rsync -av --progress /root/isoubt14043/* /var/www/html/ks/UBT14043-x86_64/

Ubuntu preseed文件示例:

d-i live-installer/net-image string http://10.0.0.2/ks/UBT14043-x86_64/install/filesystem.squashfs
d-i debian-installer/locale string en_US.UTF-8
d-i debian-installer/splash boolean false
d-i console-setup/ask_detect boolean false
d-i console-setup/layoutcode string us
d-i console-setup/variantcode string 
d-i netcfg/choose_interface select auto
d-i clock-setup/utc boolean true
d-i partman-efi/non_efi_system boolean true
d-i partman-basicfilesystems/choose_label string gpt
d-i partman-basicfilesystems/default_label string gpt
d-i partman-partitioning/choose_label string gpt
d-i partman-partitioning/default_label string gpt
d-i partman/choose_label string gpt
d-i partman/default_label string gpt
d-i partman-auto/method string regular
d-i partman-auto/disk string /dev/sda
d-i partman-auto/expert_recipe select \
boot-root :: \
100000 80 100000 ext4 \
$bootable{ } \
$primary { } \
method{ format } format{ } \
use_filesystem{ } filesystem{ ext4 } \
mountpoint{ / } \
. \
1 1 1 free \
$bios_boot{ } \
$primary { } \
method{ biosgrub } \
. \
2014 538 1075 free \
$primary { } \
method{ efi } format{ } \
mountpoint{ /boot/efi } \
. \
10000 80 10000 linux-swap \

$primary { } \

   method{ swap } format{ } \
   .              

d-i partman-auto/choose_recipe boot-root
d-i partman/confirm_write_new_label boolean true
d-i partman/choose_partition select Finish partitioning and write changes to disk
d-i partman/confirm boolean true
d-i partman/confirm_nooverwrite boolean true
d-i partman/default_filesystem string ext4
d-i clock-setup/utc boolean true
d-i clock-setup/ntp boolean true
d-i clock-setup/ntp-server string 10.0.0.3
d-i base-installer/kernel/image string linux-server
d-i passwd/root-login boolean false
d-i passwd/make-user boolean true
d-i passwd/user-fullname string super
d-i passwd/username string super
d-i passwd/user-password password xxxxx
d-i passwd/user-password-again password xxxxx
d-i user-setup/allow-password-weak boolean true
d-i user-setup/encrypt-home boolean false
d-i passwd/user-default-groups string sudo
d-i mirror/country string manual
d-i mirror/protocol string http
d-i mirror/http/hostname string 10.0.0.2
d-i mirror/http/directory string /ks/UBT14043-x86_64
d-i apt-setup/services-select multiselect security
d-i apt-setup/security_host string 10.0.0.2
d-i apt-setup/security_path string /ks/UBT14043-x86_64
d-i debian-installer/allow_unauthenticated string false
d-i pkgsel/upgrade select none
d-i pkgsel/language-packs multiselect 
d-i pkgsel/update-policy select none
d-i pkgsel/updatedb boolean true
d-i grub-installer/skip boolean false
d-i lilo-installer/skip boolean false
d-i grub-installer/only_debian boolean true
d-i grub-installer/with_other_os boolean true
d-i finish-install/keep-consoles boolean false
d-i finish-install/reboot_in_progress note 
d-i cdrom-detect/eject boolean true
d-i debian-installer/exit/halt boolean false
d-i debian-installer/exit/poweroff boolean false
d-i pkgsel/include string openssh-server
d-i preseed/late_command string in-target wget -O /root/ipgptefi.sh http://10.0.0.2/ks/UBT14043-x86_64/sh/ipgptefi.sh;in-target sh /root/ipgptefi.sh

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

yangzhimingg


相关文章
|
算法 Linux 网络安全
Centos7 Linux系统下生成https的crt和key证书
Centos7 Linux系统下生成https的crt和key证书
397 0
|
Unix Go
Golang 语言中怎么拦截系统信号和优雅退出 http server?
Golang 语言中怎么拦截系统信号和优雅退出 http server?
88 0
|
26天前
|
网络协议 网络安全 网络虚拟化
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算
本文介绍了十个重要的网络技术术语,包括IP地址、子网掩码、域名系统(DNS)、防火墙、虚拟专用网络(VPN)、路由器、交换机、超文本传输协议(HTTP)、传输控制协议/网际协议(TCP/IP)和云计算。通过这些术语的详细解释,帮助读者更好地理解和应用网络技术,应对数字化时代的挑战和机遇。
69 3
|
10天前
|
安全 API 定位技术
房产SaaS系统如何利用HTTP代理IP
在信息化时代,网络成为生活的重要部分,HTTP代理IP的应用日益广泛。房产SaaS系统使用HTTP代理IP,可提高数据抓取效率、增强市场竞争力、优化用户体验,并确保系统安全稳定,是不可或缺的工具。主要应用于数据抓取、市场分析、策略调整、用户行为分析、多地区房源展示、提高访问速度和API请求管理等方面。
18 0
|
4月前
|
iOS开发 MacOS Python
【Mac 系统】解决已有清华镜像但出现CondaHTTPError: HTTP 000 CONNECTION FAILED for url
在尝试使用清华镜像创建conda环境时遇到下载超时问题,通过删除原有镜像并添加针对Mac OS的清华镜像解决了该问题。
129 3
|
7月前
|
前端开发 安全 JavaScript
HTTP的系统登录页面,如何避免明文传输用户密码?
该文讨论了登录页面中密码安全传输的问题。当使用HTTP时,密码以明文形式传输,存在风险。在示例中,前端使用JavaScript的CryptoJS库和当前时间戳作为动态加密key对密码进行DES加密。后端接收到密文后,利用相同的时间戳解密。为了增强安全性,文章还建议使用RSA等非对称加密算法。
1191 7
|
5月前
|
安全 数据安全/隐私保护
支付系统11 -微信支付11-支付安全-https中的数字证书
支付系统11 -微信支付11-支付安全-https中的数字证书
|
6月前
|
JavaScript
vue : 无法加载文件 D:\module\npm_module\npm_modules\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.c
vue : 无法加载文件 D:\module\npm_module\npm_modules\vue.ps1,因为在此系统上禁止运行脚本。有关详细信息,请参阅 https:/go.microsoft.c
|
6月前
|
监控 小程序 前端开发
基础入门-抓包技术&HTTPS协议&WEB&封包监听&网卡模式&APP&小程序
基础入门-抓包技术&HTTPS协议&WEB&封包监听&网卡模式&APP&小程序
192 0
|
6月前
|
资源调度 分布式计算 Hadoop
实时计算 Flink版产品使用问题之yarn session模式中启动的任务链接是http IP,想把IP映射为主机hadoop,该怎么操作
实时计算Flink版作为一种强大的流处理和批处理统一的计算框架,广泛应用于各种需要实时数据处理和分析的场景。实时计算Flink版通常结合SQL接口、DataStream API、以及与上下游数据源和存储系统的丰富连接器,提供了一套全面的解决方案,以应对各种实时计算需求。其低延迟、高吞吐、容错性强的特点,使其成为众多企业和组织实时数据处理首选的技术平台。以下是实时计算Flink版的一些典型使用合集。

热门文章

最新文章