nckx pushed a commit to branch master
in repository guix.
commit 9c28fdcae330e91667b4b3e1058025bef250e6dd
Author: Tobias Geerinckx-Rice <[email protected]>
AuthorDate: Sat Jun 5 20:09:49 2021 +0200
gnu: Respect ‘rootdelay’ kernel command-line argument.
* gnu/build/linux-boot.scm (boot-system): Sleep for "rootdelay=SECONDS"
when specified on the kernel command line.
---
gnu/build/linux-boot.scm | 10 ++++++++++
1 file changed, 10 insertions(+)
diff --git a/gnu/build/linux-boot.scm b/gnu/build/linux-boot.scm
index 7d1b3ee..461df9f 100644
--- a/gnu/build/linux-boot.scm
+++ b/gnu/build/linux-boot.scm
@@ -585,6 +585,16 @@ upon error."
(unless (configure-qemu-networking)
(display "network interface is DOWN\n")))
+ ;; A big ugly hammer, to be used only for debugging and in desperate
+ ;; situations where no proper device synchonisation is possible.
+ (let ((root-delay (and=> (find-long-option "rootdelay" args)
+ string->number)))
+ (when root-delay
+ (format #t
+ "Pausing for rootdelay=~a seconds before mounting the root
file system...\n"
+ root-delay)
+ (sleep root-delay)))
+
;; Prepare the real root file system under /root.
(unless (file-exists? "/root")
(mkdir "/root"))