bootloader: Use 'invoke/quiet' when running 'grub-install' and co.
This hides potentially confusing GRUB messages from the user, such as "Installing for i386-pc platform." * gnu/bootloader/extlinux.scm (install-extlinux): Use 'invoke/quiet' instead of 'system*' and 'error'. * gnu/bootloader/grub.scm (install-grub, install-grub-efi): Likewise. * guix/scripts/system.scm (bootloader-installer-script): Guard against 'message-condition?' and handle them properly.master
parent
f0cc5e7e1e
commit
21fcfe1ee9
|
@ -91,11 +91,9 @@ TIMEOUT ~a~%"
|
|||
(for-each (lambda (file)
|
||||
(install-file file install-dir))
|
||||
(find-files syslinux-dir "\\.c32$"))
|
||||
(unless
|
||||
(and (zero? (system* extlinux "--install" install-dir))
|
||||
(write-file-on-device
|
||||
(string-append syslinux-dir "/" #$mbr) 440 device 0))
|
||||
(error "failed to install SYSLINUX")))))
|
||||
(invoke/quiet extlinux "--install" install-dir)
|
||||
(write-file-on-device (string-append syslinux-dir "/" #$mbr)
|
||||
440 device 0))))
|
||||
|
||||
(define install-extlinux-mbr
|
||||
(install-extlinux "mbr.bin"))
|
||||
|
|
|
@ -369,10 +369,11 @@ submenu \"GNU system, old configurations...\" {~%")
|
|||
;; root partition.
|
||||
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
|
||||
|
||||
(unless (zero? (system* grub "--no-floppy" "--target=i386-pc"
|
||||
"--boot-directory" install-dir
|
||||
device))
|
||||
(error "failed to install GRUB (BIOS)")))))
|
||||
;; Hide potentially confusing messages from the user, such as
|
||||
;; "Installing for i386-pc platform."
|
||||
(invoke/quiet grub "--no-floppy" "--target=i386-pc"
|
||||
"--boot-directory" install-dir
|
||||
device))))
|
||||
|
||||
(define install-grub-efi
|
||||
#~(lambda (bootloader efi-dir mount-point)
|
||||
|
@ -388,10 +389,9 @@ submenu \"GNU system, old configurations...\" {~%")
|
|||
;; Tell 'grub-install' that there might be a LUKS-encrypted /boot or
|
||||
;; root partition.
|
||||
(setenv "GRUB_ENABLE_CRYPTODISK" "y")
|
||||
(unless (zero? (system* grub-install "--boot-directory" install-dir
|
||||
"--bootloader-id=Guix"
|
||||
"--efi-directory" target-esp))
|
||||
(error "failed to install GRUB (EFI)")))))
|
||||
(invoke/quiet grub-install "--boot-directory" install-dir
|
||||
"--bootloader-id=Guix"
|
||||
"--efi-directory" target-esp))))
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -808,8 +808,17 @@ and TARGET arguments."
|
|||
#~(begin
|
||||
(use-modules (gnu build bootloader)
|
||||
(guix build utils)
|
||||
(ice-9 binary-ports))
|
||||
(#$installer #$bootloader #$device #$target)))))
|
||||
(ice-9 binary-ports)
|
||||
(srfi srfi-34)
|
||||
(srfi srfi-35))
|
||||
|
||||
(guard (c ((message-condition? c) ;XXX: i18n
|
||||
(format (current-error-port) "error: ~a~%"
|
||||
(condition-message c))
|
||||
(exit 1)))
|
||||
(#$installer #$bootloader #$device #$target)
|
||||
(format #t "bootloader successfully installed on '~a'~%"
|
||||
device))))))
|
||||
|
||||
(define* (perform-action action os
|
||||
#:key skip-safety-checks?
|
||||
|
|
Reference in New Issue