Browse Source
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.
wip-perl6
Ludovic Courtès
3 years ago
No known key found for this signature in database
GPG Key ID: 90B11993D9AEBB5
3 changed files with
22 additions and
15 deletions
gnu/bootloader/extlinux.scm
gnu/bootloader/grub.scm
guix/scripts/system.scm
@ -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?