Are you sure the problem isn't in the boot sequence on your host? If you
have pxe/net boot before disk, it is going to pxe boot over and over.
The reason I ask is that in my experience, if the disk is partitioned,
the reboot whil hang. I work 100% will Dell computers in my job so maybe
other EFI/BIOS detect an unbootable disk differently. But in my
experience, it does not matter if the disk does not have a bootable
partition, as long as there is a partition table on the disk, it won't
move on to pxe boot again.
There is sample code in the fai-doc package that creates the classes
GRUB_PC and GRUB_EFI during the install. Then there are scripts to
properly install/configure grub depending on whether you are booting via
BIOS or EFI. If grub is not getting installed correctly, you should
check if those classes are properly being created during your FAI installs.
Another thing that might be wrong is your disk config. You have to use
gpt and configure an EFI boot partition in your setup-storage config
file in the disk_config sub directory.
On 07/06/2018 08:25 AM, Rémy Dernat wrote:
Hmmm.... Now it is installing fine, but it is trying to reinstall at
each reboot, because the boot from the local disk failed (although the
entry is well written is the UEFI boot menu).
My grub.cfg is now:
```
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
set timeout=5
# for debug:
#set pager=1
#set debug=all
insmod efi_gop
insmod efi_uga
if loadfont ${prefix}/unicode.pf2
then
insmod gfxterm
set gfxmode=auto
set gfxpayload=keep
terminal_output gfxterm
fi
menuentry "Install from FAI" {
linux vmlinuz-3.16.0-6-amd64 ip=dhcp aufs rw root=/dev/nfs
nfsroot=IP.IP.IP.IP:/srv/fai/nfsroot
FAI_FLAGS=verbose,sshd,createvt,reboot FAI_ACTION=install
server=faiserv.acme.ltd FAI_CONFIG_SRC=nfs://faiserv.acme.ltd/srv/fai/config
initrd initrd.img-3.16.0-6-amd64
}
```
It looks like FAI install is just loading the FAIBASE class. I think
that "FAI_CONFIG_SRC=nfs://faiserv.acme.ltd/srv/fai/config" is not
loading at the install step. Maybe I have some syntax error...
Best regards,
Rémy.
Le ven. 6 juil. 2018 à 14:27, Rémy Dernat <remy...@gmail.com
<mailto:remy...@gmail.com>> a écrit :
Hi,
I am trying to set up an UEFI boot pxe mainly because our hardware
servers do not support full legacy BIOS anymore (particularly hard
disk plugin on those servers).
Our legacy pxelinux works just fine from a while now (and thanks for
it).
I followed this link :
https://lists.uni-koeln.de/pipermail/linux-fai/2014-February/010294.html
... with no luck. I created an "UEFI" specific class to avoid the
erase of DEFAULT, and put everything in that new class, because we
will need to keep the pxelinux config.
My tftp fai folder is organised like this:
```
root@faiserv:/srv# tree -L 2
.
├── fai
│ ├── config
│ └── nfsroot
├── nfs4
└── tftp
└── fai
root@faiserv:/srv/tftp/fai# tree -L 2
.
├── c2960s-universalk9-tar.150-2a.SE9.tar
├── cisco-ios-150-2a.tar -> c2960s-universalk9-tar.150-2a.SE9.tar
├── efi
│ ├── fonts
│ ├── grub.cfg
│ ├── grub.cfg.nok
│ ├── i386-pc
│ ├── locale
│ ├── pxelinux.cfg -> ../pxelinux.cfg
│ ├── unicode.pf2
│ └── x86_64-efi
├── gpxelinux.0
├── initrd.img-3.16.0-4-amd64
├── initrd.img-3.16.0-6-amd64
├── ldlinux.c32
├── lpxelinux.0
├── pxelinux.0
├── pxelinux.0.back
├── pxelinux.cfg
│ ├── 0A01FD03
│ ├── 0A01FFF2
│ ├── A226B5A1.disable
│ ├── A226B5A2.disable
│ ├── A226B5A3.disable
│ ├── A226B5A4.disable
│ ├── A226B5A5.disable
│ ├── A226B5A6.disable
│ ├── A226B5A7.disable
│ ├── A226B5A9
│ ├── A226B5AA.disable
│ ├── A226B5AB.disable
│ ├── A226B5B0.disable
│ ├── A226B5B4.disable
│ ├── A226B5B8
│ └── default
├── syslinux.efi
├── vmlinuz-3.16.0-4-amd64
└── vmlinuz-3.16.0-6-amd64
```
I do not know if the UEFI is also searching for a filename matching
its IP address with the hexa value, so I created a symbolic link to
the pxelinux.cfg parent directory...
I have no problem with DHCP, and my client is loading the grub.cfg
menu. However, it fails while searching for the nfsroot. The error I
get (with debug=all) is (replacing sensitive informations):
```
kern/disk.c:196 : Opening `tftp,IP.IP.IP.IP'...
disk/efi/efidisk.c:461 : opening tftp
kern/disk.c: 281: Opening `tftp,IP.IP.IP.IP' failed.
kern/disk.c: 295: Closing `tftp'.
```
Here is my grub.cfg config :
```
root@faiserv:/srv/tftp/fai/efi# cat grub.cfg
set menu_color_normal=white/black
set menu_color_highlight=black/light-gray
set timeout=5
# for debug:
#set pager=1
set debug=all
insmod efi_gop
insmod efi_uga
if loadfont ${prefix}/unicode.pf2
then
insmod gfxterm
set gfxmode=auto
set gfxpayload=keep
terminal_output gfxterm
fi
menuentry "Install from FAI" {
linux vmlinuz-3.16.0-6-amd64 rw ip=dhcp root=/dev/nfs
nfsroot=IP.IP.IP.IP:/srv/fai/nfsroot
FAI_FLAGS=verbose,sshd,createvt,reboot FAI_ACTION=install
server=faiserv.acme.ltd
FAI_CONFIG_SRC=nfs://faiserv.acme.ltd/srv/fai/config
initrd initrd.img-3.16.0-6-amd64
}
```
Any help would be greatly appreciated.
Thanks,
Rémy