public inbox for linux-kernel@vger.kernel.org
 help / color / mirror / Atom feed
* Proposal: EFI boot stub configuration file
@ 2012-03-16 21:25 Shea Levy
  2012-03-16 21:28 ` H. Peter Anvin
  2012-03-16 21:32 ` Shea Levy
  0 siblings, 2 replies; 4+ messages in thread
From: Shea Levy @ 2012-03-16 21:25 UTC (permalink / raw)
  To: linux-kernel; +Cc: matt.fleming, H. Peter Anvin

Hello,

In some EFI boot environments (e.g. booting from an external medium or 
non-standard systems where tools like efibootmgr don't work), it is 
currently impossible to pass the right arguments to the kernel unless an 
EFI shell is launched. To ameliorate this, I propose that if 
image->load_options_size is 0 (indicating no arguments were passed) AND 
image->parent_handle is NULL (indicating that the image was loaded 
automatically by the firmware), then the kernel looks for a file in some 
fixed, possibly configurable place (e.g. \efi\linux\params), sets 
image->load_options_size to its size, and sets image->load_options to 
its contents. On any error whatsoever (finding the file, reading it, 
getting its size, whatever), any allocated memory would be freed and 
load_options_size would be set back to 0. Since the arguments are 
already converted to ASCII and parsed during the boot process, the file 
would be expected to be in UCS-2 format and no validation would be done 
in the configuration loading code. I'll write something up over the next 
week or so and submit it as an RFC patch series, but I thought I'd post 
this here first in case anyone has immediate feedback based on this 
description.

Cheers,
Shea Levy

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2012-03-16 21:36 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2012-03-16 21:25 Proposal: EFI boot stub configuration file Shea Levy
2012-03-16 21:28 ` H. Peter Anvin
2012-03-16 21:36   ` Shea Levy
2012-03-16 21:32 ` Shea Levy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox