Just to close the loop on this. 

Well I think I have it working. I’m not going to claim that I totally 
understand it.

So this is my first system install and I had a lot of trouble in the beginning 
because the HP Z440 does this really cool thing where it doesn’t persist efi 
entries. So I found that I had to have my boot partition laid out in the 
default place that the UEFI firmware looks. I have `/dev/sda1` mounted to 
`/boot` and then I have `/boot/EFI/BOOT/bootx64.efi`.

I had a couple issues:

My bootloader field in my operation-system record was pointing to the wrong 
place.
I added this extra-special-files service:

(extra-special-file "boot/EFI/Boot/bootx64.efi" "/boot/EFI/guix/grubx64.efi") 

I’m not sure if that works or not, I think my biggest issue was the bootloader 
target misconfiguration.

Now after reboots, the generation persists and I can successfully write the 
subuid/subgid files.


----- Original message -----
From: Jesse Millwood <jess...@fastmail.com>
To: help-guix@gnu.org
Subject: Guix failure to activate new generation
Date: Thursday, August 14, 2025 11:27 AM

* My Issue
When I run =sudo guix system reconfigure /home/jesse/system.scm= and then 
reboot the =/run/current-system= links to a different generation than is 
reported in =guix system describe=

* Context
I am trying to set my =/etc/subuid= and =/etc/subgid= to be able to use 
rootless podman.

* Observations
After reboot, the =guix system describe= and =/run/current-system= don't point 
to the same generation. The system describe shows 30 but the current system is 
pointing to 7:

#+begin_src
jesse@homelab ~$ sudo guix system describe
Password:
Generation 30 Aug 12 2025 10:08:22 (current)
  file name: /var/guix/profiles/system-30-link
  canonical file name: /gnu/store/y5xbqa5dw7bikw848ghnc0bnp98z9adk-system
  label: GNU with Linux 6.15.6
  bootloader: grub-efi
  root device: label: "system-root"
  kernel: /gnu/store/fdmzii31wy5lxs80hyq9ji1pcyzc1k0h-linux-6.15.6/bzImage
  channels:
    guix:
      repository URL: https://git.savannah.gnu.org/git/guix.git
      branch: master
      commit: 784c15a35ecba44b51016df71156a3993de41500
    nonguix:
      repository URL: https://gitlab.com/nonguix/nonguix
      branch: master
      commit: aff3b005f46081cbd111da19e64f8ae07b5b464f
  configuration file: 
/gnu/store/jibrf5d0z97x3hngl76f6bpsrhc6476a-configuration.scm
jesse@homelab ~$ ls -la /run/current-system
lrwxrwxrwx 1 root root 50 Aug 14 08:52 /run/current-system -> 
/gnu/store/hkshsqddjpkpg0dr19kw1qz535g7ya0w-system
jesse@homelab ~$ ls -la /var/guix/profiles/system-7-link
lrwxrwxrwx 1 root root 50 Aug  7 07:11 /var/guix/profiles/system-7-link -> 
/gnu/store/hkshsqddjpkpg0dr19kw1qz535g7ya0w-system
jesse@homelab ~$ ls -la /var/guix/profiles/system-30-link
lrwxrwxrwx 1 root root 50 Aug 12 10:08 /var/guix/profiles/system-30-link -> 
/gnu/store/y5xbqa5dw7bikw848ghnc0bnp98z9adk-system
#+end_src

I have tried to do a =sudo guix system switch-generation 30= before rebooting 
as well. In this case, the =/run/current-system= points to system 30 but after 
reboot it goes back to 7.

When I run =sudo guix system reconfigure /home/jesse/system.scm= I get this:
#+begin_src
The following derivation will be built:
  /gnu/store/9pnd1m9k73ywkssk0yjcar7ndwqgy62q-grub.cfg.drv

building /gnu/store/9pnd1m9k73ywkssk0yjcar7ndwqgy62q-grub.cfg.drv...
#t/gnu/store/x10qlfwbi5wj22y4gbivcb9pqfhywr39-system
/gnu/store/84ppn40avs4b3xiwn4144mlm4v0z28hv-grub.cfg

activating system...
making '/var/guix/profiles/system-31-link' the current system...
populating /etc from /gnu/store/pfwv8lddz58xdncvq5b4xiqxiljai062-etc...
setting up privileged programs in '/run/privileged/bin'...
#<&subordinate-id-overflow-error range: #<<subid-range> name: "jesse" start: 
100700 count: 65536>>
guix system: warning: failed to activate 
'/gnu/store/knnp8hms3pwakb00c2ql1dq4n39sjv67-activate-service.scm'
The following derivation will be built:
  /gnu/store/h7vsiwpywq957zj6fwi9dcj4vwm5aywa-install-bootloader.scm.drv

building 
/gnu/store/h7vsiwpywq957zj6fwi9dcj4vwm5aywa-install-bootloader.scm.drv...
guix system: bootloader successfully installed on '(/boot/efi)'
#+end_src

The "guix system: warning: failed to activate" part seems like a big issue and 
possibly my issue. From the output here it seems related to setting the subuid 
and subgid.

I am setting the subuid and subgid based on the “Subordinate User and Group ID 
Service” section in the manual at  
https://guix.gnu.org/manual/devel/en/html_node/Miscellaneous-Services.htm.

#+begin_src
                     (simple-service 'homelab-subids
                                     subids-service-type
                                     (subids-extension
                                      (subgids
                                       (list
                                        (subid-range (name "jesse" ))))
                                      (subuids
                                       (list
                                        (subid-range (name "jesse" )
                                                     (start 100700))))))
#+end_src

I’ve tried a number of ways of setting the subuid and subgid ranges in the 
rootless-podman servce, in an extension of the etc-service, this, and even 
removing all subuid/subgid config all together. I still get this failed to 
activate message related to the subuid and subgid.

Reply via email to