Foreman bootloaders effort

Hello,

I created a script that is able to extract relevant bootloaders from
Fedora, CentOS and RHEL OSes. Here is how it looks like:

https://lzap.fedorapeople.org/temp/foreman-bootloaders/

The goal is to provide RPM and DEB packages for all our supported platforms
so users can easily decide which bootloaders they want to use. The source
distribution is part of the package name for this reason, but all package
will install into TFTP directory so they will conflict each other (only one
can be installed at a time). Versioning scheme is based on date.

Please take a look, download the bootloaders from this scratch site and
feel free to test them. I would like to add also Debian/Ubuntu bootloaders,
let me know if anyone is interested in testing them.

Can someone create new git repository under theforeman.org? I suggest
foreman-bootloaders.

Contents of README.md now follows:

Foreman PXE bootloaders

This repository contains distribution packages and scripts to generate
tarball
containing Grub and Grub2 bootloaders for PXE/BOOTP use on TFTP Foreman
Proxy.
The bootloader binaries are downloaded from various distributions unchanged:

  • Fedora 20+
  • CentOS 6, 7
  • RHEL 6, 7 (own RPM files must be provided)

Shipped bootloaders

  • grub2/grubaa64.efi - Grub2 bootloader for ARM64
  • grub2/grubx64.efi - Grub2 bootloader for x86-64
  • grub2/grubppc64.elf - Grub2 bootloader for PPC64
  • grub2/grubppc64le.elf - Grub2 bootloader for PPC64LE
  • grub2/grubppc64.efi - symlink to ELF (*)
  • grub2/grubppc64le.efi - symlink to ELF (*)
  • grub2/shim.efi - SHIM SecureBoot loader (only on x86-64 Red Hat systems)
  • grub/bootx64.efi - Grub bootloader for x86-64
  • grub/bootia32.efi - Grub bootloader for i386

(*) - this is a workaround for Foreman 1.13 (will be removed in the future)

Usage

Foreman users can install provided distribution package called
foreman-bootloaders directly from Foreman repositories. If you are using
older version, or not using Foreman at all, generate and deploy tarball from
this repository.

Clone this repository and use the following script to generate for
particular distribution:

./extract.sh centos
tftpboot/
tftpboot/grub2/
tftpboot/grub2/grubaa64.efi
tftpboot/grub2/grubx64.efi
tftpboot/grub2/grubppc64.elf
tftpboot/grub2/grubppc64le.elf
tftpboot/grub2/grubppc64.efi
tftpboot/grub2/grubppc64le.efi
tftpboot/grub2/shim.efi
tftpboot/grub/
tftpboot/grub/bootx64.efi
tftpboot/grub/bootia32.efi
Created foreman-bootloaders-centos-201611151303.tar.bz2
··· -- Later, Lukas @lzap Zapletal

Thanks, this is very helpful and should probably be delivered with
Foreman itself. As far as I know you'd need to overwrite the bootloaders
if you change to Debian-family OSs (rendering provisioning with RH
family broken). If that issue could be solved I think it'd make sense to
install this package along the TFTP smart proxy

How could that work so that we don't have to overwrite the bootloaders
every time we want to provision a host of a different OS family?

··· On 11/15, Lukas Zapletal wrote: > Hello, > > I created a script that is able to extract relevant bootloaders from > Fedora, CentOS and RHEL OSes. Here is how it looks like: > > https://lzap.fedorapeople.org/temp/foreman-bootloaders/ > > The goal is to provide RPM and DEB packages for all our supported platforms > so users can easily decide which bootloaders they want to use. The source > distribution is part of the package name for this reason, but all package > will install into TFTP directory so they will conflict each other (only one > can be installed at a time). Versioning scheme is based on date. > > Please take a look, download the bootloaders from this scratch site and > feel free to test them. I would like to add also Debian/Ubuntu bootloaders, > let me know if anyone is interested in testing them.


Daniel Lobato Garcia

@dLobatog
blog.daniellobato.me
daniellobato.me

GPG: http://keys.gnupg.net/pks/lookup?op=get&search=0x7A92D6DD38D6DE30
Keybase: https://keybase.io/elobato

Can you elaborate on the error you see? I don't understand how PXE loader
can change behavior of kernel command line, it's being rendered by
provision templates, therefore for Debian family you simply associate the
correct template and this should work with Grub2 from Fedora or CentOS.

··· On Wed, Nov 16, 2016 at 2:02 PM, Daniel Lobato Garcia wrote:

Thanks, this is very helpful and should probably be delivered with
Foreman itself. As far as I know you’d need to overwrite the bootloaders
if you change to Debian-family OSs (rendering provisioning with RH
family broken). If that issue could be solved I think it’d make sense to
install this package along the TFTP smart proxy

How could that work so that we don’t have to overwrite the bootloaders
every time we want to provision a host of a different OS family?


Later,
Lukas @lzap Zapletal

Any other opinions? Are folks fine with my proposal? I am not going to do
RFE for this one, it's small thing.

LZ

··· On Wed, Nov 16, 2016 at 3:00 PM, Lukas Zapletal wrote:

On Wed, Nov 16, 2016 at 2:02 PM, Daniel Lobato Garcia <elobatocs@gmail.com > > wrote:

Thanks, this is very helpful and should probably be delivered with
Foreman itself. As far as I know you’d need to overwrite the bootloaders
if you change to Debian-family OSs (rendering provisioning with RH
family broken). If that issue could be solved I think it’d make sense to
install this package along the TFTP smart proxy

How could that work so that we don’t have to overwrite the bootloaders
every time we want to provision a host of a different OS family?

Can you elaborate on the error you see? I don’t understand how PXE loader
can change behavior of kernel command line, it’s being rendered by
provision templates, therefore for Debian family you simply associate the
correct template and this should work with Grub2 from Fedora or CentOS.


Later,
Lukas @lzap Zapletal


Later,
Lukas @lzap Zapletal

All right, I hereby ask creating new repository foreman-bootloaders under
theforeman organization. Since 1.14 is almost done, I would like to have
first nightly builds available so users can start testing this.

··· On Wed, Nov 23, 2016 at 2:13 PM, Lukas Zapletal wrote:

Any other opinions? Are folks fine with my proposal? I am not going to do
RFE for this one, it’s small thing.

LZ

On Wed, Nov 16, 2016 at 3:00 PM, Lukas Zapletal lzap@redhat.com wrote:

On Wed, Nov 16, 2016 at 2:02 PM, Daniel Lobato Garcia < >> elobatocs@gmail.com> wrote:

Thanks, this is very helpful and should probably be delivered with
Foreman itself. As far as I know you’d need to overwrite the bootloaders
if you change to Debian-family OSs (rendering provisioning with RH
family broken). If that issue could be solved I think it’d make sense to
install this package along the TFTP smart proxy

How could that work so that we don’t have to overwrite the bootloaders
every time we want to provision a host of a different OS family?

Can you elaborate on the error you see? I don’t understand how PXE loader
can change behavior of kernel command line, it’s being rendered by
provision templates, therefore for Debian family you simply associate the
correct template and this should work with Grub2 from Fedora or CentOS.


Later,
Lukas @lzap Zapletal


Later,
Lukas @lzap Zapletal


Later,
Lukas @lzap Zapletal

> All right, I hereby ask creating new repository foreman-bootloaders under
> theforeman organization. Since 1.14 is almost done, I would like to have
> first nightly builds available so users can start testing this.
>

I've created https://github.com/theforeman/foreman-bootloaders and you
(Lukas) should have full rights to it.

Happy booting :slight_smile:
Ohad

··· On Tue, Jan 3, 2017 at 9:47 AM, Lukas Zapletal wrote:

On Wed, Nov 23, 2016 at 2:13 PM, Lukas Zapletal lzap@redhat.com wrote:

Any other opinions? Are folks fine with my proposal? I am not going to do
RFE for this one, it’s small thing.

LZ

On Wed, Nov 16, 2016 at 3:00 PM, Lukas Zapletal lzap@redhat.com wrote:

On Wed, Nov 16, 2016 at 2:02 PM, Daniel Lobato Garcia < >>> elobatocs@gmail.com> wrote:

Thanks, this is very helpful and should probably be delivered with
Foreman itself. As far as I know you’d need to overwrite the bootloaders
if you change to Debian-family OSs (rendering provisioning with RH
family broken). If that issue could be solved I think it’d make sense to
install this package along the TFTP smart proxy

How could that work so that we don’t have to overwrite the bootloaders
every time we want to provision a host of a different OS family?

Can you elaborate on the error you see? I don’t understand how PXE
loader can change behavior of kernel command line, it’s being rendered by
provision templates, therefore for Debian family you simply associate the
correct template and this should work with Grub2 from Fedora or CentOS.


Later,
Lukas @lzap Zapletal


Later,
Lukas @lzap Zapletal


Later,
Lukas @lzap Zapletal


You received this message because you are subscribed to the Google Groups
"foreman-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an
email to foreman-dev+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.