diff options
author | Ludovic Courtès <ludo@gnu.org> | 2018-01-08 23:10:21 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2018-01-08 23:44:07 +0100 |
commit | aeed74f3709446e94a87809ddd465517738921e0 (patch) | |
tree | 0eb8424e9d3e0cc14b502d313cf2aadee17a7c51 /gnu/build | |
parent | a60f13197efeed14b1221bb8d5eead64df696221 (diff) | |
download | patches-aeed74f3709446e94a87809ddd465517738921e0.tar patches-aeed74f3709446e94a87809ddd465517738921e0.tar.gz |
linux-boot: Add #:on-error for initrd error handling.
Suggested by Danny Milosavljevic <dannym@scratchpost.org>
in <https://bugs.gnu.org/29922>.
* gnu/build/linux-boot.scm (boot-system): Add #:on-error parameter and
pass it to 'call-with-error-handling'.
* gnu/system/linux-initrd.scm (raw-initrd): Add #:on-error and pass it.
(base-initrd): Likewise.
Diffstat (limited to 'gnu/build')
-rw-r--r-- | gnu/build/linux-boot.scm | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm index 4dd740174e..997107a67a 100644 --- a/gnu/build/linux-boot.scm +++ b/gnu/build/linux-boot.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 © 2017 Mathieu Othacehe <m.othacehe@gmail.com> ;;; ;;; This file is part of GNU Guix. @@ -430,7 +430,8 @@ bailing out.~%root contents: ~s~%" (scandir "/")) qemu-guest-networking? volatile-root? pre-mount - (mounts '())) + (mounts '()) + (on-error 'debug)) "This procedure is meant to be called from an initrd. Boot a system by first loading LINUX-MODULES (a list of module names) from LINUX-MODULE-DIRECTORY, then setting up QEMU guest networking if @@ -444,7 +445,10 @@ if any. MOUNTS must be a list of <file-system> objects. When VOLATILE-ROOT? is true, the root file system is writable but any changes -to it are lost." +to it are lost. + +ON-ERROR is passed to 'call-with-error-handling'; it determines what happens +upon error." (define (root-mount-point? fs) (string=? (file-system-mount-point fs) "/")) @@ -517,6 +521,7 @@ to it are lost." (begin (display "no boot file passed via '--load'\n") (display "entering a warm and cozy REPL\n") - (start-repl))))))) + (start-repl))))) + #:on-error on-error)) ;;; linux-initrd.scm ends here |