3) To be honest I don't understand this *grub.cfg* trick. It looks like
sourcing *locally available **grub.cfg-01-MAC *whereas it should be
downloaded from foreman's tftp.
Only way for this to work would be regenerating grubx64.efi on each host
creation (with this grub.cfg-01-MAC embedded) but how do you support
multiple hosts provisioning then?
On Monday, June 19, 2017 at 9:27:36 AM UTC+2, Lukas Zapletal wrote:
>
> Foreman now supports Grub1, Grub2 and PXELinux templates, you can pick
> anything you want. Note that Grub1 does not support UEFI.
>
> If you install Smart Proxy on a system where Grub1 or Grub2 is
> available, we generate the bootloader via the installer using mkgrub
> command. Usually only one of these grubs are available depending on
> your OS version (e.g. RHEL6 = Grub1, RHEL7 = Grub2, the same for
> Debians etc). If you want to use let's say PXELinux EFI, you need to
> deploy pxelinux.efi file yourself. The following snippet comes from
> our docs:
>
> ~~~
> When creating a new Host, the PXE Loader option must be selected in
> order to pass the correct DHCP filename option to the client. One
> option out of the following must be chosen:
>
> PXELinux BIOS (loads pxelinux.0 filename from TFTP)
> PXELinux UEFI (loads pxelinux.efi filename from TFTP)
> PXEGrub UEFI (loads grub/bootx64.efi filename from TFTP)
> PXEGrub UEFI SecureBoot (loads grub/shim.efi filename from TFTP)
> PXEGrub2 UEFI (loads grub2/grubx64.efi filename from TFTP)
> PXEGrub2 UEFI SecureBoot (loads grub2/shim.efi filename from TFTP)
> None - no filename passed (e.g. for HTTP booting via iPXE)
>
> Grub filenames are different for each individual architecture
> associated with the Host:
>
> grub/bootia32.efi (for Intel named "i*86" where * can be any character)
> grub/bootx64.efi (for Intel named "x86-64")
> grub2/grubia32.efi (for Intel named "i*86" where * can be any character)
> grub2/grubx64.efi (for Intel named "x86-64")
> grub2/grubaa64.efi (for ARM 64 named either "aa64" or "aarch64")
> grub2/grubppc64.efi (for IBM POWER named "ppc64”)
> grub2/grubppc64le.efi (for IBM POWER Little Endian named "ppc64le")
> grub2/grubXYZ.efi (for arbitrary Architecture named "XYZ")
>
> Foreman installer only installs pxelinux.0 and grub2/grubx64.efi (if
> grub2 is available). In order to boot systems via other loaders like
> PXELinux EFI or Grub 1 (legacy), deploy the required bootloader files
> in the TFTP directory.
>
> Some operating systems use a “shim” loader for SecureBoot (e.g. Red
> Hat Enterprise Linux and clones). To use SecureBoot with an operating
> system that does not use a shim chainloader, make a copy of the signed
> EFI loader named shim.efi or make a symlink in order to do secure
> boot.
> ~~~
>
> Now, initially I've implemented this on Red Hat systems and I haven't
> realized that Red Hat patches Grub2 in order to read configuration
> files according to MAC address. Debian family does not do that, this
> results in only reading grub.cfg which does not work. There is one
> trick you can do in your grub.cfg (this is for Grub2):
>
> regexp --set=1:m1 --set=2:m2 --set=3:m3 --set=4:m4 --set=5:m5
> --set=6:m6
> '^([[:xdigit:]]{1,2})\:([[:xdigit:]]{1,2})\:([[:xdigit:]]{1,2})\:([[:xdigit:]]{1,2})\:([[:xdigit:]]{1,2})\:([[:xdigit:]]{1,2})'
>
>
> "$net_default_mac"
> mac=${m1}-${m2}-${m3}-${m4}-${m5}-${m6}
> configfile=/grub2/grub.cfg-01-$mac
> source "$configfile"
>
> We have recently patched our installer to set this for you by default
> if you are on non-redhat system so starting from 1.15 this should be
> in.
>
> Second option is to use foreman-bootloaders package which we plan to
> provide in our repositories which ships builds from RHEL and Fedora.
> This way you will have all bootloaders installed no matter if you are
> on older or newer OS. Note it does not ship PXELinux EFI yet as there
> is no stable release yet. We will add this later.
>
> For more details read this chapter:
> https://theforeman.org/manuals/1.15/index.html#4.4.3ProvisioningTemplates
> and feel free to improve our docs if you think it's not clear. E.g.
> the info about non-redhats would be nice to have there.
>
> On Sat, Jun 17, 2017 at 5:12 PM, Stanisław Jakiel
> <[email protected] <javascript:>> wrote:
> > Hello,
> >
> > I've read some posts/issues about UEFI support for foreman:
> > - https://github.com/theforeman/foreman-bootloaders
> > - https://github.com/theforeman/community-templates/pull/346
> > - https://github.com/theforeman/puppet-foreman_proxy/pull/324
> > - http://projects.theforeman.org/issues/16654
> >
> > and to be honest I've no idea what is the status for PXEbooting Debian
> OSes
> >
> > First of all how to configure UEFI in foreman GUI?
> > - the OS is supposed to have PXEGrub2 template set or not?
> > - what is the meaning of PXE Loader dropdown in host creation screen?
> why
> > PXELinux UEFI doesn't require grub template but grub(2) uefi does?
> > - as I'm using dnsmasq (DHCPProxy) I assume those two aforementioned
> > options doesn't have any effect on me? I should handle dhcp config
> myself?
> >
> > For now lets assume I've configured it properly...
> > My issue is following:
> >
> > The latest foreman comes with some grub2/grubx64.efi file and generates
> the
> > grub2/grub.cfg-01-aa-bb-cc-dd-ee-ff which seems to be ok (for debian
> 8/9)
> > The grub2/grubx64.efi filename is served properly by dnsmasq (ver. 2.67
> > which is supposed to support UEFI)
> >
> > But when I use e.g. notebook with UEFI, disable secure boot and enable
> > network boot, all what happens is:
> > - dhcp discover is sent, offers (one from DHCP server one from
> proxydhcp)
> > is sent
> > - notebook hangs for like a 2 minutes and grub 2 shell appears...
> > - in wireshark I see only tftp grubx64.efi download, no requests for
> > grub.cfg-01-aa-bb... config file
> >
> > I've seen some info about debian bootloader not downloading config file
> but
> > I've used the stock one that comes with foreman (which
> > I believe should download grub.cfg file)
> >
> > How do I get UEFI boot to work?
> > How do I even debug it?
> > Do I understand correctly that grubx64.efi file should contain
> bootloader
> > that will download it's config file, (maybe) display some menu and start
> > automated installation?
> > If so, why I don't see any requests for grub.cfg-01-mac file?
> >
> > Thank you in advance
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups
> > "Foreman users" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an
> > email to [email protected] <javascript:>.
> > To post to this group, send email to [email protected]
> <javascript:>.
> > Visit this group at https://groups.google.com/group/foreman-users.
> > For more options, visit https://groups.google.com/d/optout.
>
>
>
> --
> Later,
> Lukas @lzap Zapletal
>
--
You received this message because you are subscribed to the Google Groups
"Foreman users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
To post to this group, send email to [email protected].
Visit this group at https://groups.google.com/group/foreman-users.
For more options, visit https://groups.google.com/d/optout.