Unable to pxe boot debian9 image

I am trying to pxe boot debian 9 32 bit image but stuck at a point.
I have change my hw bios setting from legecy to uefi. i have also updated the dhcp server. but when i try to boot my machine, it download the 32 bit efi but does not go beyond and stuck there. It says successfully downloaded NBP program and again try to download the NBP file and does not download grub file.

DHCP Configuration:

# Bootfile Handoff
option architecture code 93 = unsigned integer 16 ;
if option architecture = 00:06 {
  filename "grub2/grubia32.efi";
} elsif option architecture = 00:07 {
  filename "grub2/shim.efi";
} elsif option architecture = 00:09 {
  filename "grub2/shim.efi";
} else {
  filename "pxelinux.0";
  1. i have used debian 9 32 bit iso and extracted the uefi bootloader “bootia32.efi and rename it as grubia32.efi and pasted in /var/lib/tftp/grub2/”.

  2. the /var/lib/tftp/grub2/ folder contain grub.cfg and grub.cfg-01-system-mac-addresss file. i have opened the grub.cfg file and tried to run the command manually. ex- insmod regexp but it says no module found.

  3. I am using HP-z440 hardware for this testing.

  4. i have selected grub2 uefi as bootloader in foreman UI.

  5. Even if i do not add eny pxefile in my dhcpd.conf file, my system still ask for grubia32.efi , even though i have defined other filename for NBP.

  6. Am i using the right 32 bit efi bootloader? as far as i have search on internet, i have to create my own bootloader for the same. foreman does not ship 32-bit efi for debian.

Expected outcome:
My system should pxe boot and run the debian kernel.

Foreman and Proxy versions:
HOSTNAME: r8sysdpl01.localdomain
OS: redhat
RELEASE: CentOS Linux release 7.4.1708 (Core)
FOREMAN: 1.15.6
RUBY: ruby 2.0.0p648 (2015-12-16) [x86_64-linux]
PUPPET: 4.10.10

Foreman and Proxy plugin versions:

DHCP 1.15.6

DNS 1.15.6

TFTP 1.15.6

Other relevant data:
[e.g. logs from Foreman and/or the Proxy, modified templates, commands issued, etc]
(for logs, surround with three back-ticks to get proper formatting, e.g.)


Foreman-proxy log does not show any info or error regarding this.

UEFI assumes 64 bits, some vendors do support 32 bits but your mileage can vary. You can try to generate your own grub2 image yourself:

grub2-mkimage -O i386-efi -d /usr/lib/grub/i386-efi -o /var/lib/tftp/grub2/grubia32.efi -p "" all_video boot btrfs cat configfile echo ext2 fat font gfxmenu gfxterm gzio halt hfsplus iso9660 jpeg loadenv loopback lvm mdraid09 mdraid1x minicmd normal part_apple part_msdos part_gpt password_pbkdf2 png reboot search search_fs_uuid search_fs_file search_label serial sleep syslinuxcfg test tftp video xfs linux

To run this command, What are the needed environment?

A debian system with grub2 installed, maybe it is some subpackage like grub2-image-creator not sure just go and find the file in your package management system.