So it is mounted on /opensuse, your menu entries show /openSuSE and your TFTP directory is /var/lib/tftpboot/grub2/. Do you think it is OK?
The actual content of my grub.cfg is as follows:
menuentry "openSuSE 13.2 Installer" {
linux /grub2/x86_64-efi/linux splash=silent showopts install=http://192.168.0.10/sles/opensuse
initrd /grub2/x86_64-efi/initrd
}
What do you mean “my grub.cfg”? Where this grub.cfg is located? What is your TFTP server root directory (if it runs in restricted mode)?
# ls /opensuse/boot/x86_64/loader/linux
/opensuse/boot/x86_64/loader/linux
How content of /opensuse directory is related to booting using TFTP from /var/lib/tftpboot/grub2/?
Inside /var/lib/tftpboot/grub2/ is everything that has been generated from grub-mknetdir. There is no bootx64.efi and grub.efi in it
Why should there be? grub-mknetdir generates core.efi for x86_64-efi platform and actually tells you that.
so should I be copying it from /opensuse/EFI/BOOT/?
If you already did grub-mknetdir it should be enough - assuming you set up TFTP server correctly. Of course you probably can use grub.efi that comes with openSUSE - advantage is that it does not require any external modules. But then you may need to put grub.cfg in different directory.
Execute commands from the menu entry as in from the grub prompt? Sorry for the question, I am just not so familiar with grub.
You said when you boot you end up in grub command line (stuck in grub prompt). So enter these commands in this grub prompt. Additionally execute “set” to show current environment settings. You may want to use “set pager=1” before as this output usually exceeds one screen.
The last time I did for UEFI clients, I placed linux and initrd in the same directory with everything else.
Paths in grub are always relative to root device (value of variable $root in above output of “set”). If you do PXE boot, root is most likely set to (x.y.z.w,tftp), meaning TFTP server at address x.y.z.w. It is this TFTP server that interprets path. You should know how you set it up and where to place files.
I tried this as well, by copying linux and initrd from the ISO into /var/lib/tftpboot/grub2/x86_64-efi/.
# tftp 192.168.0.10
tftp> get grub2/x86_64-efi/linux
tftp>
Good. So if you have linux and initrd there your grub.cfg should work. If it does not most likely grub does not find grub.cfg itself. It is still completely unclear what happens from your description. Please show screenshot immediately after PXE booting your system into grub to see what happens.