I modified the 'kernel->boot-label' function in gnu/system.scm to check if the kernel passed to it is a regular package, and if it isn't then it will try to get the package name and version using 'inferior-package-name' and 'inferior-package-version'. Note: I wasn't sure if the hack at the beginning of this patch was neccessary and I didn't add it: http://git.savannah.gnu.org/cgit/guix.git/commit/?id=811b21fb15d36b06fde994ca7ef5916a9a19f250 ``` (define inferiors-loaded? ;; This hack allows us to provide seamless integration for inferior ;; packages while not having a hard dependency on (guix inferior). (resolve-module '(guix inferior) #f #f #:ensure #f)) (define (inferior->entry) (module-ref (resolve-interface '(guix inferior)) 'inferior-package->manifest-entry)) ``` This is the only issue preventing using an inferior package as a kernel, which is very useful as it means you can avoid recompiling a custom kernel when you reconfigure the system with a newer guix revision that changes the kernel package dependencies.