[Bug 1787630] Re: [FFe] Include HTTP support in pre-build GRUB module

Blake Rouse blake.rouse at canonical.com
Thu Mar 28 19:21:52 UTC 2019


I have verified that the proposed package in cosmic works as expected. I
performed the following steps with MAAS.

0) Provide kernel and initrd on an HTTP server on the network.
1) Boot from the network in UEFI mode using grub's grubnet<arch>.efi binary.
2) Provided the following config:

linuxefi http://<ip of http server>/<path to kernel> <kernel command-line parameters>
initrdefi http://<ip of http server>/<path to initrd>
boot

Grub successfully loaded the kernel and initrd from the HTTP server and
booted the kernel with attached initrd.

** Tags removed: verification-needed verification-needed-cosmic
** Tags added: verification-done verification-done-cosmic

-- 
You received this bug notification because you are a member of Ubuntu
Foundations Bugs, which is subscribed to grub2-signed in Ubuntu.
https://bugs.launchpad.net/bugs/1787630

Title:
  [FFe] Include HTTP support in pre-build GRUB module

Status in grub2 package in Ubuntu:
  Fix Released
Status in grub2-signed package in Ubuntu:
  Fix Released
Status in grub2 source package in Bionic:
  Fix Committed
Status in grub2-signed source package in Bionic:
  Fix Committed
Status in grub2 source package in Cosmic:
  Fix Committed

Bug description:
  [Impact]
  Required for MAAS to use HTTP transport to provide files for grub2.

  [Test case]
  0) Provide kernel and initrd on an HTTP server on the network.
  1) Boot from the network in UEFI mode using grub's grubnet<arch>.efi binary.
  2) Run the following commands:

   linuxefi http://<ip of http server>/<path to kernel>  <kernel command-line parameters>
   initrdefi http://<ip of http server>/<path to initrd>
   boot

  Verify that the system is able to correctly retrieve the kernel and
  initrd files from the HTTP server, and that the system boots normally.

  [Regression potential]
  None. This makes an additional module available for use in the grubnet<arch>.efi pre-built and signed UEFI binaries for grub; it does not otherwise affect other pre-built UEFI images, does not change grub code, and is not used unless explicitly configured to do so by a custom grub configuration file (not in use by default).

  ---

  [Description]
  Grub supports booting files over the network via both FTP/HTTP. However, the Ubuntu package is not built with the grub HTTP modules. Enabling this would allow grub to obtain files over HTTP (such as initrd/kernel).

  [Rationale]
  Enabling HTTP support for Grub would allow MAAS to use such functionality to boot files over the network with HTTP. This allows for improvement performance (vs using ftp) and for better security.

  MAAS would use this to download kernel and initrd over HTTP instead of
  FTP at first for performance improvements.

  [Original bug report]

  GRUB has builtin support for HTTP via http.mod. This module is not
  being included in the prebuild grubnetx64.efi. All that should be
  required is adding the http module. I also suggest building
  grubnetx64.efi using GRUB modules to include lvm and RAID support this
  will allow grubnetx64.efi to local boot in all situations.

  --- build-efi-images	2018-08-17 10:50:35.124311043 -0700
  +++ build-efi-images.new	2018-08-17 10:50:59.270661126 -0700
  @@ -148,8 +148,9 @@
    raid5rec
    raid6rec
    "
  -NET_MODULES="$CD_MODULES
  +NET_MODULES="$GRUB_MODULES
    tftp
  +	http
    "

   "$grub_mkimage" -O "$platform" -o "$outdir/gcd$efi_name.efi" \

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/grub2/+bug/1787630/+subscriptions



More information about the foundations-bugs mailing list