guix system: Add '--skip-checks'.
Fixes <https://bugs.gnu.org/30760>. Reported by Tomáš Čech <sleep_walker@gnu.org>. * guix/scripts/system.scm (perform-action): Add #:skip-safety-checks? and honor it. (show-help, %options): Add --skip-checks. (process-action): Pass #:skip-safety-checks? to 'perform-action'. * doc/guix.texi (Invoking guix system): Document --skip-checks.
This commit is contained in:
parent
f8ec8d96d6
commit
61b1dbbdcd
@ -20458,6 +20458,16 @@ of the image size as a function of the size of the system declared in
|
|||||||
Make @var{file} a symlink to the result, and register it as a garbage
|
Make @var{file} a symlink to the result, and register it as a garbage
|
||||||
collector root.
|
collector root.
|
||||||
|
|
||||||
|
@item --skip-checks
|
||||||
|
Skip pre-installation safety checks.
|
||||||
|
|
||||||
|
By default, @command{guix system init} and @command{guix system
|
||||||
|
reconfigure} perform safety checks: they make sure the file systems that
|
||||||
|
appear in the @code{operating-system} declaration actually exist
|
||||||
|
(@pxref{File Systems}), and that any Linux kernel modules that may be
|
||||||
|
needed at boot time are listed in @code{initrd-modules} (@pxref{Initial
|
||||||
|
RAM Disk}). Passing this option skips these tests altogether.
|
||||||
|
|
||||||
@item --on-error=@var{strategy}
|
@item --on-error=@var{strategy}
|
||||||
Apply @var{strategy} when an error occurs when reading @var{file}.
|
Apply @var{strategy} when an error occurs when reading @var{file}.
|
||||||
@var{strategy} may be one of the following:
|
@var{strategy} may be one of the following:
|
||||||
|
@ -733,7 +733,8 @@ and TARGET arguments."
|
|||||||
(#$installer #$bootloader #$device #$target))))))
|
(#$installer #$bootloader #$device #$target))))))
|
||||||
|
|
||||||
(define* (perform-action action os
|
(define* (perform-action action os
|
||||||
#:key install-bootloader?
|
#:key skip-safety-checks?
|
||||||
|
install-bootloader?
|
||||||
dry-run? derivations-only?
|
dry-run? derivations-only?
|
||||||
use-substitutes? bootloader-target target
|
use-substitutes? bootloader-target target
|
||||||
image-size file-system-type full-boot?
|
image-size file-system-type full-boot?
|
||||||
@ -750,7 +751,10 @@ When DERIVATIONS-ONLY? is true, print the derivation file name(s) without
|
|||||||
building anything.
|
building anything.
|
||||||
|
|
||||||
When GC-ROOT is a path, also make that path an indirect root of the build
|
When GC-ROOT is a path, also make that path an indirect root of the build
|
||||||
output when building a system derivation, such as a disk image."
|
output when building a system derivation, such as a disk image.
|
||||||
|
|
||||||
|
When SKIP-SAFETY-CHECKS? is true, skip the file system and initrd module
|
||||||
|
static checks."
|
||||||
(define println
|
(define println
|
||||||
(cut format #t "~a~%" <>))
|
(cut format #t "~a~%" <>))
|
||||||
|
|
||||||
@ -760,7 +764,8 @@ output when building a system derivation, such as a disk image."
|
|||||||
;; Check whether the declared file systems exist. This is better than
|
;; Check whether the declared file systems exist. This is better than
|
||||||
;; instantiating a broken configuration. Assume that we can only check if
|
;; instantiating a broken configuration. Assume that we can only check if
|
||||||
;; running as root.
|
;; running as root.
|
||||||
(when (memq action '(init reconfigure))
|
(when (and (not skip-safety-checks?)
|
||||||
|
(memq action '(init reconfigure)))
|
||||||
(check-mapped-devices os)
|
(check-mapped-devices os)
|
||||||
(when (zero? (getuid))
|
(when (zero? (getuid))
|
||||||
(check-file-system-availability (operating-system-file-systems os))
|
(check-file-system-availability (operating-system-file-systems os))
|
||||||
@ -933,6 +938,8 @@ Some ACTIONS support additional ARGS.\n"))
|
|||||||
--expose=SPEC for 'vm', expose host file system according to SPEC"))
|
--expose=SPEC for 'vm', expose host file system according to SPEC"))
|
||||||
(display (G_ "
|
(display (G_ "
|
||||||
--full-boot for 'vm', make a full boot sequence"))
|
--full-boot for 'vm', make a full boot sequence"))
|
||||||
|
(display (G_ "
|
||||||
|
--skip-checks skip file system and initrd module safety checks"))
|
||||||
(newline)
|
(newline)
|
||||||
(display (G_ "
|
(display (G_ "
|
||||||
-h, --help display this help and exit"))
|
-h, --help display this help and exit"))
|
||||||
@ -974,6 +981,9 @@ Some ACTIONS support additional ARGS.\n"))
|
|||||||
(option '("full-boot") #f #f
|
(option '("full-boot") #f #f
|
||||||
(lambda (opt name arg result)
|
(lambda (opt name arg result)
|
||||||
(alist-cons 'full-boot? #t result)))
|
(alist-cons 'full-boot? #t result)))
|
||||||
|
(option '("skip-checks") #f #f
|
||||||
|
(lambda (opt name arg result)
|
||||||
|
(alist-cons 'skip-safety-checks? #t result)))
|
||||||
|
|
||||||
(option '("share") #t #f
|
(option '("share") #t #f
|
||||||
(lambda (opt name arg result)
|
(lambda (opt name arg result)
|
||||||
@ -1067,6 +1077,8 @@ resulting from command-line parsing."
|
|||||||
#:derivations-only? (assoc-ref opts
|
#:derivations-only? (assoc-ref opts
|
||||||
'derivations-only?)
|
'derivations-only?)
|
||||||
#:use-substitutes? (assoc-ref opts 'substitutes?)
|
#:use-substitutes? (assoc-ref opts 'substitutes?)
|
||||||
|
#:skip-safety-checks?
|
||||||
|
(assoc-ref opts 'skip-safety-checks?)
|
||||||
#:file-system-type (assoc-ref opts 'file-system-type)
|
#:file-system-type (assoc-ref opts 'file-system-type)
|
||||||
#:image-size (assoc-ref opts 'image-size)
|
#:image-size (assoc-ref opts 'image-size)
|
||||||
#:full-boot? (assoc-ref opts 'full-boot?)
|
#:full-boot? (assoc-ref opts 'full-boot?)
|
||||||
|
Loading…
Reference in New Issue
Block a user