Chinaunix首页 | 论坛 | 博客
  • 博客访问: 363825
  • 博文数量: 36
  • 博客积分: 570
  • 博客等级: 中士
  • 技术积分: 1042
  • 用 户 组: 普通用户
  • 注册时间: 2011-09-08 20:53
文章分类
文章存档

2015年(1)

2014年(1)

2013年(14)

2012年(10)

2011年(10)

分类: LINUX

2015-04-22 21:59:55

首先要说的事为了完成这个,花费了我整整一天的时间,期间不断的try, search via google. redhat 官网的doc,centos的doc有点儿坑人。最后还是通过google完成的。

pxe server setup:

安装tftp,dhcp,vsftpd
yum install tftp-server dhcp vsftpd

tftp的配置不说了,super easy

dhcp的配置也很简单,就是filename 处不再是pxelinux.0了. 我这儿是 bootx64.efi
贴上我的配置:

点击(此处)折叠或打开

  1. log-facility local7;
  2. allow booting;
  3. allow bootp;
  4. option space pxelinux;
  5. option pxelinux.magic code 208 = string;
  6. option pxelinux.configfile code 209 = text;
  7. option pxelinux.pathprefix code 210 = text;
  8. option pxelinux.reboottime code 211 = unsigned integer 32;
  9. option architecture-type code 93 = unsigned integer 16;
  10. subnet 10.1.1.0 netmask 255.255.255.0 {
  11.   range 10.1.1.10 10.1.1.200;
  12.   option routers 10.1.1.2;

  13.     next-server 10.1.1.3;
  14.   filename "bootx64.efi";
  15. }


接下来是要说一下bootx64.efi是如何来的。首先要说的是redhat doc说的BOOTX64.EFI 或者grubx64.efi 或者shim.efi都是不能用的(反正我是反复都试了,都没有起作用,坑人的节奏~~,这些都是为从光驱或USB安装所准备的,用作pxe是不行的),这需要自己制作efi引导文件,要包裹一些module。

先安装module文件grub2-efi-modules
yum install -y grub2-efi-modules

制作efi引导文件
 grub2-mkstandalone -d /usr/lib/grub/x86_64-efi/ -O x86_64-efi --modules="tftp net efinet linux part_gpt efifwsetup" -o bootx64.efi

将bootx64.efi拷到tftp的根目录:/var/lib/tftproot
mount centos 7的镜像,将EFI/BOOT/grub.cfg 也拷贝到tftp根目录
将image/pxeboot/{vmlinuz,initrd.img}拷贝到tftp根目录

修改grub.cfg
在linuxefi 后面加上(tftp)/vmlinuz
(tftp)/initrd.img

贴上我的配置:

点击(此处)折叠或打开

  1. set default="0"

  2. function load_video {
  3.   insmod efi_gop
  4.   insmod efi_uga
  5.   insmod video_bochs
  6.   insmod video_cirrus
  7.   insmod all_video
  8. }

  9. load_video
  10. set gfxpayload=keep
  11. insmod net
  12. insmod efinet
  13. insmod tftp
  14. insmod gzio
  15. insmod part_gpt
  16. insmod ext2

  17. set timeout=60
  18. ### END /etc/grub.d/00_header ###

  19. search --no-floppy --set=root -l 'CentOS 7 x86_64'

  20. ### BEGIN /etc/grub.d/10_linux ###
  21. menuentry 'Install CentOS 7' --class fedora --class gnu-linux --class gnu --class os {
  22.         linuxefi (tftp)/vmlinuz inst.repo=ftp://10.1.1.3/pub/centos ip=dhcp
  23.         initrdefi (tftp)/initrd.img
  24. }
启用服务试试:
systemctl enable xinetd dhcpd vsftpd
systemctl start xinetd dhcpd vsftpd



请忽略人头,哈哈




阅读(27718) | 评论(3) | 转发(0) |
0

上一篇:cobbler之quick start

下一篇:没有了

给主人留下些什么吧!~~

爱爬上的相里若薇2019-09-20 17:23:41

看了这个地方终于解决了我一周未搞定的efi安装,感谢楼主!!!!!

smxjean2019-07-23 18:28:34

接下来是要说一下bootx64.efi是如何来的。首先要说的是redhat doc说的BOOTX64.EFI 或者grubx64.efi 或者shim.efi都是不能用的(反正我是反复都试了,都没有起作用,坑人的节奏~~,这些都是为从光驱或USB安装所准备的,用作pxe是不行的),这需要自己制作efi引导文件,要包裹一些module。

LZ,你后来找到原因了吗?

我是觉得Red Hat没有那么坑,所以测试了一下,起初也有你的现象,后来发现时shim.efi grubx64.efi权限不对,改成644就可以了。

zengxiaodong2019-05-28 13:20:35

yum install -y grub2-efi-modules   怎么下载不了这个模块呢