From 4ce4fc501035a8ef461e10d5f3df6ea3a63c7572 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic <dannym@scratchpost.org> Date: Fri, 15 Jun 2018 09:52:42 +0200 Subject: system: Add os-with-u-boot. * gnu/system/install.scm (os-with-u-boot): New procedure. * gnu/packages/bootloaders.scm (make-u-boot-package): Export. * doc/guix.texi (Building the Installation Image for ARM Boards): New subsection. --- gnu/packages/bootloaders.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/bootloaders.scm') diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index a86c73731e..c58fe07423 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -439,7 +439,7 @@ (define-public u-boot-tools also initializes the boards (RAM etc). This package provides its board-independent tools."))) -(define (make-u-boot-package board triplet) +(define-public (make-u-boot-package board triplet) "Returns a u-boot package for BOARD cross-compiled for TRIPLET." (let ((same-arch? (if (string-prefix? (%current-system) (gnu-triplet->nix-system triplet)) -- cgit v1.2.3 From a7c8716928a240ba2c36d360e4ffeb447671fa6b Mon Sep 17 00:00:00 2001 From: Mark H Weaver <mhw@netris.org> Date: Fri, 15 Jun 2018 13:48:51 +0200 Subject: gnu: grub: Fix build on i686. MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Fixes <https://bugs.gnu.org/31380>. * gnu/packages/bootloaders.scm (grub)[native-inputs]: Add "ld-wrapper" and "binutils". Co-authored-by: Ludovic Courtès <ludo@gnu.org> --- gnu/packages/bootloaders.scm | 21 +++++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) (limited to 'gnu/packages/bootloaders.scm') diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index c58fe07423..eb1e433ba7 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -1,5 +1,5 @@ ;;; GNU Guix --- Functional package management for GNU -;;; Copyright © 2013, 2014, 2015, 2016, 2017 Ludovic Courtès <ludo@gnu.org> +;;; Copyright © 2013, 2014, 2015, 2016, 2017, 2018 Ludovic Courtès <ludo@gnu.org> ;;; Copyright © 2015, 2018 Mark H Weaver <mhw@netris.org> ;;; Copyright © 2015 Leo Famulari <leo@famulari.name> ;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org> @@ -61,7 +61,8 @@ (define-module (gnu packages bootloaders) #:use-module (guix packages) #:use-module (guix utils) #:use-module (srfi srfi-1) - #:use-module (srfi srfi-26)) + #:use-module (srfi srfi-26) + #:use-module (ice-9 regex)) (define unifont ;; GNU Unifont, <http://gnu.org/s/unifont>. @@ -144,6 +145,22 @@ (define-public grub ("texinfo" ,texinfo) ("help2man" ,help2man) + ;; XXX: When building GRUB 2.02 on 32-bit x86, we need a binutils + ;; capable of assembling 64-bit instructions. However, our default + ;; binutils on 32-bit x86 is not 64-bit capable. + ,@(if (string-match "^i[3456]86-" (%current-system)) + (let ((binutils (package/inherit + binutils + (name "binutils-i386") + (arguments + (substitute-keyword-arguments (package-arguments binutils) + ((#:configure-flags flags ''()) + `(cons "--enable-64-bit-bfd" ,flags))))))) + `(("ld-wrapper" ,(make-ld-wrapper "ld-wrapper-i386" + #:binutils binutils)) + ("binutils" ,binutils))) + '()) + ;; Dependencies for the test suite. The "real" QEMU is needed here, ;; because several targets are used. ("parted" ,parted) -- cgit v1.2.3 From bdd235b30bd8502b6b2241dde0f956d0b50e4572 Mon Sep 17 00:00:00 2001 From: Danny Milosavljevic <dannym@scratchpost.org> Date: Fri, 22 Jun 2018 23:40:54 +0200 Subject: gnu: make-u-boot-package: Improve error handling. * gnu/packages/bootloaders.scm (make-u-boot-package): Improve error handling. --- gnu/packages/bootloaders.scm | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'gnu/packages/bootloaders.scm') diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm index eb1e433ba7..6e4e021180 100644 --- a/gnu/packages/bootloaders.scm +++ b/gnu/packages/bootloaders.scm @@ -500,7 +500,7 @@ (define-public (make-u-boot-package board triplet) (string-drop-right file-name suffix-len)))) (sort entries string-ci<))) - #f))))) + (error "Invalid boardname ~s." ,board)))))) (replace 'install (lambda* (#:key outputs #:allow-other-keys) (let* ((out (assoc-ref outputs "out")) -- cgit v1.2.3