Subject: RAID config boot hangs at [...] Clocksource: Switched to clocksource tsc
From: myglc2 <[email-masked]>
To: [email-masked]
Date: Mon, 01 Aug 2016 21:43:17 -0400
List-Id: <debbugs-submit.debbugs.gnu.org>

I am attempting to set up RAID.  First, following the doc, I ended up
with system39.scm, attached, excerpt below:

(operating-system
  (host-name "g1")
  (timezone "America/New_York")
  (locale "en_US.utf8")
  (bootloader (grub-configuration (device "/dev/sda")))
  (initrd (lambda (fs . args)
	    (apply base-initrd fs
		   #:extra-modules '("raid1")
		   #:mapped-devices '((mapped-device
				       (source (list "/dev/sdb1" "/dev/sdc1"))
				       (target "/dev/md0")
				       (type raid-device-mapping)))				      
		   args)))
  (file-systems (cons (file-system
			(device "ssd-root")
			(title 'label)
			(mount-point "/")
			(type "ext4"))
		      %base-file-systems))

In this config I was attempting to have the array assembled, but not
mounted after the boot. It did not look promissing that 'guix system
reconfigure system39.scm' did not assemble the array. Then as one might
expect, the resulting system boots but the array is not assembled.

After a couple helpful exchanges with Andreas on the devel list, I ended
up with system40.scm, attached, excerpt below:

(define md0
  (mapped-device
   (source (list "/dev/sdb1" "/dev/sdc1"))
   (target "/dev/md0")
   (type raid-device-mapping)))
(operating-system
  (host-name "g1")
  (timezone "America/New_York")
  (locale "en_US.utf8")
  (bootloader (grub-configuration (device "/dev/sda")))
  (mapped-devices (list md0))
  ;; Add a kernel module for RAID-1.
  (initrd (lambda (file-systems . rest)
            (apply base-initrd file-systems
                   #:extra-modules '("raid1")
		   rest)))
  (file-systems (cons*
		 (file-system
		   (device "ssd-root")
		   (title 'label)
		   (mount-point "/")
		   (type "ext4"))
		 (file-system
		   (title 'device)
		   (device "/dev/md0")
		   (dependencies (list md0))
		   (mount-point "/mnt/md0")
		   (create-mount-point? #t)
		   (type "ext4"))
		 %base-file-systems))

Here the intent is to have the array assembled and mounted after the
boot. It looked promissing when 'guix system reconfigure system40.scm'
assembled and mounted the array (see system40.log). But on reboot the
system hangs with the console showing:

[...] clocksource: Switched to clocksource tsc

And /var/log/sheperd.log contains:

2016-08-01 18:15:13 Service root has been started.
2016-08-01 18:15:13 ERROR: In procedure scm-error:
2016-08-01 18:15:13 ERROR: no code for module (gnu build file-systems)
2016-08-01 18:15:13 
2016-08-01 18:15:13 Entering a new prompt.  Type `,bt' for a backtrace or `,q' to continue.
2016-08-01 18:15:13 GNU Guile 2.0.11
2016-08-01 18:15:13 Copyright (C) 1995-2014 Free Software Foundation, Inc.
2016-08-01 18:15:13 
2016-08-01 18:15:13 Guile comes with ABSOLUTELY NO WARRANTY; for details type `,show w'.
2016-08-01 18:15:13 This program is free software, and you are welcome to redistribute it
2016-08-01 18:15:13 under certain conditions; type `,show c' for details.
2016-08-01 18:15:13 
2016-08-01 18:15:13 Enter `,help' for help.

For this config, /var/log/messages (messages40.log) is also attached.

TIA - George