diff options
author | Mathieu Othacehe <othacehe@gnu.org> | 2020-10-21 10:42:50 +0200 |
---|---|---|
committer | Mathieu Othacehe <othacehe@gnu.org> | 2020-11-03 07:59:59 +0100 |
commit | a38d861e571c952f78ca588b50bdcc4adcb0c88c (patch) | |
tree | 103c5429cc5297eeb8041947ff3c2e6d0e112535 /gnu | |
parent | 25e811583fc1e718668147e50a0bf297b30e8017 (diff) | |
download | guix-a38d861e571c952f78ca588b50bdcc4adcb0c88c.tar.gz guix-a38d861e571c952f78ca588b50bdcc4adcb0c88c.zip |
system: reconfigure: Use the disk-installer if provided.
Fixes: <https://issues.guix.gnu.org/44101>.
* gnu/build/bootloader.scm (write-file-on-device): Pass 'no-fail flag instead
of 'no-create. Use a latin-1 transcoder.
* guix/scripts/system/reconfigure.scm (install-bootloader-program): Add a
"disk-installer" argument and use it as a fallback.
(install-bootloader): Adapt accordingly.
* gnu/tests/reconfigure.scm (run-install-bootloader-test): Ditto.
Diffstat (limited to 'gnu')
-rw-r--r-- | gnu/build/bootloader.scm | 7 | ||||
-rw-r--r-- | gnu/tests/reconfigure.scm | 4 |
2 files changed, 8 insertions, 3 deletions
diff --git a/gnu/build/bootloader.scm b/gnu/build/bootloader.scm index 5ec839f902..3916930c89 100644 --- a/gnu/build/bootloader.scm +++ b/gnu/build/bootloader.scm @@ -38,10 +38,13 @@ (lambda (input) (let ((bv (get-bytevector-n input size))) (call-with-port + ;; Do not use "call-with-output-file" that would truncate the file. (open-file-output-port device - (file-options no-truncate no-create) + (file-options no-truncate no-fail) (buffer-mode block) - (native-transcoder)) + ;; Use the binary-friendly ISO-8859-1 + ;; encoding. + (make-transcoder (latin-1-codec))) (lambda (output) (seek output offset SEEK_SET) (put-bytevector output bv))))))) diff --git a/gnu/tests/reconfigure.scm b/gnu/tests/reconfigure.scm index 928a210a94..52beeef447 100644 --- a/gnu/tests/reconfigure.scm +++ b/gnu/tests/reconfigure.scm @@ -260,7 +260,9 @@ bootloader's configuration file." ;; test suite, the bootloader installer script is omitted. 'grub-install' ;; would attempt to write directly to the virtual disk if the ;; installation script were run. - (test (install-bootloader-program #f #f bootcfg bootcfg-file #f "/"))))) + (test + (install-bootloader-program #f #f #f bootcfg bootcfg-file #f "/"))))) + (define %test-switch-to-system (system-test |