aboutsummaryrefslogtreecommitdiff
;;; GNU Guix --- Functional package management for GNU
;;; Copyright © 2014, 2015, 2018, 2019 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2017 Leo Famulari <leo@famulari.name>
;;;
;;; This file is part of GNU Guix.
;;;
;;; GNU Guix is free software; you can redistribute it and/or modify it
;;; under the terms of the GNU General Public License as published by
;;; the Free Software Foundation; either version 3 of the License, or (at
;;; your option) any later version.
;;;
;;; GNU Guix is distributed in the hope that it will be useful, but
;;; WITHOUT ANY WARRANTY; without even the implied warranty of
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
;;; GNU General Public License for more details.
;;;
;;; You should have received a copy of the GNU General Public License
;;; along with GNU Guix.  If not, see <http://www.gnu.org/licenses/>.

(define-module (gnu artwork)
  #:use-module (guix packages)
  #:use-module (guix git-download)
  #:export (%artwork-repository))

;;; Commentary:
;;;
;;; Common place for the definition of the Guix artwork repository.
;;;
;;; Code:

(define %artwork-repository
  (let ((commit "4c7f2ce6428a63e202cd2a9474a06f68a946934d"))
    (origin
      (method git-fetch)
      (uri (git-reference
             (url "https://git.savannah.gnu.org/git/guix/guix-artwork.git")
             (commit commit)))
      (file-name (string-append "guix-artwork-" (string-take commit 7)
                                "-checkout"))
      (sha256
       (base32
        "1rl569759q9wm1dxn7nkq3873d2k92giic7aa6jwzwr3n16prc7y")))))

;;; artwork.scm ends here
eyron-speedy.dtb" #o644) (copy-file #$initrd "initrd") (chmod "initrd" #o644) (invoke (string-append #$u-boot-tools "/bin/mkimage") "-D" "-I dts -O dtb -p 2048" "-f" "auto" "-A" "arm" "-O" "linux" "-T" "kernel" "-C" "None" "-d" "zImage" "-a" "0" "-b" "rk3288-veyron-speedy.dtb" "-i" "initrd" "image.itb") (call-with-output-file "bootloader.bin" (lambda (port) (put-bytevector port (make-bytevector 512 0)))) (with-output-to-file "kernel-arguments" (lambda () (display (string-join (list #$@kernel-arguments))))) (invoke (string-append #$vboot-utils "/bin/vbutil_kernel") "--pack" #$output "--version" "1" "--vmlinuz" "image.itb" "--arch" "arm" "--keyblock" (string-append #$vboot-utils "/share/vboot-utils/devkeys/" "kernel.keyblock") "--signprivate" (string-append #$vboot-utils "/share/vboot-utils/devkeys/" "kernel_data_key.vbprivk") "--config" "kernel-arguments" "--bootloader" "bootloader.bin")))) (computed-file "vmlinux.kpart" builder)) (define* (depthcharge-configuration-file config entries #:key (system (%current-system)) (old-entries '()) #:allow-other-keys) (match entries ((entry) (let ((kernel (menu-entry-linux entry)) (kernel-arguments (menu-entry-linux-arguments entry)) (initrd (menu-entry-initrd entry))) ;; XXX: Make this a symlink. (signed-kernel kernel kernel-arguments initrd))) (_ (error "Too many bootloader menu entries!")))) (define install-depthcharge #~(lambda (bootloader device mount-point) (let ((kpart (string-append mount-point "/boot/depthcharge/vmlinux.kpart"))) (write-file-on-device kpart (stat:size (stat kpart)) device 0)))) (define depthcharge-bootloader (bootloader (name 'depthcharge) (package #f) (installer install-depthcharge) (configuration-file "/boot/depthcharge/vmlinux.kpart") (configuration-file-generator depthcharge-configuration-file)))