Dnsmasq bios and uefi
-
hi, when saw dnsmasq maillist http://lists.thekelleys.org.uk/pipermail/dnsmasq-discuss/2017q2/011379.html
3q for https://github.com/openSUSE/kiwi/wiki/Setup-PXE-boot-with-EFI-using-grub2 & https://www.ibm.com/developerworks/community/blogs/a2674a1d-a968-4f17-998f-b8b38497c9f7/entry/uefi-grub2?lang=ru
the problem may not in dnsmasq, when update to version 2.76. uefi boot can see grub>
My env is all in VMware Workstation 12 Pro 12.0.0 build-2985596
NAT mode
192.168.136.200 to dhcp server centos7.3
192.168.136.226 to cobbler( tftpserver & dnsmasq ) centos7.3
dhcp to cobblerctos73(legacy bios)
dhcp to uefi(efi)- 136.200 install dhcpd
conf file like blow
dns-update-style interim; subnet 192.168.136.0 netmask 255.255.255.0 { option routers 192.168.136.2; option domain-name-servers 192.168.136.2; option subnet-mask 255.255.255.0; range dynamic-bootp 192.168.136.240 192.168.136.250; default-lease-time 21600; max-lease-time 43200; }
- 136.226 install centosbase dnsmasq then upgrade to 2.76 from souce, see
https://wiki.fogproject.org/wiki/index.php?title=ProxyDHCP_with_dnsmasq#Compiling dnsmasq 2.76 if you need uefi support
#define HAVE_DBUS #define HAVE_IDN /*#define HAVE_IDN_STATIC*/??? this line not need? cuz my centos73 not support this when do make #define HAVE_CONNTRACK #define HAVE_DNSSEC
then dnsmasq conf file like blow
# Don't function as a DNS server: port=0 # Log lots of extra information about DHCP transactions. log-dhcp # Set the root directory for files available via FTP. tftp-root=/var/lib/tftpboot # Disable re-use of the DHCP servername and filename fields as extra # option space. That's to avoid confusing some old or broken DHCP clients. dhcp-no-override # inspect the vendor class string and match the text to set the tag dhcp-vendorclass=BIOS,PXEClient:Arch:00000 dhcp-vendorclass=UEFI32,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 dhcp-vendorclass=UEFI64,PXEClient:Arch:00009 # Set the boot file name based on the matching tag from the vendor class (above) #dhcp-boot=net:BIOS,pxelinux.0,,192.168.136.226 #dhcp-boot=net:UEFI32,grub/grub-x86.efi,,192.168.136.226 #dhcp-boot=net:UEFI,BOOTX64.efi,,192.168.136.226 #dhcp-boot=net:UEFI64,grub/grub-x86_64.efi,,192.168.136.226 # The boot filename, Server name, Server Ip Address dhcp-boot=pxelinux.0,,192.168.136.226 # PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds. pxe-prompt="Booting UAT Autoinstall Client", 1 dhcp-range=192.168.136.200,proxy #legacy bios options pxe-service=X86PC,"Legacy",pxelinux,192.168.136.226 #vmware workstation 12 EFI options pxe-service=BC_EFI,"BC_EFI",bootx64.efi,192.168.136.226
- I find many other doc, all can’t work, till this two, see
https://github.com/openSUSE/kiwi/wiki/Setup-PXE-boot-with-EFI-using-grub2
https://www.ibm.com/developerworks/community/blogs/a2674a1d-a968-4f17-998f-b8b38497c9f7/entry/uefi-grub2?lang=ru
it’s use pxe to boot diskless linux, when finish 1&2, I can see grub>. So ….
Tftproot is /var/lib/tftpboot
-
Mkdir tftproot/boot/grub(in cobbler it already have)
-
Vim tftproot/boot/grub/grub.cfg blow this
set timeout=5 menuentry 'Linux diskless' --class os { insmod net insmod efinet insmod tftp insmod gzio insmod part_gpt insmod efi_gop insmod efi_uga # dhcp, tftp server in my network set net_default_server=192.168.136.226 # auto dhcp setup did not work for me, no idea why # net_bootp # ok let's assign a static address for now net_add_addr eno0 efinet0 192.168.136.246 echo 'Network status: ' net_ls_cards net_ls_addr net_ls_routes echo 'Loading Linux ...' linux (tftp)/boot/vmlinuz inst.ks=http://192.168.136.226/cblr/svc/op/ks/profile/rhel73-x86_64 echo 'Loading initial ramdisk ...' initrd (tftp)/boot/initrd.img }
- grub2-mkstandalone -d /usr/lib/grub/x86_64-efi/ -O x86_64-efi --fonts=“unicode” -o /var/lib/tftpboot/bootx64.efi boot/grub/grub.cfg
- systemctl restart dnsmasq.
Just power up uefi.
Dhcpd log blow
May 20 23:46:05 localhost.localdomain dhcpd[844]: DHCPDISCOVER from 00:0c:29:87:09:d5 via ens33 May 20 23:46:06 localhost.localdomain dhcpd[844]: DHCPOFFER on 192.168.136.246 to 00:0c:29:87:09:d5 via ens33 May 20 23:46:08 localhost.localdomain dhcpd[844]: DHCPREQUEST for 192.168.136.246 (192.168.136.200) from 00:0c:29:87:09:d5 via ens33 May 20 23:46:08 localhost.localdomain dhcpd[844]: DHCPACK on 192.168.136.246 to 00:0c:29:87:09:d5 via ens33 May 20 23:48:36 localhost.localdomain dhcpd[844]: DHCPDISCOVER from 00:0c:29:87:09:d5 via ens33 May 20 23:48:37 localhost.localdomain dhcpd[844]: DHCPOFFER on 192.168.136.246 to 00:0c:29:87:09:d5 via ens33 May 20 23:48:40 localhost.localdomain dhcpd[844]: DHCPREQUEST for 192.168.136.246 (192.168.136.200) from 00:0c:29:87:09:d5 via ens33 May 20 23:48:40 localhost.localdomain dhcpd[844]: DHCPACK on 192.168.136.246 to 00:0c:29:87:09:d5 via ens33 May 20 23:50:08 localhost.localdomain dhcpd[844]: DHCPDISCOVER from 00:0c:29:87:09:d5 via ens33 May 20 23:50:09 localhost.localdomain dhcpd[844]: DHCPOFFER on 192.168.136.246 to 00:0c:29:87:09:d5 via ens33 May 20 23:50:09 localhost.localdomain dhcpd[844]: DHCPREQUEST for 192.168.136.246 (192.168.136.200) from 00:0c:29:87:09:d5 via ens33 May 20 23:50:09 localhost.localdomain dhcpd[844]: DHCPACK on 192.168.136.246 to 00:0c:29:87:09:d5 via ens33 May 20 23:50:26 localhost.localdomain dhcpd[844]: DHCPREQUEST for 192.168.136.246 from 00:0c:29:87:09:d5 via ens33 May 20 23:50:26 localhost.localdomain dhcpd[844]: DHCPACK on 192.168.136.246 to 00:0c:29:87:09:d5 via ens33
Dnsmasq log blow
5月 20 23:46:05 cobbler dnsmasq-dhcp[1499]: 1607759066 available DHCP subnet: 192.168.136.200/255.255.255.0 5月 20 23:46:05 cobbler dnsmasq-dhcp[1499]: 1607759066 vendor class: PXEClient:Arch:00009:UNDI:003016 5月 20 23:46:05 cobbler dnsmasq-dhcp[1499]: 1607759066 PXE(ens33) 00:0c:29:87:09:d5 proxy 5月 20 23:46:05 cobbler dnsmasq-dhcp[1499]: 1607759066 tags: UEFI64, ens33 5月 20 23:46:05 cobbler dnsmasq-dhcp[1499]: 1607759066 next server: 192.168.136.226 5月 20 23:46:05 cobbler dnsmasq-dhcp[1499]: 1607759066 broadcast response 5月 20 23:46:05 cobbler dnsmasq-dhcp[1499]: 1607759066 sent size: 1 option: 53 message-type 2 5月 20 23:46:05 cobbler dnsmasq-dhcp[1499]: 1607759066 sent size: 4 option: 54 server-identifier 192.168.136.226 5月 20 23:46:05 cobbler dnsmasq-dhcp[1499]: 1607759066 sent size: 9 option: 60 vendor-class 50:58:45:43:6c:69:65:6e:74 5月 20 23:46:05 cobbler dnsmasq-dhcp[1499]: 1607759066 sent size: 17 option: 97 client-machine-id 00:56:4d:15:7a:51:36:e6:8f:fd:fe:4d:c4:27... 5月 20 23:46:08 cobbler dnsmasq-dhcp[1499]: 1607759066 available DHCP subnet: 192.168.136.200/255.255.255.0 5月 20 23:46:08 cobbler dnsmasq-dhcp[1499]: 1607759066 vendor class: PXEClient:Arch:00009:UNDI:003016 5月 20 23:46:08 cobbler dnsmasq-dhcp[1499]: 1726852750 available DHCP subnet: 192.168.136.200/255.255.255.0 5月 20 23:46:08 cobbler dnsmasq-dhcp[1499]: 1726852750 vendor class: PXEClient:Arch:00009:UNDI:003016 5月 20 23:46:08 cobbler dnsmasq-dhcp[1499]: 1726852750 PXE(ens33) 00:0c:29:87:09:d5 proxy 5月 20 23:46:08 cobbler dnsmasq-dhcp[1499]: 1726852750 tags: UEFI64, ens33 5月 20 23:46:08 cobbler dnsmasq-dhcp[1499]: 1726852750 bootfile name: bootx64.efi 5月 20 23:46:08 cobbler dnsmasq-dhcp[1499]: 1726852750 server name: 192.168.136.226 5月 20 23:46:08 cobbler dnsmasq-dhcp[1499]: 1726852750 next server: 192.168.136.226 5月 20 23:46:08 cobbler dnsmasq-dhcp[1499]: 1726852750 sent size: 1 option: 53 message-type 5 5月 20 23:46:08 cobbler dnsmasq-dhcp[1499]: 1726852750 sent size: 4 option: 54 server-identifier 192.168.136.226 5月 20 23:46:08 cobbler dnsmasq-dhcp[1499]: 1726852750 sent size: 9 option: 60 vendor-class 50:58:45:43:6c:69:65:6e:74 5月 20 23:46:08 cobbler dnsmasq-dhcp[1499]: 1726852750 sent size: 17 option: 97 client-machine-id 00:56:4d:15:7a:51:36:e6:8f:fd:fe:4d:c4:27... 5月 20 23:48:36 cobbler dnsmasq-dhcp[1499]: 430386701 available DHCP subnet: 192.168.136.200/255.255.255.0 5月 20 23:48:36 cobbler dnsmasq-dhcp[1499]: 430386701 vendor class: PXEClient:Arch:00009:UNDI:003016 5月 20 23:48:36 cobbler dnsmasq-dhcp[1499]: 430386701 PXE(ens33) 00:0c:29:87:09:d5 proxy 5月 20 23:48:36 cobbler dnsmasq-dhcp[1499]: 430386701 tags: UEFI64, ens33 5月 20 23:48:36 cobbler dnsmasq-dhcp[1499]: 430386701 next server: 192.168.136.226 5月 20 23:48:36 cobbler dnsmasq-dhcp[1499]: 430386701 broadcast response 5月 20 23:48:36 cobbler dnsmasq-dhcp[1499]: 430386701 sent size: 1 option: 53 message-type 2 5月 20 23:48:36 cobbler dnsmasq-dhcp[1499]: 430386701 sent size: 4 option: 54 server-identifier 192.168.136.226 5月 20 23:48:36 cobbler dnsmasq-dhcp[1499]: 430386701 sent size: 9 option: 60 vendor-class 50:58:45:43:6c:69:65:6e:74 5月 20 23:48:36 cobbler dnsmasq-dhcp[1499]: 430386701 sent size: 17 option: 97 client-machine-id 00:56:4d:15:7a:51:36:e6:8f:fd:fe:4d:c4:27... 5月 20 23:48:40 cobbler dnsmasq-dhcp[1499]: 430386701 available DHCP subnet: 192.168.136.200/255.255.255.0 5月 20 23:48:40 cobbler dnsmasq-dhcp[1499]: 430386701 vendor class: PXEClient:Arch:00009:UNDI:003016 5月 20 23:48:40 cobbler dnsmasq-dhcp[1499]: 549480385 available DHCP subnet: 192.168.136.200/255.255.255.0 5月 20 23:48:40 cobbler dnsmasq-dhcp[1499]: 549480385 vendor class: PXEClient:Arch:00009:UNDI:003016 5月 20 23:48:40 cobbler dnsmasq-dhcp[1499]: 549480385 PXE(ens33) 00:0c:29:87:09:d5 proxy 5月 20 23:48:40 cobbler dnsmasq-dhcp[1499]: 549480385 tags: UEFI64, ens33 5月 20 23:48:40 cobbler dnsmasq-dhcp[1499]: 549480385 bootfile name: bootx64.efi 5月 20 23:48:40 cobbler dnsmasq-dhcp[1499]: 549480385 server name: 192.168.136.226 5月 20 23:48:40 cobbler dnsmasq-dhcp[1499]: 549480385 next server: 192.168.136.226 5月 20 23:48:40 cobbler dnsmasq-dhcp[1499]: 549480385 sent size: 1 option: 53 message-type 5 5月 20 23:48:40 cobbler dnsmasq-dhcp[1499]: 549480385 sent size: 4 option: 54 server-identifier 192.168.136.226 5月 20 23:48:40 cobbler dnsmasq-dhcp[1499]: 549480385 sent size: 9 option: 60 vendor-class 50:58:45:43:6c:69:65:6e:74 5月 20 23:48:40 cobbler dnsmasq-dhcp[1499]: 549480385 sent size: 17 option: 97 client-machine-id 00:56:4d:15:7a:51:36:e6:8f:fd:fe:4d:c4:27... 5月 20 23:50:08 cobbler dnsmasq-dhcp[1499]: 278376755 available DHCP subnet: 192.168.136.200/255.255.255.0 5月 20 23:50:08 cobbler dnsmasq-dhcp[1499]: 278376755 vendor class: anaconda-Linux 3.10.0-514.el7.x86_64 x86_64 5月 20 23:50:09 cobbler dnsmasq-dhcp[1499]: 278376755 available DHCP subnet: 192.168.136.200/255.255.255.0 5月 20 23:50:09 cobbler dnsmasq-dhcp[1499]: 278376755 vendor class: anaconda-Linux 3.10.0-514.el7.x86_64 x86_64 5月 20 23:50:26 cobbler dnsmasq-dhcp[1499]: 2725144841 available DHCP subnet: 192.168.136.200/255.255.255.0 5月 20 23:50:26 cobbler dnsmasq-dhcp[1499]: 2725144841 vendor class: anaconda-Linux 3.10.0-514.el7.x86_64 x86_64
Tftp log blow
5月 20 23:46:09 cobbler in.tftpd[2257]: RRQ from 192.168.136.246 filename bootx64.efi 5月 20 23:46:09 cobbler in.tftpd[2258]: RRQ from 192.168.136.246 filename bootx64.efi 5月 20 23:48:41 cobbler in.tftpd[2285]: RRQ from 192.168.136.246 filename bootx64.efi 5月 20 23:48:41 cobbler in.tftpd[2286]: RRQ from 192.168.136.246 filename bootx64.efi 5月 20 23:48:58 cobbler in.tftpd[2287]: RRQ from 192.168.136.246 filename /boot/vmlinuz 5月 20 23:49:04 cobbler in.tftpd[2288]: RRQ from 192.168.136.246 filename /boot/initrd.img
***Now, the uefi boot is done.
It’s not perfect.
Cuz in grub.cfg we need write nextserver ip & host ip,
And grub2-mkstandalone command write grub.cfg in bootx64.efi, cuz I change boot/grub/grub.cfg it’s. not working.
So now I working to grub lib, want find way to solve this 3 problem.If anybody working with grub/grub2, can give me some idea? thank you very much.***
- 136.200 install dhcpd
-
@xutianhong of just use refind which is meant to automatically use EFI?
-
@Tom-Elliott hi, i just google what is rEFInd. dose rEFInd support BIOS/EFI pxeboot?
-
@xutianhong I’m not sure I follow. Grub and rEFInd are exit types, to leave pxe and boot to HDD.
-
If you’re simply trying to boot an iso, ipxe supports this natively.
-
@Tom-Elliott very thank you. im try to test rEFInd to make sure is it suit for my env. i will reply later.
-
@Tom-Elliott thank you for ur advice, i found some figure way @ipxe site. now im search way to kindly combine ipxe with cobbler. the uefi ipxe boot install cost me lots of time cuz rhel73 have kernel bug. finally figure out too.
-
@xutianhong Can you explain what your trouble is? I read your first post and it was not clear, I think maybe the language translation.
Your first post make me think you are telling us what you find not asking for help.
-
@george1421 ok. i was using cobbler install redhat @ my work env. at first i found all works fine @ legacy bios. but when shift to UEFI. its’ not work good anymore. cobbler+dnsmasq.proxymode, msg freeze at option 47. i search google and found fog.wiki have advice dnsmasq need upgrade to 2.76. i do it. at this time , screen show grub>. then i search @ dnsmasq mail list and other website. find some way to figure this write in my first post. but it’s need write static ip&nextserver info to cfg, make standalone efi file. then Tom Elliott suggest ipxe & rEFInd.
-
@george1421 im sorry make u confuse, cuz my english was not good. maybe can’t describe clearly.
-
@xutianhong said in Dnsmasq bios and uefi:
need upgrade to 2.76. i do it. at this time , screen show grub>. then i search @ dnsmasq mail list and other website. find some way to figure this write in my first post.
What confuses me is you say dnsmasq and then grub. This is the confusion. dnsmasq is used to send the proper boot information to the target computer to get the target to load the FOG iPXE menu. Once the iPXE menu is displayed dnsmasq is no longer needed.
Once the iPXE menu is displayed you must make a menu pick within a few seconds or the iPXE menu picks boot from local hard drive to boot.
This is where the iPXE menu uses the (default) sanboot process for finding the hard drive on bios (legacy) computers. If your target computer is uefi then you can use grub, but most will use rEFInd to identify the boot partition on the hard drive. If rEFInd can’t find the boot partition you may need to adjust the refind.conf file to search more locations.
I want to be clear that if your target computer boots into the FOG iPXE menu then dnsmasq is working correctly.
If you are having a problem leaving the iPXE menu and booting from the local hard drive then this is an iPXE problem.
-
@xutianhong said in Dnsmasq bios and uefi:
@george1421 im sorry make u confuse, cuz my english was not good. maybe can’t describe clearly.
We can work together to find an answer, so no problem. We will take it slow to understand each other.
-
@george1421 im not sure what happened. it’s looks like grub cant get cfg file?
it’s my boot process.
dhcp start @ 200
tftp & dnsmasq.proxymode start @ 226 only use pxe+grub not ipxe&refind
uefi client @ dhcp
the tftproot tree blow this[root@cobbler tftpboot]# tree . |-- boot | `-- grub | `-- menu.lst |-- etc |-- grub | |-- 01-00-50-56-2D-85-AB | |-- 01-00-50-56-36-01-FD | |-- C0A888FC | |-- efidefault | |-- grub-x86_64.efi | |-- grub-x86.efi | `-- images -> ../images |-- images | |-- centos6.0-x86_64 | | |-- initrd.img | | `-- vmlinuz | |-- centos7.2-x86_64 | | |-- initrd.img | | `-- vmlinuz | |-- rhel72-x86_64 | | |-- initrd.img | | `-- vmlinuz | `-- rhel73-x86_64 | |-- initrd.img | `-- vmlinuz |-- images2 |-- memdisk |-- menu.c32 |-- ppc |-- pxelinux.0 |-- pxelinux.cfg | |-- 01-00-50-56-2d-85-ab | |-- 01-00-50-56-36-01-fd | |-- C0A888FC | `-- default |-- s390x | `-- profile_list |-- uefi `-- yaboot
the dnsmasq conf blow this
# Don't function as a DNS server: port=0 # Log lots of extra information about DHCP transactions. log-dhcp # Set the root directory for files available via FTP. tftp-root=/var/lib/tftpboot # Disable re-use of the DHCP servername and filename fields as extra # option space. That's to avoid confusing some old or broken DHCP clients. dhcp-no-override # The boot filename, Server name, Server Ip Address dhcp-boot=pxelinux.0,,192.168.136.226 # PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds. pxe-prompt="Booting UAT Autoinstall Client", 1 #legacy bios options #pxe-service=X86PC,"Legacy",undionly.kpxe,192.168.136.226 #vmware workstation 12 EFI options pxe-service=BC_EFI,"BC_EFI",grub/grub-x86_64.efi,192.168.136.226 dhcp-range=192.168.136.200,proxy
when uefi client power up, it’s show grub>
here is dhcp/tftp/dnsmasq log
May 23 05:56:08 localhost dhcpd[844]: DHCPDISCOVER from 00:0c:29:87:09:d5 via ens33 May 23 05:56:09 localhost dhcpd[844]: DHCPOFFER on 192.168.136.250 to 00:0c:29:87:09:d5 via ens33 May 23 05:56:11 localhost dhcpd[844]: DHCPREQUEST for 192.168.136.250 (192.168.136.200) from 00:0c:29:87:09:d5 via ens33 May 23 05:56:11 localhost dhcpd[844]: DHCPACK on 192.168.136.250 to 00:0c:29:87:09:d5 via ens33
5月 23 05:56:12 cobbler xinetd[981]: START: tftp pid=38640 from=192.168.136.250 5月 23 05:56:12 cobbler in.tftpd[38641]: RRQ from 192.168.136.250 filename grub/grub-x86_64.efi 5月 23 05:56:12 cobbler in.tftpd[38642]: RRQ from 192.168.136.250 filename grub/grub-x86_64.efi
5月 23 05:56:08 cobbler dnsmasq-dhcp[38636]: 2915677108 available DHCP subnet: 192.168.136.200/255.255.255.0 5月 23 05:56:08 cobbler dnsmasq-dhcp[38636]: 2915677108 vendor class: PXEClient:Arch:00009:UNDI:003016 5月 23 05:56:08 cobbler dnsmasq-dhcp[38636]: 2915677108 PXE(ens33) 00:0c:29:87:09:d5 proxy 5月 23 05:56:08 cobbler dnsmasq-dhcp[38636]: 2915677108 tags: UEFI64, ens33 5月 23 05:56:08 cobbler dnsmasq-dhcp[38636]: 2915677108 next server: 192.168.136.226 5月 23 05:56:08 cobbler dnsmasq-dhcp[38636]: 2915677108 broadcast response 5月 23 05:56:08 cobbler dnsmasq-dhcp[38636]: 2915677108 sent size: 1 option: 53 message-type 2 5月 23 05:56:08 cobbler dnsmasq-dhcp[38636]: 2915677108 sent size: 4 option: 54 server-identifier 192.168.136.226 5月 23 05:56:08 cobbler dnsmasq-dhcp[38636]: 2915677108 sent size: 9 option: 60 vendor-class 50:58:45:43:6c:69:65:6e:74 5月 23 05:56:08 cobbler dnsmasq-dhcp[38636]: 2915677108 sent size: 17 option: 97 client-machine-id 00:56:4d:15:7a:51:36:e6:8f:fd:fe:4d:c4:27... 5月 23 05:56:11 cobbler dnsmasq-dhcp[38636]: 2915677108 available DHCP subnet: 192.168.136.200/255.255.255.0 5月 23 05:56:11 cobbler dnsmasq-dhcp[38636]: 2915677108 vendor class: PXEClient:Arch:00009:UNDI:003016 5月 23 05:56:11 cobbler dnsmasq-dhcp[38636]: 3034770792 available DHCP subnet: 192.168.136.200/255.255.255.0 5月 23 05:56:11 cobbler dnsmasq-dhcp[38636]: 3034770792 vendor class: PXEClient:Arch:00009:UNDI:003016 5月 23 05:56:11 cobbler dnsmasq-dhcp[38636]: 3034770792 PXE(ens33) 00:0c:29:87:09:d5 proxy 5月 23 05:56:11 cobbler dnsmasq-dhcp[38636]: 3034770792 tags: UEFI64, ens33 5月 23 05:56:11 cobbler dnsmasq-dhcp[38636]: 3034770792 bootfile name: grub/grub-x86_64.efi 5月 23 05:56:11 cobbler dnsmasq-dhcp[38636]: 3034770792 server name: 192.168.136.226 5月 23 05:56:11 cobbler dnsmasq-dhcp[38636]: 3034770792 next server: 192.168.136.226 5月 23 05:56:11 cobbler dnsmasq-dhcp[38636]: 3034770792 sent size: 1 option: 53 message-type 5 5月 23 05:56:11 cobbler dnsmasq-dhcp[38636]: 3034770792 sent size: 4 option: 54 server-identifier 192.168.136.226 5月 23 05:56:11 cobbler dnsmasq-dhcp[38636]: 3034770792 sent size: 9 option: 60 vendor-class 50:58:45:43:6c:69:65:6e:74 5月 23 05:56:11 cobbler dnsmasq-dhcp[38636]: 3034770792 sent size: 17 option: 97 client-machine-id 00:56:4d:15:7a:51:36:e6:8f:fd:fe:4d:c4:27...
-
@xutianhong what does the grub.conf look like?
-
@xutianhong I say this because it appears from your directory tree there is no grub.cfg file.
-
@Tom-Elliott there no grub.cfg, only cobbler gen efidefault. ofcuz i copy efidefault to /grub.cfg & /boot/grub/grub.cfg, not work, same grub> msg.
default=0 timeout=0 title centos6.0-x86_64 root (nd) kernel /images/centos6.0-x86_64/vmlinuz ksdevice=bootif lang= kssendmac text ks=http://192.168.136.226/cblr/svc/op/ks/profile/centos6.0-x86_64 initrd /images/centos6.0-x86_64/initrd.img title centos7.2-x86_64 root (nd) kernel /images/centos7.2-x86_64/vmlinuz ksdevice=bootif lang= kssendmac text ks=http://192.168.136.226/cblr/svc/op/ks/profile/centos7.2-x86_64 initrd /images/centos7.2-x86_64/initrd.img title rhel72-x86_64 root (nd) kernel /images/rhel72-x86_64/vmlinuz ksdevice=bootif lang= kssendmac text ks=http://192.168.136.226/cblr/svc/op/ks/profile/rhel72-x86_64 initrd /images/rhel72-x86_64/initrd.img title rhel73-x86_64 root (nd) kernel /images/rhel73-x86_64/vmlinuz ksdevice=bootif lang= kssendmac text ks=http://192.168.136.226/cblr/svc/op/ks/profile/rhel73-x86_64 initrd /images/rhel73-x86_64/initrd.img```
-
@xutianhong and what does your grub line look like?
I would imagine it needs to look at the config file directly.
I don’t know if it can be done in dnsmasq but possibly:
pxe-service=BC_EFI,"BC_EFI","grub/grub-x86_64.efi --config-file=grub/efidefault",192.168.136.226
-
@xutianhong I have to ask are you using FOG or are you using FOG for pxe only, or are you not using fog and have a question about pxe booting?
I would ask why you do it this way? I would not use grub but the iPXE menu instead.
-
@george1421 im not using FOG. only question about pxe booting. use this cuz cobbler default env. im not add/del extra file to it. if default can work. i dont want change any thing.
-
@xutianhong OK understand, I was confused because I think you use FOG and doing this.
You can still do what you want if you look at it a bit differently. FOG uses a pxe boot loader called iPXE. That is similar to syslinux and grub. But iPXE is very feature rich.
You can do what you are looking for if you know how to program your config menus.
Here is my dnsmasq config file
# Don't function as a DNS server: port=0 # Log lots of extra information about DHCP transactions. log-dhcp # Set the root directory for files available via FTP. tftp-root=/tftpboot # The boot filename, Server name, Server Ip Address dhcp-boot=undionly.kpxe,,<fog_server_IP> # Disable re-use of the DHCP servername and filename fields as extra # option space. That's to avoid confusing some old or broken DHCP clients. dhcp-no-override # inspect the vendor class string and match the text to set the tag dhcp-vendorclass=BIOS,PXEClient:Arch:00000 dhcp-vendorclass=UEFI32,PXEClient:Arch:00006 dhcp-vendorclass=UEFI,PXEClient:Arch:00007 dhcp-vendorclass=UEFI64,PXEClient:Arch:00009 # Set the boot file name based on the matching tag from the vendor class (above) dhcp-boot=net:UEFI32,i386-efi/ipxe.efi,,<fog_server_IP> dhcp-boot=net:UEFI,ipxe.efi,,<fog_server_IP> dhcp-boot=net:UEFI64,ipxe.efi,,<fog_server_IP> # PXE menu. The first part is the text displayed to the user. The second is the timeout, in seconds. pxe-prompt="Booting FOG Client", 1 # The known types are x86PC, PC98, IA64_EFI, Alpha, Arc_x86, # Intel_Lean_Client, IA32_EFI, BC_EFI, Xscale_EFI and X86-64_EFI # This option is first and will be the default if there is no input from the user. pxe-service=X86PC, "Boot to FOG", undionly.kpxe pxe-service=X86-64_EFI, "Boot to FOG UEFI", ipxe.efi pxe-service=BC_EFI, "Boot to FOG UEFI PXE-BC", ipxe.efi dhcp-range=<fog_server_ip>,proxy
You replace the <fog_server_ip> with your address of your tftp server.