Hi, On Tue, 31 Jul 2018 12:04:54 +1000 Brendan Tildesley <brendan.tildes...@openmailbox.org> wrote:
> On 07/31/18 02:55, Danny Milosavljevic wrote: > > Hi, > > > > hmm, where's the "file-systems" form in your system config? > > > > The first important part is whether your file-system entry is > > needed-for-boot? or not. > > > Sorry, I forgot to un-kill it before copying the whole definition. It's here > > (file-systems > (cons* > (file-system > (device (file-system-label "1tb")) > (mount-point "/mnt/1tb/") > (type "btrfs")) > (file-system > ;;(device > "/dev/disk/by-id/ata-Samsung_SSD_850_EVO_1TB_S2PWNX0J204086P-part1") > (device (file-system-label "1ssd")) > (mount-point "/") > (type "ext4")) > %base-file-systems)) So it defaults to needed-for-boot? #f. I think this is a real bug. There is code in Guix to create an initrd. It will also create a correct modules.devname and also create a linux-boot module which will run on system boot and set up some files in /dev (reading from modules.devname), among those btrfs-control, IF THERE'S A btrfs FILESYSTEM WITH needed-for-boot? #t . Here there isn't. So the initrd won't create /dev/btrfs-control . But when needed-for-boot? is #f that means the file system will be mounted somewhen later (not in the initrd) when the root fs and store is already there. That means there should be a shepherd service or activation part that parses linux-libre*/modules.devname and creates the still-missing /dev entries. Where is that part? It should be either a dependency of the part that mounts the filesystem or just be right before it. So we need a backtrace...
pgpZs8gOg1PAg.pgp
Description: OpenPGP digital signature