1. 14 Aug, 2017 9 commits
  2. 07 Aug, 2017 13 commits
    • Pete Batard's avatar
      io: add a GRUB_GZ prefix to gzio specific defines · 1deebd85
      Pete Batard authored
      * This is done to avoid a conflict with a PACKED define in the EDK2
      1deebd85
    • Pete Batard's avatar
      core: use GRUB_TERM_ definitions when handling term characters · bdd89d23
      Pete Batard authored
      * Also use hex value for GRUB_TERM_ESC as '\e' is not in the C standard and is not understood by some compilers
      bdd89d23
    • Leif Lindholm's avatar
      efi: change heap allocation type to GRUB_EFI_LOADER_CODE · f8263306
      Leif Lindholm authored
      With upcoming changes to EDK2, allocations of type EFI_LOADER_DATA may
      not return regions with execute ability. Since modules are loaded onto
      the heap, change the heap allocation type to GRUB_EFI_LOADER_CODE in
      order to permit execution on systems with this feature enabled.
      
      Closes: 50420
      Signed-off-by: default avatarLeif Lindholm <leif.lindholm@linaro.org>
      f8263306
    • Leif Lindholm's avatar
      arm64 linux loader: improve type portability · 91212e0a
      Leif Lindholm authored
      In preparation for turning this into a common loader for 32-bit and 64-bit
      platforms, ensure the code will compile cleanly for either.
      Signed-off-by: default avatarLeif Lindholm <leif.lindholm@linaro.org>
      91212e0a
    • Leif Lindholm's avatar
      efi: Add GRUB_PE32_MAGIC definition · c5841ba7
      Leif Lindholm authored
      Add a generic GRUB_PE32_MAGIC definition for the PE 'MZ' tag and delete
      the existing one in arm64/linux.h.
      
      Update arm64 Linux loader to use this new definition.
      Signed-off-by: default avatarLeif Lindholm <leif.lindholm@linaro.org>
      c5841ba7
    • Leif Lindholm's avatar
      efi: move fdt helper library · 8c9465fa
      Leif Lindholm authored
      There is nothing ARM64 (or even ARM) specific about the efi fdt helper
      library, which is used for locating or overriding a firmware-provided
      devicetree in a UEFI system - so move it to loader/efi for reuse.
      
      Move the fdtload.h include file to grub/efi and update path to
      efi/fdtload.h in source code referring to it.
      Signed-off-by: default avatarLeif Lindholm <leif.lindholm@linaro.org>
      8c9465fa
    • Vladimir Serbinenko's avatar
      Remove grub_efi_allocate_pages. · 4bc909bf
      Vladimir Serbinenko authored
      grub_efi_allocate_pages Essentially does 2 unrelated things:
      * Allocate at fixed address.
      * Allocate at any address.
      
      To switch between 2 different functions it uses address == 0 as magic
      value which is wrong as 0 is a perfectly valid fixed adress to allocate at.
      4bc909bf
    • Leif Lindholm's avatar
      efi: refactor grub_efi_allocate_pages · dd5fde2d
      Leif Lindholm authored
      Expose a new function, grub_efi_allocate_pages_real(), making it possible
      to specify allocation type and memory type as supported by the UEFI
      AllocatePages boot service.
      
      Make grub_efi_allocate_pages() a consumer of the new function,
      maintaining its old functionality.
      
      Also delete some left-around #if 1/#else blocks in the affected
      functions.
      Signed-off-by: default avatarLeif Lindholm <leif.lindholm@linaro.org>
      dd5fde2d
    • Vladimir Serbinenko's avatar
      Fail if xorriso failed. · e66dc5d7
      Vladimir Serbinenko authored
      If xorriso failed most likely we didn't generate a meaningful image.
      e66dc5d7
    • Vladimir Serbinenko's avatar
      mkrescue: Check xorriso presence before doing anything else. · 9e962fd3
      Vladimir Serbinenko authored
      mkrescue can't do anything useful without xorriso, so abort early if it's
      not available.
      9e962fd3
    • Pali Rohár's avatar
      * grub-core/fs/udf.c: Add support for UUID · 435fa75e
      Pali Rohár authored
      Use same algorithm as in libblkid from util-linux v2.30.
      
      1. Take first 16 bytes from UTF-8 encoded string of VolumeSetIdentifier
      2. If all bytes are hexadecimal digits, convert to lowercase and use as UUID
      3. If first 8 bytes are not all hexadecimal digits, convert those 8 bytes
         to their hexadecimal representation, resulting in 16 bytes for UUID
      4. Otherwise, compose UUID from two parts:
         1. part: converted first 8 bytes (which are hexadecimal digits) to lowercase
         2. part: encoded following 4 bytes to their hexadecimal representation (16 bytes)
      
      So UUID would always have 16 hexadecimal digits in lowercase variant.
      
      According to UDF specification, first 16 Unicode characters of
      VolumeSetIdentifier should be unique value and first 8 should be
      hexadecimal characters.
      
      In most cases all 16 characters are hexadecimal, but e.g. MS Windows
      format.exe set only first 8 as hexadecimal and remaining as fixed
      (non-unique) which violates specification.
      435fa75e
    • Pali Rohár's avatar
      udf: Fix reading label, lvd.ident is dstring · 76188809
      Pali Rohár authored
      UDF dstring has stored length in the last byte of buffer. Therefore last
      byte is not part of recorded characters. And empty string in dstring is
      encoded as empty buffer, including first byte (compression id).
      76188809
    • Pete Batard's avatar
      zfs: remove size_t typedef and use grub_size_t instead · fa427862
      Pete Batard authored
      * Prevents some toolchains from issuing a warning on size_t redef.
      fa427862
  3. 03 Aug, 2017 1 commit
  4. 09 Jul, 2017 6 commits
  5. 29 Jun, 2017 1 commit
    • Eric Biggers's avatar
      Allow GRUB to mount ext2/3/4 filesystems that have the encryption feature. · 73466823
      Eric Biggers authored
      On such a filesystem, inodes may have EXT4_ENCRYPT_FLAG set.
      For a regular file, this means its contents are encrypted; for a
      directory, this means the filenames in its directory entries are
      encrypted; and for a symlink, this means its target is encrypted.  Since
      GRUB cannot decrypt encrypted contents or filenames, just issue an error
      if it would need to do so.  This is sufficient to allow unencrypted boot
      files to co-exist with encrypted files elsewhere on the filesystem.
      
      (Note that encrypted regular files and symlinks will not normally be
      encountered outside an encrypted directory; however, it's possible via
      hard links, so they still need to be handled.)
      
      Tested by booting from an ext4 /boot partition on which I had run
      'tune2fs -O encrypt'.  I also verified that the expected error messages
      are printed when trying to access encrypted directories, files, and
      symlinks from the GRUB command line.  Also ran 'sudo ./grub-fs-tester
      ext4_encrypt'; note that this requires e2fsprogs v1.43+ and Linux v4.1+.
      Signed-off-by: default avatarEric Biggers <ebiggers@google.com>
      73466823
  6. 29 May, 2017 1 commit
    • Eric Snowberg's avatar
      sparc64: Don't use devspec to determine the OBP path · f8679ced
      Eric Snowberg authored
      Don't use devspec to determine the OBP path on SPARC hardware.  Within all
      versions of Linux on SPARC, the devspec returns one of three values:
      "none", "vnet-port", or "vdisk".  Unlike on PPC, none of these values
      are useful in determining the OBP path.
      
      Before this patch grub-ofpathname always returned the wrong value
      for a virtual disk. For example:
      
      % grub-ofpathname /dev/vdiskc2
      vdisk/disk@2:b
      
      After this patch it now returns the correct value:
      
      % grub-ofpathname /dev/vdiskc2
      /virtual-devices@100/channel-devices@200/disk@2:b
      
      Orabug: 24459765
      Signed-off-by: default avatarEric Snowberg <eric.snowberg@oracle.com>
      Reviewed-by: default avatarDaniel Kiper <daniel.kiper@oracle.com>
      f8679ced
  7. 18 May, 2017 5 commits
  8. 09 May, 2017 4 commits