unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: csanchezdll@gmail.com (Carlos Sánchez de La Lama)
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: guix-devel@gnu.org, Alex Kost <alezost@gmail.com>, bug-guix@gnu.org
Subject: Re: Store on separate partition
Date: Wed, 31 Aug 2016 14:48:45 +0200	[thread overview]
Message-ID: <7twpix5ck2.fsf@gmail.com> (raw)
In-Reply-To: 87poory2j4.fsf@gnu.org

>>> I am trying to move the store to a separate partition, but this is
>>> problematic as you need the store at boot time for the system
>>> utilities (and to mount partitions, actually).
>>>
>> I tried to do it recently but failed.  My understanding is that it's
>> impossible, but I may be wrong.
>
> It would be interesting to fix it.  In theory there’s no reason why it
> shouldn’t work (you need to mark the /gnu/store file system as
> ‘needed-for-boot?’.)
>
> If you or Carlos could try it and report details to bug-guix@gnu.org, we
> could start from there.

I got it more-or-less working. What I did is a plain 0.11 install, but
before the "herd start cow-store /mnt" step I had prepared the target
filesystems so I had:

/dev/sda1 mount as /mnt
/dev/sdb1 mounted as /mnt/gnu

To make the store go into /dev/sdb1

My system definition included:

--8<---------------cut here---------------start------------->8---
  (file-systems (cons* (file-system
                         (device "my-root")
                         (title 'label)
                         (mount-point "/")
                         (type "ext4"))
                       (file-system
                         (device "/dev/sdb1")
                         (mount-point "/gnu")
                         (type "ext4")
                         (needed-for-boot? #t))
                       %base-file-systems))
--8<---------------cut here---------------end--------------->8---

When rebooting the installed system, I have to edit GRUB command line
(pressing 'e'), which was:

--8<---------------cut here---------------start------------->8---
  search --file --set /gnu/store/2qh58nr4sxc5jwv2ng9sqq06niab8sjp-linux-libre-4.7/bzImage
  linux /gnu/store/2qh58nr4sxc5jwv2ng9sqq06niab8sjp-linux-libre-4.7/bzImage --root=my-root --system=/gnu/store/4ji3d5v5ci91l69fgi4hdi73kc558whp-system --load=/gnu/store/4ji3d5v5ci91l69fgi4hdi73kc558whp-system/boot
  initrd /gnu/store/4ji3d5v5ci91l69fgi4hdi73kc558whp-system/initrd
--8<---------------cut here---------------end--------------->8---

By:

1) removing "/gnu" from search command, so GRUB root (not kernel root)
   is correctly set as (hd1,msdos1), i.e. /dev/sdb1
2) removing "/gnu" from linux command, so the kernel is correctly loaded
   by GRUB (/gnu is not removed from --system or --load, as those
   commands are interpreted by gnu/build/linux-boot.scm after all
   needed-for-boot filesystems have been mounted in their correct mount
   points).
3) changing initrd path. Removing "/gnu" is not enough, as the path in
   grub.cfg is a symlink to the real initrd, pointing into /gnu/store
   which is not available at initrd-loading time. So I placed the
   synlink destination there, removing "/gnu", so:

initrd /store/<hash>-base-initrd/initrd

And voilá, I can boot into my newly installed GuixSD with /gnu/store in
a separate partition.

Some other files (modules, background image) fail to be accesses by GRUB
as well with generated grub.cfg, but those are not essential to make the
system boot, in my system at least.

BR

Carlos

       reply	other threads:[~2016-08-31 12:48 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <7toa4iir1p.fsf@gmail.com>
     [not found] ` <87pooyy3zq.fsf@gmail.com>
     [not found]   ` <87poory2j4.fsf@gnu.org>
2016-08-31 12:48     ` Carlos Sánchez de La Lama [this message]
2016-08-31 21:21       ` Store on separate partition Ludovic Courtès
2016-09-01  4:34         ` John Darrington
2016-09-01  6:35           ` Vincent Legoll
2016-09-13 11:23       ` bug#24344: [PATCH] Generate grub.cfg with correct paths when store is not in root partition Carlos Sánchez de La Lama

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

  List information: https://guix.gnu.org/

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

  git send-email \
    --in-reply-to=7twpix5ck2.fsf@gmail.com \
    --to=csanchezdll@gmail.com \
    --cc=alezost@gmail.com \
    --cc=bug-guix@gnu.org \
    --cc=guix-devel@gnu.org \
    --cc=ludo@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 public inbox

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

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).