Migrate PPC from Yaboot to Grub2

Add configuration support for serial terminal consoles.  This will set the
maximum screen size so that text is not overwritten.
Add fw_path variable (revised)

This patch makes grub look for its config file on efi where the app was
found. It was originally written by Matthew Garrett, and adapted to fix the
"No modules are loaded on grub2 network boot" issue:

https://bugzilla.redhat.com/show_bug.cgi?id=857936
Don't set boot device on ppc-ieee1275

This started with the problem that powerkvm doesn't have /dev/nvram and so
there is no way to set boot-device.
Add support for linuxefi
Add support for crappy cd craparino
Use "linuxefi" and "initrdefi" where appropriate.
Don't allow insmod when secure boot is enabled.

Hi,

Fedora's patch to forbid insmod in UEFI Secure Boot environments is fine
as far as it goes.  However, the insmod command is not the only way that
modules can be loaded.  In particular, the 'normal' command, which
implements the usual GRUB menu and the fully-featured command prompt,
will implicitly load commands not currently loaded into memory.  This
permits trivial Secure Boot violations by writing commands implementing
whatever you want to do and pointing $prefix at the malicious code.

I'm currently test-building this patch (replacing your current
grub-2.00-no-insmod-on-sb.patch), but this should be more correct.  It
moves the check into grub_dl_load_file.
Pass "\x[[:hex:]][[:hex:]]" straight through unmolested.
Fix crash on http

Don't free file->data on receiving FIN flag since it is used all over without
checking. http_close() will be called later to free that memory.
https://bugzilla.redhat.com/show_bug.cgi?id=860834
Issue separate DNS queries for ipv4 and ipv6

Adding multiple questions on a single DNS query is not supportted by
most DNS servers. This patch issues two separate DNS queries
sequentially for ipv4 and then for ipv6.

There are 4 possible config options:
 DNS_OPTION_IPV4: issue only one ipv4 query
 DNS_OPTION_IPV6: issue only one ipv6 query
 DNS_OPTION_PREFER_IPV4: issue the ipv4 query first and fallback to ipv6
 DNS_OPTION_PREFER_IPV6: issue the ipv6 query first and fallback to ipv4
However, there is no code yet to set such config option. The default is
DNS_OPTION_PREFER_IPV4.

Fixes: https://bugzilla.redhat.com/show_bug.cgi?id=860829
IBM client architecture (CAS) reboot support

This is an implementation of IBM client architecture (CAS) reboot for GRUB.

There are cases where the POWER firmware must reboot in order to support
specific features requested by a kernel. The kernel calls
ibm,client-architecture-support and it may either return or reboot with the new
feature set. eg:

Calling ibm,client-architecture-support.../
Elapsed time since release of system processors: 70959 mins 50 secs
Welcome to GRUB!

Instead of return to the GRUB menu, it will check if the flag for CAS reboot is
set. If so, grub will automatically boot the last booted kernel using the same
parameters
Add vlan-tag support

This patch adds support for virtual LAN (VLAN) tagging. VLAN tagging allows
multiple VLANs in a bridged network to share the same physical network link but
maintain isolation:

http://en.wikipedia.org/wiki/IEEE_802.1Q

This patch should fix this bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=871563
Add %X option to printf functions.
DHCP client ID and UUID options added.
Search for specific config file for netboot

This patch implements a search for a specific configuration when the config
file is on a remoteserver. It uses the following order:
   1) DHCP client UUID option.
   2) MAC address (in lower case hexadecimal with dash separators);
   3) IP (in upper case hexadecimal) or IPv6;
   4) The original grub.cfg file.

This procedure is similar to what is used by pxelinux and yaboot:
http://www.syslinux.org/wiki/index.php/PXELINUX#config

This should close the bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=873406
Add bootpath device to the list

When scanning the devices, always check (and add) the bootpath device if it
isn't in the device list.
add GRUB_DISABLE_SUBMENU option

This patch adds the ability to disable the grub2 submenus from
/etc/default/grub

To disable the submenus

echo 'GRUB_DISABLE_SUBMENU="true"' >> /etc/default/grub
blscfg: add blscfg module to parse Boot Loader Specification snippets

http://www.freedesktop.org/wiki/Specifications/BootLoaderSpec

Works like this:

 insmod blscfg
 bls_import

Done! You should now have menu items for your snippets in place.

Signed-off-by: Peter Jones <grub2-owner@fedoraproject.org>
Move bash completion script (#922997)

Apparently these go in a new place now.
for ppc, reset console display attr when clear screen

This should fix this bugzilla:
https://bugzilla.redhat.com/show_bug.cgi?id=908519