all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Fredrik Salomonsson <plattfot@gmail.com>
To: help-guix@gnu.org
Subject: btrfs and subvolumes for root
Date: Sat, 5 Aug 2017 20:46:13 -0700	[thread overview]
Message-ID: <CABZcOASYTq3tusL9yEb4bMVhebeKBCkyyjf4ZQipX24PtVGfJQ@mail.gmail.com> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 1214 bytes --]

Hello Guix,

I'm testing out setting up a dual boot between GuixSD and Arch. I've no
idea how much each one will take on disk. I decided to try out btrfs and
subvolumes for the layout.

But I'm having some issues booting the thing.

My disk layout right now is:
sda
  sda1      1MB BIOS boot
  sda2      4G  swap
  sda3 228.9GB  btrfs

then subvolumes:
sda3/
  __current/guixsd-root
  __current/arch-root
  __current/boot
  __current/home

section from my config.scm, which is based on my old config (old one is
attached).

(file-systems (cons* (file-system
   (device "root")
   (title 'label)
   (mount-point "/boot")
   (options
"defaults,discard,compress=lzo,space_cache,autodefrag,subvol=__current/boot")
   (dependecies mapped-devices))
;; repeat for guixsd-root and home but with correct value for subvol
)

guix system init worked fine but when booting it fails to locate the
bzImage. Which I assume is because it doesn't know that the root is in a
subvolume.

Long story short. How do I add rootflags to GuixSD's grub menu entry? Need
to add "rootflags=subvol=__current/guixsd-root" to the linux-arguments.
Might be an issue of having boot as a subvolume as well.

Thanks

-- 
s/Fred[re]+i[ck]+/Fredrik/g

[-- Attachment #1.2: Type: text/html, Size: 3057 bytes --]

[-- Attachment #2: config.scm --]
[-- Type: text/x-scheme, Size: 2980 bytes --]

;; This is an operating system configuration template
;; for a "desktop" setup without full-blown desktop
;; environments.

(use-modules (gnu)
	     (gnu packages)
	     (gnu system nss)
	     (gnu system locale)
	     (gnu services nfs)
	     (ice-9 rdelim))
(use-service-modules desktop networking ssh base xorg)
(use-package-modules wm certs suckless shells)

(define plattfot 
  (user-account
   (name "plattfot")
   (group "users")
   ;; Define a G-Expr to find the path of the zsh binary:
   ;; https://gitlab.com/rain1/guix-wiki/wikis/FAQ#how-do-i-make-my-login-shell-zsh
   (shell #~(string-append #$zsh "/bin/zsh"))
   (supplementary-groups '("wheel" "netdev" "audio" "video"))
   (home-directory "/home/plattfot")))

(define keyboard-conf
  (call-with-input-file "/etc/config.d/00-keyboard.conf" read-string))

(operating-system
 (host-name "loke")
 (timezone "Canada/Pacific")
 (locale "en_US.utf8")
 (locale-definitions 
  (list 
   (locale-definition (name "en_US.utf8") (source "en_US") (charset "UTF-8"))
   (locale-definition (name "sv_SE.utf8") (source "sv_SE") (charset "UTF-8"))))
 ;; Assuming /dev/sda is the target hard disk, and "root"
 ;; is the label of the target root file system.
 (bootloader (grub-configuration (device "/dev/sda")))

 ;; Specify a mapped device for the encrypted root partition.
 ;; The UUID is that returned by 'cryptsetup luksUUID'.
 (mapped-devices
  (list (mapped-device
	 (source (uuid "de52fa25-e7d0-4d63-8a35-91e561964043"))
	 (target "the-root-device")
	 (type luks-device-mapping))))

 (file-systems (cons* (file-system
		       (device "root")
		       (title 'label)
		       (mount-point "/")
		       (type "ext4")
		       (dependencies mapped-devices))
		      (file-system
		       (device "fafner:/srv/nfs4/Valhalla")
		       (title 'device)
		       (mount-point "/media/Valhalla")
		       (type "nfs4")
		       ;; (options "defaults")
		       (mount? #f)
		       (check? #f))
                      %base-file-systems))

 (users (cons plattfot %base-user-accounts))

 ;; Add a bunch of window managers; we can choose one at
 ;; the log-in screen with F1.
 (packages (cons* i3-wm i3status dmenu ;window managers
		  zsh
		  nss-certs            ;for HTTPS access
		  %base-packages))

 ;; Use the "desktop" services, which include the X11
 ;; log-in service, networking with Wicd, and more.
 (services (cons* (service openssh-service-type
			   (openssh-configuration
			    (port-number 6060)))
		  (extra-special-file "/bin/env"
				      (file-append coreutils "/bin/env"))
		  ;;%desktop-services
		  (modify-services %desktop-services
		  		   (slim-service-type 
		  		    config => (slim-configuration
		  			       (inherit config)
		  			       (startx (xorg-start-command
		  					#:configuration-file
		  					(xorg-configuration-file
		  					 #:extra-config
		  					 (list keyboard-conf)))))))))

 ;; Allow resolution of '.local' host names with mDNS.
 (name-service-switch %mdns-host-lookup-nss))

             reply	other threads:[~2017-08-06  3:46 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-08-06  3:46 Fredrik Salomonsson [this message]
2017-09-02 11:26 ` btrfs and subvolumes for root maze
2017-09-02 11:34   ` Marius Bakke
2017-09-06  4:13     ` Fredrik Salomonsson

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=CABZcOASYTq3tusL9yEb4bMVhebeKBCkyyjf4ZQipX24PtVGfJQ@mail.gmail.com \
    --to=plattfot@gmail.com \
    --cc=help-guix@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/guix.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.