Initial commit of EXTLINUX (with menu) support
> This adds EXTLINUX, part of the SYSLINUX family of bootloaders, support to grubby. This is a merging of the cli and the menu versions of EXTLINUX
> This adds:
> --extlinuxmenu - Switch to define that you want to work on EXTLINUX and have it use a pretty menu interface (for the SYSLINUX crowd this is hard coded to vesamenu.c32 as this provides the most flexibility in general and keeps things simple - K.I.S.S.)
> - Adds the neccisary structures to deal with EXTLINUX w/ menus (struct keywordTypes extlinuxmenuKeywords, and struct configFileInfo extlinuxmenuConfigType)
> - Sadly not a small amount of other code to handle the oddities of EXTLINUX vs. other boot loaders
> - EXTLINUX's menu interface defines the 'default' image based on a completely different symantec than EXTLINUX itself. In fact both symantecs are needed. The 'normal' cli based default is defined to load the menuing module, which then re-reads the config and that parses the menu's default. This 'menu default' is stored within the entry itself, not in a central location.
> - EXTLINUX's menu interface uses the prefix 'menu' to determine that it should parse the option keyword. I.E.
> menu label string value
> is actually keyword 'menu' and sub-keyword 'label' with the value 'string value'
> Note: 'menu label' is allowed spaces, as it isn't parsed by anything other than menu. 'label' is required to not have spaces (thus some of the code in the normal EXTLINUX patch that removes them.)
> Note: SYSLINUX in general and by default puts the initrd into the append line and does *not* treat it as a special option. Adding this support to grubby would be cumbersome at best. SYSLINUX however has added an initrd keyword that was introduced and deprecated in the same commit. This keyword is intended only for things like grubby which do not understand this syntax. This does mean that grubby will not understand, correctly, initrd's added to the append line if a user hand-edit's their extlinux.conf file.
> Signed-off-by: John 'Warthog9' Hawley <firstname.lastname@example.org>
> grubby/grubby.c | 171 ++++++++++++++++++++++++++++++++++++++++++++++++++ ++--
> 1 files changed, 164 insertions(+), 7 deletions(-)
I don't see a problem adding these patches to grubby, but someone else
with grubby access needs to commit them.
David Cantrell <email@example.com>
Red Hat / Honolulu, HI
Anaconda-devel-list mailing list