grub-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH v7 00/10] Add basic Boot Loader Interface support


From: Daniel Kiper
Subject: Re: [PATCH v7 00/10] Add basic Boot Loader Interface support
Date: Fri, 19 May 2023 16:19:28 +0200
User-agent: NeoMutt/20170113 (1.7.2)

On Wed, May 03, 2023 at 03:50:09PM +0200, Oliver Steffen wrote:
> This is a step towards supporting unified kernel images (UKI) in Grub.
>
> Add a new module named bli.  It implements a small but quite useful part
> of the Boot Loader Interface [0].  This interface uses EFI variables for
> communication between the boot loader and the operating system.
>
> This module sets two EFI variables under the vendor GUID
> 4a67b082-0a4c-41cf-b6c7-440b29bb8c4f:
>
> - LoaderInfo: contains GRUB + <version number>.
>   This allows the running operating system to identify the boot loader
>   used during boot.
>
> - LoaderDevicePartUUID: contains the partition UUID of the
>   EFI System Partition (ESP). This is used by
>   systemd-gpt-auto-generator [1] to find the root partitions (and
>   others too), via partition type IDs [2]. This is especially useful for
>   UKIs, where the kernel command line is fixed and usually does not
>   contain any information about the root partition.
>
> This module is only available on EFI platforms.
>
> This series also unifies the GUID implementations and introduces a
> printf format specifier for them: %pG.

Sadly there are still some problems with this patch set... :-(

First of all please do rebase on latest master because there are some conflicts
due to recently merged LoongArch support.

Please add more missing static keywords to the GUID assignments in the patch 
#2, e.g.:
  @@ -139,12 +139,12 @@ grub_cmd_lssal (struct grub_command *cmd __attribute__ 
((unused)),
     const grub_efi_system_table_t *st = grub_efi_system_table;
     grub_efi_configuration_table_t *t = st->configuration_table;
     unsigned int i;
  -  grub_efi_packed_guid_t guid = GRUB_EFI_SAL_TABLE_GUID;
  +  grub_guid_t guid = GRUB_EFI_SAL_TABLE_GUID;

Please do s/cannot opening/cannot open/ in the patch #8.

The build for arm-linux-gnueabihf target complains:
  arm-linux-gnueabihf-gcc
  kern/misc.c: In function ‘grub_vsnprintf_real’:
  kern/misc.c:1063:28: error: cast to pointer from integer of different size 
[-Werror=int-to-pointer-cast]
          grub_guid_t *guid = (grub_guid_t *) curarg;

I think s/(grub_guid_t *) curarg/(grub_guid_t *)(grub_addr_t) curarg/...
I hope you checked "pG" format specifier prints GUIDs correctly.

And last but not least, sadly you broke documentation build...
  grub.texi:3277: warning: node next `Environment' in menu `Commands' and in 
sectioning `Modules' differ
  grub.texi:3893: warning: unreferenced node `Modules'
  grub.texi:3893: warning: node `Commands' is next for `Modules' in sectioning 
but not in menu
  grub.texi:3893: warning: node `Environment' is prev for `Modules' in 
sectioning but not in menu
  grub.texi:3893: warning: node `Top' is up for `Modules' in sectioning but not 
in menu
  grub.texi:69: node `Top' lacks menu item for `Modules' despite being its Up 
target
  grub.texi:3916: warning: node prev `Commands' in menu `Environment' and in 
sectioning `Modules' differ

Daniel



reply via email to

[Prev in Thread] Current Thread [Next in Thread]