[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: failed to resolve partition “my-root”
From: |
Ricardo Wurmus |
Subject: |
Re: failed to resolve partition “my-root” |
Date: |
Wed, 28 Jun 2017 18:38:37 +0200 |
User-agent: |
mu4e 0.9.18; emacs 25.2.1 |
Ricardo Wurmus <address@hidden> writes:
> Ricardo Wurmus <address@hidden> writes:
>
>> Linux appears to boot but then fails with “failed to resolve partition
>> "my-root"”. I suspect that something in (gnu build file-systems) is
>> broken. koosha on IRC previously reported a similar problem.
>
> “cat /proc/partitions” shows that only the ram* devices are listed.
> None of the hard disk partitions are listed. Also, in the rescue REPL I
> don’t see any disk under /dev/.
>
> So (gnu build file-systems) works as it should. Curious.
>
> When I boot with the USB stick, however, /dev/sda (the USB disk) and
> /dev/sdb (the hard disk) both exist.
>
> I’m guessing that it’s a problem with the initrd; some missing kernel
> module maybe. Is there a way to regenerate the initrd without having to
> reinstall the whole system? I’m willing to fall back to my old ways of
> manipulating things in the store just to get this thing booted soon.
> (I’ll ask for forgiveness later.)
I fixed this by re-init-ing the system with a tiny change to the
operating system definition:
--8<---------------cut here---------------start------------->8---
(initrd (lambda (fs . args)
(apply base-initrd fs
#:extra-modules (list "sata_nv")
args)))
--8<---------------cut here---------------end--------------->8---
The module is needed because this is an NVIDIA disk controller.
Fixing this was tedious, though. Before the installation I ran “guix
pull”. When I noticed that the system would not boot I had to boot from
USB again — and then would have to run “guix pull” again.
Is there a way to avoid this? We can’t just chroot and my attempts to
just bind mount /mnt/gnu and /mnt/var/guix after booting the disk image
from USB failed; at least when building software because the build
environment appears to fail when things are bind mounted.
I couldn’t just use Guix from /mnt/gnu, because it uses symlinks to
/gnu, which are all broken when /gnu is provided by the USB disk.
Should I have used some unionfs trickery?
Is there a “fixup recipe” we can recommend to people in the manual for
those cases where the initrd doesn’t contain the necessary kernel
modules? Or maybe a “guix system enter /mnt” command that remounts
things and creates user accounts as necessary?
--
Ricardo
GPG: BCA6 89B6 3655 3801 C3C6 2150 197A 5888 235F ACAC
https://elephly.net