boot-parameters?
boot-parameters-label
boot-parameters-root-device
- boot-parameters-boot-name
+ boot-parameters-bootloader-name
boot-parameters-store-device
boot-parameters-store-mount-point
boot-parameters-kernel
boot-parameters-initrd
read-boot-parameters
read-boot-parameters-file
+ menu-entry->boot-parameters
local-host-aliases
%setuid-programs
;; exactly to the device field of the <file-system> object representing the
;; OS's root file system, so it might be a device path like "/dev/sda3".
(root-device boot-parameters-root-device)
- (boot-name boot-parameters-boot-name)
+ (bootloader-name boot-parameters-bootloader-name)
(store-device boot-parameters-store-device)
(store-mount-point boot-parameters-store-mount-point)
(kernel boot-parameters-kernel)
(label label)
(root-device root)
- (boot-name
- (match (assq 'boot-name rest)
+ (bootloader-name
+ (match (assq 'bootloader-name rest)
((_ args) args)
(#f 'grub))) ; for compatibility reasons.
system
root-device)))
#f)))
+
+(define (menu-entry->boot-parameters menu-entry)
+ "Convert a <menu-entry> instance to a corresponding <boot-parameters>."
+ (boot-parameters
+ (label (menu-entry-label menu-entry))
+ (root-device #f)
+ (bootloader-name 'custom)
+ (store-device #f)
+ (store-mount-point #f)
+ (kernel (menu-entry-linux menu-entry))
+ (kernel-arguments (menu-entry-linux-arguments menu-entry))
+ (initrd (menu-entry-initrd menu-entry))))
+
\f
;;;
;;; Services.
(cond
((string-prefix? "arm" (%current-system)) "zImage")
((string-prefix? "mips" (%current-system)) "vmlinuz")
+ ((string-prefix? "aarch64" (%current-system)) "Image")
(else "bzImage")))
(define (operating-system-kernel-file os)
(define* (operating-system-directory-base-entries os #:key container?)
"Return the basic entries of the 'system' directory of OS for use as the
value of the SYSTEM-SERVICE-TYPE service."
- (mlet %store-monad ((locale (operating-system-locale-directory os)))
- (if container?
- (return `(("locale" ,locale)))
- (mlet %store-monad
- ((kernel -> (operating-system-kernel os))
- (initrd (operating-system-initrd-file os))
- (params (operating-system-boot-parameters-file os)))
- (return `(("kernel" ,kernel)
- ("parameters" ,params)
- ("initrd" ,initrd)
- ("locale" ,locale))))))) ;used by libc
+ (let ((locale (operating-system-locale-directory os)))
+ (with-monad %store-monad
+ (if container?
+ (return `(("locale" ,locale)))
+ (mlet %store-monad
+ ((kernel -> (operating-system-kernel os))
+ (initrd (operating-system-initrd-file os))
+ (params (operating-system-boot-parameters-file os)))
+ (return `(("kernel" ,kernel)
+ ("parameters" ,params)
+ ("initrd" ,initrd)
+ ("locale" ,locale)))))))) ;used by libc
(define* (essential-services os #:key container?)
"Return the list of essential services for OS. These are special services
lsof ;for Guix's 'list-runtime-roots'
pciutils usbutils
util-linux inetutils isc-dhcp
+ (@ (gnu packages admin) shadow) ;for 'passwd'
;; wireless-tools is deprecated in favor of iw, but it's still what
;; many people are familiar with, so keep it around.
(let ((shadow (@ (gnu packages admin) shadow)))
(list (file-append shadow "/bin/passwd")
(file-append shadow "/bin/su")
+ (file-append shadow "/bin/newuidmap")
+ (file-append shadow "/bin/newgidmap")
(file-append inetutils "/bin/ping")
(file-append inetutils "/bin/ping6")
(file-append sudo "/bin/sudo")
(store -> (operating-system-store-file-system os))
(bootloader -> (bootloader-configuration-bootloader
(operating-system-bootloader os)))
- (boot-name -> (bootloader-name bootloader))
+ (bootloader-name -> (bootloader-name bootloader))
(label -> (kernel->boot-label (operating-system-kernel os))))
(return (boot-parameters
(label label)
(operating-system-kernel-arguments os system.drv root-device)
(operating-system-user-kernel-arguments os)))
(initrd initrd)
- (boot-name boot-name)
+ (bootloader-name bootloader-name)
(store-device (fs->boot-device store))
(store-mount-point (file-system-mount-point store))))))
(kernel-arguments
#$(boot-parameters-kernel-arguments params))
(initrd #$(boot-parameters-initrd params))
- (boot-name #$(boot-parameters-boot-name params))
+ (bootloader-name #$(boot-parameters-bootloader-name params))
(store
(device #$(boot-parameters-store-device params))
(mount-point #$(boot-parameters-store-mount-point params))))