Hey there! I'm trying to script the creation of a Guix System
rootfs. However, when I run "guix system init" with this system
configuration, the resulting filesystem tree doesn't have /etc/passwd or
/etc/shadow. (Possibly some other necessary files as well? Those are the
only ones I've noticed.) I've attached the operating-system
configuration I'm working with. I've run this from both guix 1.0.1 and
current master, with the same result:

root@ubuntu:~/guix/etc# guix describe
guile: warning: failed to install locale
Generation 2    Jul 23 2019 18:09:38    (current)
  guix c42db89
    repository URL: https://git.savannah.gnu.org/git/guix.git
    branch: master
    commit: c42db89ff992037841e7937059db952571af86fa

Some notes:

- The device I'm configuring as the root mountpoint (/dev/sda) is
correct; it's a partitionless VM disk.
- The bootloader configuration is there to place grub.cfg without trying
to install GRUB. It's not necessary in my case as the hypervisor has a
pre-existing copy of GRUB, the VM just needs a GRUB config in the
standard location. (That's a snippet I found in the mailing list archives.)

I thought the fact that I'm not defining any user accounts was
noteworthy, but I tried adding a dummy user to the operating-system
config as shown in the manual, with the same result.

I feel like there has to be something I'm missing, because I have
another machine running Guix System that has a working config, but I
haven't been able to figure this out. Any pointers would be appreciated.
;; This is an operating system configuration template for the default
;; CORP installation of the Guix System
(use-modules (gnu) (gnu system nss)
             (gnu packages linux)
             (gnu system linux-initrd)
             (gnu services ssh)
             (gnu bootloader)
             (gnu bootloader grub)
             (gnu packages bootloaders))
(use-package-modules certs)
(use-service-modules networking)

(operating-system
  (host-name "guix")
  (timezone "America/New_York")
  (locale "en_US.utf8")

  (bootloader
   (bootloader-configuration
    (bootloader
     (bootloader
      (inherit grub-bootloader)
      (installer #~(const #t)))))) ;; Overridden to configure grub without 
installing it

  (file-systems (cons (file-system
                       (device "/dev/sda")
                       (mount-point "/")
                       (type "ext4"))
                      %base-file-systems))

  (initrd-modules (append (list "virtio_scsi")
                          %base-initrd-modules))

  ;; This is where we specify system-wide packages.
  (packages (cons* nss-certs         ;for HTTPS access
                   %base-packages))

  (services (append (list (service dhcp-client-service-type)
                          (service openssh-service-type))
                    %base-services)))

Reply via email to