1. 07 Mar, 2018 1 commit
    • Eric Snowberg's avatar
      mkimage: fix build regression in grub_mkimage_load_image · 28b0d190
      Eric Snowberg authored
      The grub_mkimage_load_image function (commit 7542af69, mkimage: refactor a bunch
      of section data into a struct.) introduces a build regression on SPARC:
      
        cc1: warnings being treated as errors
        In file included from util/grub-mkimage32.c:23:
        util/grub-mkimagexx.c: In function 'grub_mkimage_load_image32':
        util/grub-mkimagexx.c:1968: error: missing initializer
        util/grub-mkimagexx.c:1968: error: (near initialization for 'smd.sections')
        make[2]: *** [util/grub_mkimage-grub-mkimage32.o] Error 1
      
      Initialize the entire section_metadata structure.
      Signed-off-by: default avatarEric Snowberg <eric.snowberg@oracle.com>
      Reviewed-by: default avatarDaniel Kiper <daniel.kiper@oracle.com>
      28b0d190
  2. 05 Mar, 2018 17 commits
  3. 26 Feb, 2018 1 commit
  4. 23 Feb, 2018 12 commits
  5. 14 Feb, 2018 3 commits
    • Steve McIntyre's avatar
      Make grub-install check for errors from efibootmgr · 6400613a
      Steve McIntyre authored
      Code is currently ignoring errors from efibootmgr, giving users
      clearly bogus output like:
      
              Setting up grub-efi-amd64 (2.02~beta3-4) ...
              Installing for x86_64-efi platform.
              Could not delete variable: No space left on device
              Could not prepare Boot variable: No space left on device
              Installation finished. No error reported.
      
      and then potentially unbootable systems. If efibootmgr fails, grub-install
      should know that and report it!
      
      We've been using similar patch in Debian now for some time, with no ill effects.
      Signed-off-by: default avatarSteve McIntyre <93sam@debian.org>
      Reviewed-by: default avatarDaniel Kiper <daniel.kiper@oracle.com>
      6400613a
    • Eric Snowberg's avatar
      sparc64: fix OF path names for sun4v systems · d85c76b5
      Eric Snowberg authored
      Fix the Open Firmware (OF) path property for sun4v SPARC systems.
      These platforms do not have a /sas/ within their path. Over time
      different OF addressing schemes have been supported. There
      is no generic addressing scheme that works across every HBA.
      
      It looks that this functionality will not work if you try to cross-install
      SPARC GRUB2 binary using e.g. x86 grub-install. By default it should work.
      However, we will also have other issues here, like lack of access to OF
      firmware/paths, which make such configs unusable anyway. So, let's leave
      this patch as is for time being. If somebody cares then he/she should fix
      the issue(s) at some point.
      Signed-off-by: default avatarEric Snowberg <eric.snowberg@oracle.com>
      Signed-off-by: default avatarDaniel Kiper <daniel.kiper@oracle.com>
      Reviewed-by: default avatarDaniel Kiper <daniel.kiper@oracle.com>
      d85c76b5
    • Eric Snowberg's avatar
      sparc64: Add blocklist GPT support for SPARC · 69e0a67b
      Eric Snowberg authored
      Add block-list GPT support for SPARC.  The OBP "load" and "boot" methods
      are partition aware and neither command can see the partition table. Also
      neither command can address the entire physical disk. When the install
      happens, grub generates the block-list entries based on the beginning of the
      physical disk, not the beginning of the partition. This patch fixes the
      block-list entries so they match what OBP expects during boot for a GPT disk.
      
      T5 and above now supports GPT as well as VTOC.
      
      This patch has been tested on T5-2 and newer SPARC systems.
      Signed-off-by: default avatarEric Snowberg <eric.snowberg@oracle.com>
      Reviewed-by: default avatarDaniel Kiper <daniel.kiper@oracle.com>
      69e0a67b
  6. 29 Jan, 2018 2 commits
    • Stefan Fritsch's avatar
      ahci: Improve error handling · 566a03a6
      Stefan Fritsch authored
      Check the error bits in the interrupt status register. According to the
      AHCI 1.2 spec, "Interrupt sources that are disabled (‘0’) are still
      reflected in the status registers.", so this should work even though
      grub uses polling
      
      This fixes the following problem on a Fujitsu E744 laptop:
      
      Sometimes there is a very long delay (up to several minutes) when
      booting from hard disk. It seems accessing the DVD drive (which has no
      disk inserted) sometimes fails with some errors, which leads to each
      access being stalled until the 20s timeout triggers. This seems to
      happen when grub is trying to read filesystem/partition data.
      
      The problem is that the command_issue bit that is checked in the loop is
      only reset if the "HBA receives a FIS which clears the BSY, DRQ, and ERR
      bits for the command", but the ERR bit is never cleared. Therefore
      command_issue is never reset and grub waits for the timeout.
      
      The relevant bit in our case is the Task File Error Status (TFES), which
      is equivalent to the ERR bit 0 in tfd. But this patch also checks
      the other error bits except for the "Interface non-fatal error status"
      bit.
      Signed-off-by: default avatarStefan Fritsch <fritsch@genua.de>
      Reviewed-by: default avatarDaniel Kiper <daniel.kiper@oracle.com>
      566a03a6
    • dann frazier's avatar
      Keep the native terminal active when enabling gfxterm · 52ef7b23
      dann frazier authored
      grub-mkconfig will set GRUB_TERMINAL_OUTPUT to "gfxterm" unless the user
      has overridden it. On EFI systems, this will stop output from going to the
      default "console" terminal. When the EFI fw console is configured to output to
      both serial and video, this will cause GRUB to only display on video - while
      continuing to accept input from both video and serial.
      
      Instead of switching from "console" to "gfxterm", let's output to both.
      Reviewed-by: default avatarDaniel Kiper <daniel.kiper@oracle.com>
      52ef7b23
  7. 06 Dec, 2017 3 commits
  8. 28 Nov, 2017 1 commit