From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 17 13:00:56 2017 Received: (at submit) by debbugs.gnu.org; 17 Apr 2017 17:00:56 +0000 Received: from localhost ([127.0.0.1]:52743 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0A1I-0001ie-7J for submit@debbugs.gnu.org; Mon, 17 Apr 2017 13:00:56 -0400 Received: from eggs.gnu.org ([208.118.235.92]:43186) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0A1G-0001iR-6G for submit@debbugs.gnu.org; Mon, 17 Apr 2017 13:00:54 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d0A18-0004VD-NS for submit@debbugs.gnu.org; Mon, 17 Apr 2017 13:00:48 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=0.8 required=5.0 tests=BAYES_50 autolearn=disabled version=3.3.2 Received: from lists.gnu.org ([2001:4830:134:3::11]:58467) by eggs.gnu.org with esmtps (TLS1.0:RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1d0A18-0004V7-Ji for submit@debbugs.gnu.org; Mon, 17 Apr 2017 13:00:46 -0400 Received: from eggs.gnu.org ([2001:4830:134:3::10]:34149) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d0A16-0004vD-7K for guix-patches@gnu.org; Mon, 17 Apr 2017 13:00:46 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d0A12-0004T1-4y for guix-patches@gnu.org; Mon, 17 Apr 2017 13:00:44 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:35162) by eggs.gnu.org with esmtps (TLS1.0:DHE_RSA_AES_256_CBC_SHA1:32) (Exim 4.71) (envelope-from ) id 1d0A11-0004SH-LK for guix-patches@gnu.org; Mon, 17 Apr 2017 13:00:39 -0400 Received: from dayas.3.home (178.113.199.173.wireless.dyn.drei.com [178.113.199.173]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 091E71CA023D; Mon, 17 Apr 2017 19:00:34 +0200 (CEST) From: Danny Milosavljevic To: guix-patches@gnu.org Subject: [PATCH] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. Date: Mon, 17 Apr 2017 19:00:30 +0200 Message-Id: <20170417170030.2212-1-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 Tags: patch X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] [fuzzy] X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.6.x X-Received-From: 2001:4830:134:3::11 X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: submit Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) * gnu/system.scm (bootable-kernel-arguments): New variable. (operating-system-parameters-file): Rename to ... (operating-system-boot-parameters-file): ... this and split off ... (operating-system-boot-parameters): ... new variable. (operating-system-bootcfg): Use operating-system-boot-parameters. (operating-system-directory-base-entries): Use operating-system-boot-parameters-file instead of operating-system-parameters-file. (operating-system-all-kernel-arguments): New variable. Export it. (operating-system-kernel-arguments): Remove export. (read-boot-parameters-file): New variable. Export it. (read-boot-parameters): Remove export. * gnu/system/grub.scm (boot-parameters->menu-entry): New variable. (grub-configuration-file): Use boot-parameters->menu-entry. * gnu/system/vm.scm (system-qemu-image/shared-store-script): Use operating-system-all-kernel-arguments. * guix/scripts/system.scm (profile-grub-entries): Rename to ... (profile-boot-parameters): ... this and return boot-parameters directly. (reinstall-grub): Use read-boot-parameters-file. Use profile-boot-parameters instead of profile-grub-entries. (display-system-generation): Use read-boot-parameters-file. Use profile-boot-parameters instead of profile-grub-entries. --- gnu/system.scm | 116 ++++++++++++++++++++++++++++++++---------------- gnu/system/grub.scm | 13 +++++- gnu/system/vm.scm | 10 ++--- guix/scripts/system.scm | 56 +++++++---------------- 4 files changed, 109 insertions(+), 86 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 89c4150f9..f83eb9e58 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -73,7 +73,7 @@ operating-system-hosts-file operating-system-kernel operating-system-kernel-file - operating-system-kernel-arguments + operating-system-all-kernel-arguments operating-system-initrd operating-system-users operating-system-groups @@ -109,7 +109,7 @@ boot-parameters-kernel boot-parameters-kernel-arguments boot-parameters-initrd - read-boot-parameters + read-boot-parameters-file local-host-aliases %setuid-programs @@ -122,6 +122,12 @@ ;;; ;;; Code: +(define (bootable-kernel-arguments kernel-arguments system root-device) + (cons* (string-append "--root=" root-device) + #~(string-append "--system=" #$system) + #~(string-append "--load=" #$system "/boot") + kernel-arguments)) + ;; System-wide configuration. ;; TODO: Add per-field docstrings/stexi. (define-record-type* operating-system @@ -182,6 +188,11 @@ (sudoers-file operating-system-sudoers-file ; file-like (default %sudoers-specification))) +(define (operating-system-all-kernel-arguments os system root-device) + (bootable-kernel-arguments (operating-system-kernel-arguments os) + system + root-device)) + ;;; ;;; Services. @@ -278,7 +289,7 @@ value of the SYSTEM-SERVICE-TYPE service." (mlet %store-monad ((kernel -> (operating-system-kernel os)) (initrd (operating-system-initrd-file os)) - (params (operating-system-parameters-file os))) + (params (operating-system-boot-parameters-file os))) (return `(("kernel" ,kernel) ("parameters" ,params) ("initrd" ,initrd) @@ -735,31 +746,13 @@ populate the \"old entries\" menu." (mlet* %store-monad ((system (operating-system-derivation os)) (root-fs -> (operating-system-root-file-system os)) - (store-fs -> (operating-system-store-file-system os)) - (label -> (kernel->boot-label (operating-system-kernel os))) - (kernel -> (operating-system-kernel-file os)) - (initrd (operating-system-initrd-file os)) (root-device -> (if (eq? 'uuid (file-system-title root-fs)) (uuid->string (file-system-device root-fs)) (file-system-device root-fs))) - (entries -> (list (menu-entry - (label label) - - ;; The device where the kernel and initrd live. - (device (fs->boot-device store-fs)) - (device-mount-point - (file-system-mount-point store-fs)) - - (linux kernel) - (linux-arguments - (cons* (string-append "--root=" root-device) - #~(string-append "--system=" #$system) - #~(string-append "--load=" #$system - "/boot") - (operating-system-kernel-arguments os))) - (initrd initrd))))) - (grub-configuration-file (operating-system-bootloader os) entries - #:old-entries old-entries))) + (entry (operating-system-boot-parameters os system root-device))) + (grub-configuration-file (operating-system-bootloader os) + (list entry) + #:old-entries old-entries))) (define (fs->boot-device fs) "Given FS, a object, return a value suitable for use as the @@ -769,26 +762,51 @@ device in a ." ((label) (file-system-device fs)) (else #f))) -(define (operating-system-parameters-file os) +(define (operating-system-boot-parameters os system root-device) + "Return a monadic record that describes the boot parameters of OS. +SYSTEM is optional. If given, adds kernel arguments for that system to ." + (mlet* %store-monad + ((initrd (operating-system-initrd-file os)) + (store -> (operating-system-store-file-system os)) + (label -> (kernel->boot-label (operating-system-kernel os)))) + (return (boot-parameters + (label label) + (root-device root-device) + (kernel (operating-system-kernel-file os)) + (kernel-arguments + (if system + (operating-system-all-kernel-arguments os system root-device) + (operating-system-kernel-arguments os))) + (initrd initrd) + (store-device (fs->boot-device store)) + (store-mount-point (file-system-mount-point store)))))) + +(define* (operating-system-boot-parameters-file os #:optional (system #f)) "Return a file that describes the boot parameters of OS. The primary use of -this file is the reconstruction of GRUB menu entries for old configurations." - (mlet %store-monad ((initrd (operating-system-initrd-file os)) - (root -> (operating-system-root-file-system os)) - (store -> (operating-system-store-file-system os)) - (label -> (kernel->boot-label - (operating-system-kernel os)))) +this file is the reconstruction of GRUB menu entries for old configurations. +SYSTEM is optional. If given, adds kernel arguments for that system to the +returned file (since the returned file is then usually stored into the +content-addressed \"system\" directory, it's usually not a good idea +to give it because the content hash would change by the content hash +being stored into the \"parameters\" file)." + (mlet* %store-monad ( ;(initrd (operating-system-initrd-file os)) + (root -> (operating-system-root-file-system os)) + ;(store -> (operating-system-store-file-system os)) + ;(label -> (kernel->boot-label + ; (operating-system-kernel os))) + (params (operating-system-boot-parameters os system (file-system-device root)))) (gexp->file "parameters" #~(boot-parameters (version 0) - (label #$label) - (root-device #$(file-system-device root)) - (kernel #$(operating-system-kernel-file os)) + (label #$(boot-parameters-label params)) + (root-device #$(boot-parameters-root-device params)) + (kernel #$(boot-parameters-kernel params)) (kernel-arguments - #$(operating-system-kernel-arguments os)) - (initrd #$initrd) + #$(boot-parameters-kernel-arguments params)) + (initrd #$(boot-parameters-initrd params)) (store - (device #$(fs->boot-device store)) - (mount-point #$(file-system-mount-point store)))) + (device #$(boot-parameters-store-device params)) + (mount-point #$(boot-parameters-store-mount-point params)))) #:set-load-path? #f))) @@ -866,4 +884,24 @@ this file is the reconstruction of GRUB menu entries for old configurations." system) #f))) +(define (read-boot-parameters-file sysgen) + "Read boot parameters from SYSGEN's (system or generation) \"parameters\" +file and returns the corresponding object or #f if the +format is unrecognized. +The object has its kernel-arguments extended in order to make it bootable." + (let* ((file (string-append sysgen "/parameters")) + (params (call-with-input-file file read-boot-parameters)) + (root (boot-parameters-root-device params)) + (root-device (if (bytevector? root) + (uuid->string root) + root)) + (kernel-arguments (boot-parameters-kernel-arguments params))) + (if params + (boot-parameters + (inherit params) + (kernel-arguments (bootable-kernel-arguments kernel-arguments + sysgen + root-device))) + #f))) + ;;; system.scm ends here diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index cde4b9e23..f2838d633 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -267,6 +267,15 @@ code." (#f #~(format #f "search --file --set ~a" #$file))))) +(define (boot-parameters->menu-entry conf) + (menu-entry + (label (boot-parameters-label conf)) + (device (boot-parameters-store-device conf)) + (device-mount-point (boot-parameters-store-mount-point conf)) + (linux (boot-parameters-kernel conf)) + (linux-arguments (boot-parameters-kernel-arguments conf)) + (initrd (boot-parameters-initrd conf)))) + (define* (grub-configuration-file config entries #:key (system (%current-system)) @@ -276,7 +285,7 @@ code." object. OLD-ENTRIES is taken to be a list of menu entries corresponding to old generations of the system." (define all-entries - (append entries + (append (map boot-parameters->menu-entry entries) (grub-configuration-menu-entries config))) (define entry->gexp @@ -323,7 +332,7 @@ set timeout=~a~%" #$@(if (pair? old-entries) #~((format port " submenu \"GNU system, old configurations...\" {~%") - #$@(map entry->gexp old-entries) + #$@(map entry->gexp (map boot-parameters->menu-entry old-entries)) (format port "}~%")) #~())))) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 374d8b663..40db61abb 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -490,12 +490,10 @@ it is mostly useful when FULL-BOOT? is true." #:full-boot? full-boot? #:disk-image-size disk-image-size))) (define kernel-arguments - #~(list "--root=/dev/vda1" - (string-append "--system=" #$os-drv) - (string-append "--load=" #$os-drv "/boot") - #$@(if graphic? #~() #~("console=ttyS0")) - #+@(operating-system-kernel-arguments os))) - + #~(list #$@(if graphic? #~() #~("console=ttyS0")) + #+@(operating-system-all-kernel-arguments os + os-drv + "/dev/vda1"))) (define qemu-exec #~(list (string-append #$qemu "/bin/" #$(qemu-command (%current-system))) #$@(if full-boot? diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 8fabdb5c1..6a99d1fca 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -370,8 +370,7 @@ NUMBERS, which is a list of generation numbers." (define (system->boot-parameters system number time) (unless-file-not-found (let* ((file (string-append system "/parameters")) - (params (call-with-input-file file - read-boot-parameters))) + (params (read-boot-parameters-file file))) params))) (let* ((systems (map (cut generation-file-name profile <>) numbers)) @@ -381,44 +380,26 @@ NUMBERS, which is a list of generation numbers." systems))) (filter-map system->boot-parameters systems numbers times))) -(define* (profile-grub-entries #:optional (profile %system-profile) +(define* (profile-boot-parameters #:optional (profile %system-profile) (numbers (generation-numbers profile))) - "Return a list of 'menu-entry' for the generations of PROFILE specified by + "Return a list of 'boot-parameters' for the generations of PROFILE specified by NUMBERS, which is a list of generation numbers." - (define (system->grub-entry system number time) + (define (system->boot-parameters system number time) (unless-file-not-found - (let* ((file (string-append system "/parameters")) - (params (call-with-input-file file - read-boot-parameters)) - (label (boot-parameters-label params)) - (root (boot-parameters-root-device params)) - (root-device (if (bytevector? root) - (uuid->string root) - root)) - (kernel (boot-parameters-kernel params)) - (kernel-arguments (boot-parameters-kernel-arguments params)) - (initrd (boot-parameters-initrd params))) - (menu-entry - (label (string-append label " (#" - (number->string number) ", " - (seconds->string time) ")")) - (device (boot-parameters-store-device params)) - (device-mount-point (boot-parameters-store-mount-point params)) - (linux kernel) - (linux-arguments - (cons* (string-append "--root=" root-device) - (string-append "--system=" system) - (string-append "--load=" system "/boot") - kernel-arguments)) - (initrd initrd))))) - + (let* ((params (read-boot-parameters-file system)) + (label (boot-parameters-label params))) + (boot-parameters + (inherit params) + (label (string-append label " (#" + (number->string number) ", " + (seconds->string time) ")")))))) (let* ((systems (map (cut generation-file-name profile <>) numbers)) (times (map (lambda (system) (unless-file-not-found (stat:mtime (lstat system)))) systems))) - (filter-map system->grub-entry systems numbers times))) + (filter-map system->boot-parameters systems numbers times))) ;;; @@ -447,18 +428,16 @@ generation as its default entry. STORE is an open connection to the store." "Re-install grub for existing system profile generation NUMBER. STORE is an open connection to the store." (let* ((generation (generation-file-name %system-profile number)) - (file (string-append generation "/parameters")) - (params (unless-file-not-found - (call-with-input-file file read-boot-parameters))) + (params (read-boot-parameters-file generation)) (root-device (boot-parameters-root-device params)) ;; We don't currently keep track of past menu entries' details. The ;; default values will allow the system to boot, even if they differ ;; from the actual past values for this generation's entry. (grub-config (grub-configuration (device root-device))) ;; Make the specified system generation the default entry. - (entries (profile-grub-entries %system-profile (list number))) + (entries (profile-boot-parameters %system-profile (list number))) (old-generations (delv number (generation-numbers %system-profile))) - (old-entries (profile-grub-entries %system-profile old-generations)) + (old-entries (profile-boot-parameters %system-profile old-generations)) (grub.cfg (run-with-store store (grub-configuration-file grub-config entries @@ -533,8 +512,7 @@ list of services." "Display a summary of system generation NUMBER in a human-readable format." (unless (zero? number) (let* ((generation (generation-file-name profile number)) - (param-file (string-append generation "/parameters")) - (params (call-with-input-file param-file read-boot-parameters)) + (params (read-boot-parameters-file generation)) (label (boot-parameters-label params)) (root (boot-parameters-root-device params)) (root-device (if (bytevector? root) @@ -643,7 +621,7 @@ output when building a system derivation, such as a disk image." (operating-system-bootcfg os (if (eq? 'init action) '() - (profile-grub-entries))))) + (profile-boot-parameters))))) ;; For 'init' and 'reconfigure', always build GRUB.CFG, even if ;; --no-grub is passed, because GRUB.CFG because we then use it as a GC From debbugs-submit-bounces@debbugs.gnu.org Mon Apr 17 13:26:49 2017 Received: (at 26544) by debbugs.gnu.org; 17 Apr 2017 17:26:49 +0000 Received: from localhost ([127.0.0.1]:52820 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0AQK-0004CS-UJ for submit@debbugs.gnu.org; Mon, 17 Apr 2017 13:26:49 -0400 Received: from mail-wr0-f169.google.com ([209.85.128.169]:33467) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0AQJ-0004CF-3w for 26544@debbugs.gnu.org; Mon, 17 Apr 2017 13:26:48 -0400 Received: by mail-wr0-f169.google.com with SMTP id l28so86864677wre.0 for <26544@debbugs.gnu.org>; Mon, 17 Apr 2017 10:26:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=5AVblWlhCvErCaJG67KykZq85dc4qgcQYUCOEBGKzgo=; b=tbwg6HTaH+KrDMr4wksi6nthipfK58drSVxBh7dW9eLAbU04iHPNgWE9QQPhQngkTT TAonHEho4rVejTfFWKAuVL+Pz6KlnUcWOEZtxpdsdVkg19XaAzibeS2I4w2hraQwPpvJ wZ1UdNyFKs/Ht4fH1GFvDxHDZ0e3EN/FiD8QSqKOmJozlM7g14C3T8fIIMAsJnTJK+Ni fl9SZSaD0UTq1RzGM1Exp9HibCIdd11/1MrXMSyrWpc7l3CJK9C1umIhy+KZsfvDrXty DZgMv+T4MruBGboofe3WFigL6piZ6Rw04skgb6L9Bwskm9gQ8QO8YMIrJEP/arK9b7Me uDiQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=5AVblWlhCvErCaJG67KykZq85dc4qgcQYUCOEBGKzgo=; b=Yylmt+L3iizInkuZ4Ud9X6varbZ31fBCtPRv/SfvEincNPSF2D35e+hDQnGr69LVnS yYU+9YtkigUOeKdrN+Tw5LFF1UC6NDuYRO9i3E3dCLlp0bNI6Rd6zYp9JLLR7tJguvYw bCDAPpdEEsRHP+0jkOHHCihmaWxOELpZx7tPTg1iIiXUy9t9O+sH9Cd98Dm5gUS3vH+F jPw2kL8iYBCtoYntOfSX1Oi3U0GjIJLz5jeuMVyfu7FDplQrynCb2aM31dT2xiZuq46z jkd4LJ+pSOka11KSY5ksSLtdASB88JXSRWbcfJIl+atBcYpPvv9R0Ckl6AE0n7yAnMI7 cR9A== X-Gm-Message-State: AN3rC/7WPe1Yy3hCFgDQ8ZueyBAD1Cz41Il9lX0fzzPuIWVGMlW5KI3F /txbdH+4iYuGu8sr X-Received: by 10.223.177.155 with SMTP id q27mr18455043wra.23.1492450001111; Mon, 17 Apr 2017 10:26:41 -0700 (PDT) Received: from cervin (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id b31sm15325809wrb.7.2017.04.17.10.26.40 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Mon, 17 Apr 2017 10:26:40 -0700 (PDT) References: <20170417170030.2212-1-dannym@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. In-reply-to: <20170417170030.2212-1-dannym@scratchpost.org> Date: Mon, 17 Apr 2017 19:26:39 +0200 Message-ID: <87shl7aqsw.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) Hi Danny, I'll review it more carefully tomorrow, but here are first comments : > + (mlet* %store-monad ( ;(initrd (operating-system-initrd-file os)) Commented lines. > + (root -> (operating-system-root-file-system os)) > + ;(store -> (operating-system-store-file-system os)) > + ;(label -> (kernel->boot-label > + ; (operating-system-kernel os))) > + (params (operating-system-boot-parameters os system (file-system-device root)))) This line is way over 80 chars. Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 18 04:31:05 2017 Received: (at 26544) by debbugs.gnu.org; 18 Apr 2017 08:31:05 +0000 Received: from localhost ([127.0.0.1]:53407 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0OXR-0002jF-DN for submit@debbugs.gnu.org; Tue, 18 Apr 2017 04:31:05 -0400 Received: from eggs.gnu.org ([208.118.235.92]:35820) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0OXQ-0002ij-0O for 26544@debbugs.gnu.org; Tue, 18 Apr 2017 04:31:04 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d0OXH-0001gh-QA for 26544@debbugs.gnu.org; Tue, 18 Apr 2017 04:30:58 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:57374) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d0OXH-0001gd-Mt; Tue, 18 Apr 2017 04:30:55 -0400 Received: from [193.50.110.90] (port=46280 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d0OXH-00054s-4Q; Tue, 18 Apr 2017 04:30:55 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. References: <20170417170030.2212-1-dannym@scratchpost.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 29 Germinal an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Tue, 18 Apr 2017 10:30:53 +0200 In-Reply-To: <20170417170030.2212-1-dannym@scratchpost.org> (Danny Milosavljevic's message of "Mon, 17 Apr 2017 19:00:30 +0200") Message-ID: <87vaq2rubm.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hi Danny, Another quick preliminary review=E2=80=A6 Could you explain the =E2=80=9Cbig picture=E2=80=9D, the rationale behind t= his change? Danny Milosavljevic skribis: > +(define (bootable-kernel-arguments kernel-arguments system root-device) > + (cons* (string-append "--root=3D" root-device) > + #~(string-append "--system=3D" #$system) > + #~(string-append "--load=3D" #$system "/boot") > + kernel-arguments)) Please add a docstring to top-level procedures: https://www.gnu.org/software/guix/manual/html_node/Formatting-Code.html > +(define (operating-system-all-kernel-arguments os system root-device) > + (bootable-kernel-arguments (operating-system-kernel-arguments os) > + system > + root-device)) For services, we have: operating-system-user-services operating-system-services So I suggest stick to this convention and thus have: operating-system-user-kernel-arguments ;arguments specified by the us= er operating-system-kernel-arguments ;all the arguments > -(define (operating-system-parameters-file os) > +(define (operating-system-boot-parameters os system root-device) I think it would be clearer to rename in a separate patch. > +(define (read-boot-parameters-file sysgen) > + "Read boot parameters from SYSGEN's (system or generation) \"parameter= s\" Please use full words in variable names, typically =E2=80=98system=E2=80=99= here. Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Tue Apr 18 10:52:14 2017 Received: (at 26544) by debbugs.gnu.org; 18 Apr 2017 14:52:14 +0000 Received: from localhost ([127.0.0.1]:54872 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0UUI-0000LQ-9u for submit@debbugs.gnu.org; Tue, 18 Apr 2017 10:52:14 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:32908) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0UUG-0000LI-Mf for 26544@debbugs.gnu.org; Tue, 18 Apr 2017 10:52:13 -0400 Received: from localhost (unknown [193.170.94.190]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 334EA1CA02C5; Tue, 18 Apr 2017 16:52:09 +0200 (CEST) Date: Tue, 18 Apr 2017 16:51:59 +0200 From: Danny Milosavljevic To: ludo@gnu.org (Ludovic =?ISO-8859-1?Q?Court=E8s?=) Subject: Re: bug#26544: [PATCH] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. Message-ID: <20170418165159.2cb80518@scratchpost.org> In-Reply-To: <87vaq2rubm.fsf@gnu.org> References: <20170417170030.2212-1-dannym@scratchpost.org> <87vaq2rubm.fsf@gnu.org> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hi Ludo, > Could you explain the =E2=80=9Cbig picture=E2=80=9D, the rationale behind= this change? Currenly, (gnu system grub) prepends the "--system", "--load" and "--root" = on its own. But that's something specific to the guix system and has nothi= ng to do with bootloaders (it's not even a bootloader option - it's just pa= ssing it through to the Linux kernel and *that* is passing some through to = Shepherd). In connection with the effort to support other bootloaders we could of cour= se copy such a prepension-block to each of the bootloader modules, but in m= y opinion it's better if it's moved to (bootloader-independent) boot-parame= ters so everyone just automatically uses the correct kernel arguments, incl= uding which guix system guix should boot. I suspect that this wasn't done before because the boot-parameters are seri= alized to a file "parameters" in the "system" directory. But then "--syste= m=3D" in that file would have to contain the hash value of the syst= em, which is ... impossible (or at least very very hard to do). Therefore, this patch makes sure the in-memory instances = do contain "--system" with the correct hash value, but the stored "paramete= rs" doesn't. I think that that's the best of both worlds. Clients in guix can use data = read from without second-guessing everything and the stor= ed file still doesn't have to solve a hash-functions-really-try-to-prevent-= you-from-doing-that problem - the stored file doesn't contain the hash valu= e of itself (and now doesn't need to). I've successfully tested it by "guix system reconfigure" on my machine and = also by "guix system vm" (full-boot and non-full-boot) on my machine, start= ing from master. > Danny Milosavljevic skribis: >=20 > > +(define (bootable-kernel-arguments kernel-arguments system root-device) > Please add a docstring to top-level procedures: Something like this? "Prepend extra arguments to KERNEL-ARGUMENTS that allow the guix system to = boot SYSTEM on ROOT-DEVICE." > So I suggest stick to this convention and thus have: >=20 > operating-system-user-kernel-arguments ;arguments specified by the = user > operating-system-kernel-arguments ;all the arguments Hmm, I don't think it's really directly specified by the user, is it? I'm = just trying to avoid having to store the file's (more or less) own hash val= ue into the file. > > -(define (operating-system-parameters-file os) > > +(define (operating-system-boot-parameters os system root-device) =20 >=20 > I think it would be clearer to rename in a separate patch. I'll try. > > +(define (read-boot-parameters-file sysgen) > > + "Read boot parameters from SYSGEN's (system or generation) \"paramet= ers\" =20 >=20 > Please use full words in variable names, typically =E2=80=98system=E2=80= =99 here. Ok. Should the docstring say "SYSTEM (system or generation)" or just "SYST= EM"? From debbugs-submit-bounces@debbugs.gnu.org Wed Apr 19 05:59:52 2017 Received: (at 26544) by debbugs.gnu.org; 19 Apr 2017 09:59:52 +0000 Received: from localhost ([127.0.0.1]:55577 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0mOu-0007q4-2G for submit@debbugs.gnu.org; Wed, 19 Apr 2017 05:59:52 -0400 Received: from eggs.gnu.org ([208.118.235.92]:38608) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d0mOr-0007pp-TT for 26544@debbugs.gnu.org; Wed, 19 Apr 2017 05:59:50 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d0mOh-0005ki-VV for 26544@debbugs.gnu.org; Wed, 19 Apr 2017 05:59:44 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-0.0 required=5.0 tests=BAYES_40,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:43059) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d0mOh-0005kc-Ru; Wed, 19 Apr 2017 05:59:39 -0400 Received: from reverse-83.fdn.fr ([80.67.176.83]:37598 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d0mOh-0003Nt-80; Wed, 19 Apr 2017 05:59:39 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. References: <20170417170030.2212-1-dannym@scratchpost.org> <87vaq2rubm.fsf@gnu.org> <20170418165159.2cb80518@scratchpost.org> X-URL: http://www.fdn.fr/~lcourtes/ X-Revolutionary-Date: 30 Germinal an 225 de la =?utf-8?Q?R=C3=A9volution?= X-PGP-Key-ID: 0x090B11993D9AEBB5 X-PGP-Key: http://www.fdn.fr/~lcourtes/ludovic.asc X-PGP-Fingerprint: 3CE4 6455 8A84 FDC6 9DB4 0CFB 090B 1199 3D9A EBB5 X-OS: x86_64-unknown-linux-gnu Date: Wed, 19 Apr 2017 11:59:37 +0200 In-Reply-To: <20170418165159.2cb80518@scratchpost.org> (Danny Milosavljevic's message of "Tue, 18 Apr 2017 16:51:59 +0200") Message-ID: <87inm0ra46.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hello! Danny Milosavljevic skribis: >> Could you explain the =E2=80=9Cbig picture=E2=80=9D, the rationale behin= d this >> change? > > Currenly, (gnu system grub) prepends the "--system", "--load" and > "--root" on its own. But that's something specific to the guix system > and has nothing to do with bootloaders (it's not even a bootloader > option - it's just passing it through to the Linux kernel and *that* > is passing some through to Shepherd). > > In connection with the effort to support other bootloaders we could of > course copy such a prepension-block to each of the bootloader modules, > but in my opinion it's better if it's moved to > (bootloader-independent) boot-parameters so everyone just > automatically uses the correct kernel arguments, including which guix > system guix should boot. OK, that makes a lot of sense, indeed. > I suspect that this wasn't done before because the boot-parameters are > serialized to a file "parameters" in the "system" directory. But then > "--system=3D" in that file would have to contain the hash value > of the system, which is ... impossible (or at least very very hard to > do). > > Therefore, this patch makes sure the in-memory > instances do contain "--system" with the correct hash value, but the > stored "parameters" doesn't. OK, I see. I=E2=80=99ll look more closely at the patch but I think it=E2= =80=99s fine to treat --system specially, for the reasons you gave. >> Danny Milosavljevic skribis: >>=20 >> > +(define (bootable-kernel-arguments kernel-arguments system >> > root-device) > >> Please add a docstring to top-level procedures: > > Something like this? > > "Prepend extra arguments to KERNEL-ARGUMENTS that allow the guix > system to boot SYSTEM on ROOT-DEVICE." Yeah, something like that (=E2=80=9Cthat allow SYSTEM to be botted from ROOT-DEVICE=E2=80=9D maybe.) >> So I suggest stick to this convention and thus have: >>=20 >> operating-system-user-kernel-arguments ;arguments specified by the >> user operating-system-kernel-arguments ;all the arguments > > Hmm, I don't think it's really directly specified by the user, is it? > I'm just trying to avoid having to store the file's (more or less) own > hash value into the file. I=E2=80=99ll have to check. >> > -(define (operating-system-parameters-file os) +(define >> > (operating-system-boot-parameters os system root-device) >> I think it would be clearer to rename in a separate patch. > > I'll try. > >> > +(define (read-boot-parameters-file sysgen) + "Read boot >> > parameters from SYSGEN's (system or generation) \"parameters\" >> Please use full words in variable names, typically =E2=80=98system=E2= =80=99 here. > > Ok. Should the docstring say "SYSTEM (system or generation)" or just > "SYSTEM"? The former is clearer IMO. Thank you, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 20 22:21:38 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 02:21:39 +0000 Received: from localhost ([127.0.0.1]:59518 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCY-0001SB-LT for submit@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:38 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:54110) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCW-0001Rh-Kv for 26544@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:37 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 2DC0A1CA27CB; Fri, 21 Apr 2017 04:21:35 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v2 2/8] system: Rename operating-system-parameters-file to operating-system-boot-parameters-file. Date: Fri, 21 Apr 2017 04:21:21 +0200 Message-Id: <20170421022127.20524-3-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421022127.20524-1-dannym@scratchpost.org> References: <20170421022127.20524-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (operating-system-parameters-file): Rename to ... (operating-system-boot-parameters-file): ... this. (operating-system-directory-base-entries): Adapt call site. --- gnu/system.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 4032e8e15..44190bdfc 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -278,7 +278,7 @@ value of the SYSTEM-SERVICE-TYPE service." (mlet %store-monad ((kernel -> (operating-system-kernel os)) (initrd (operating-system-initrd-file os)) - (params (operating-system-parameters-file os))) + (params (operating-system-boot-parameters-file os))) (return `(("kernel" ,kernel) ("parameters" ,params) ("initrd" ,initrd) @@ -769,7 +769,7 @@ device in a ." ((label) (file-system-device fs)) (else #f))) -(define (operating-system-parameters-file os) +(define (operating-system-boot-parameters-file os) "Return a file that describes the boot parameters of OS. The primary use of this file is the reconstruction of GRUB menu entries for old configurations." (mlet %store-monad ((initrd (operating-system-initrd-file os)) From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 20 22:21:39 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 02:21:39 +0000 Received: from localhost ([127.0.0.1]:59520 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCY-0001SI-Tx for submit@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:39 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:54112) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCW-0001Ri-Kv for 26544@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:37 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id C61D61CA27C7; Fri, 21 Apr 2017 04:21:33 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v2 1/8] system: Rename operating-system-kernel-arguments to operating-system-user-kernel-arguments. Date: Fri, 21 Apr 2017 04:21:20 +0200 Message-Id: <20170421022127.20524-2-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421022127.20524-1-dannym@scratchpost.org> References: <20170421022127.20524-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (operating-system-kernel-arguments): Rename to ... (operating-system-user-kernel-arguments): ... this. (): Adapt accordingly. (operating-system-bootcfg): Adapt accordingly. (operating-system-parameters-file): Adapt accordingly. * gnu/system/vm.scm (system-qemu-image/shared-store-script): Adapt accordingly. --- gnu/system.scm | 8 ++++---- gnu/system/vm.scm | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index f6ab7ded8..4032e8e15 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -73,7 +73,7 @@ operating-system-hosts-file operating-system-kernel operating-system-kernel-file - operating-system-kernel-arguments + operating-system-user-kernel-arguments operating-system-initrd operating-system-users operating-system-groups @@ -129,7 +129,7 @@ operating-system? (kernel operating-system-kernel ; package (default linux-libre)) - (kernel-arguments operating-system-kernel-arguments + (kernel-arguments operating-system-user-kernel-arguments (default '())) ; list of gexps/strings (bootloader operating-system-bootloader) ; @@ -756,7 +756,7 @@ populate the \"old entries\" menu." #~(string-append "--system=" #$system) #~(string-append "--load=" #$system "/boot") - (operating-system-kernel-arguments os))) + (operating-system-user-kernel-arguments os))) (initrd initrd))))) (grub-configuration-file (operating-system-bootloader os) entries #:old-entries old-entries))) @@ -784,7 +784,7 @@ this file is the reconstruction of GRUB menu entries for old configurations." (root-device #$(file-system-device root)) (kernel #$(operating-system-kernel-file os)) (kernel-arguments - #$(operating-system-kernel-arguments os)) + #$(operating-system-user-kernel-arguments os)) (initrd #$initrd) (store (device #$(fs->boot-device store)) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 374d8b663..4f915c4f9 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -494,7 +494,7 @@ it is mostly useful when FULL-BOOT? is true." (string-append "--system=" #$os-drv) (string-append "--load=" #$os-drv "/boot") #$@(if graphic? #~() #~("console=ttyS0")) - #+@(operating-system-kernel-arguments os))) + #+@(operating-system-user-kernel-arguments os))) (define qemu-exec #~(list (string-append #$qemu "/bin/" #$(qemu-command (%current-system))) From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 20 22:21:39 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 02:21:39 +0000 Received: from localhost ([127.0.0.1]:59522 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCZ-0001SQ-4R for submit@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:39 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:54114) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCW-0001Rj-Ky for 26544@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:37 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 5B1511CA1FF4; Fri, 21 Apr 2017 04:21:32 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v2 0/8] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. Date: Fri, 21 Apr 2017 04:21:19 +0200 Message-Id: <20170421022127.20524-1-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Danny Milosavljevic (8): system: Rename operating-system-kernel-arguments to operating-system-user-kernel-arguments. system: Rename operating-system-parameters-file to operating-system-boot-parameters-file. system: Factorize operating-system-boot-parameters-file. system: Introduce operating-system-kernel-arguments and use it. system: Introduce read-boot-parameters-file. system: vm: Use operating-system-kernel-arguments. system: Use operating-system-boot-parameters directly. system: grub: Use boot-parameters instead of menu-entry where possible. gnu/system.scm | 133 +++++++++++++++++++++++++++++++----------------- gnu/system/grub.scm | 14 ++++- gnu/system/vm.scm | 7 +-- guix/scripts/system.scm | 24 ++++----- 4 files changed, 110 insertions(+), 68 deletions(-) From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 20 22:21:39 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 02:21:40 +0000 Received: from localhost ([127.0.0.1]:59524 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCZ-0001SX-Bf for submit@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:39 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:54116) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCX-0001Rl-1I for 26544@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:37 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 2F3B31CA4BFA; Fri, 21 Apr 2017 04:21:36 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v2 3/8] system: Factorize operating-system-boot-parameters-file. Date: Fri, 21 Apr 2017 04:21:22 +0200 Message-Id: <20170421022127.20524-4-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421022127.20524-1-dannym@scratchpost.org> References: <20170421022127.20524-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (operating-system-boot-parameters): New variable. (operating-system-boot-parameters-file): Modify. --- gnu/system.scm | 61 ++++++++++++++++++++++++++++++++++++++-------------------- 1 file changed, 40 insertions(+), 21 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 44190bdfc..65803e25b 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -769,27 +769,46 @@ device in a ." ((label) (file-system-device fs)) (else #f))) -(define (operating-system-boot-parameters-file os) - "Return a file that describes the boot parameters of OS. The primary use of -this file is the reconstruction of GRUB menu entries for old configurations." - (mlet %store-monad ((initrd (operating-system-initrd-file os)) - (root -> (operating-system-root-file-system os)) - (store -> (operating-system-store-file-system os)) - (label -> (kernel->boot-label - (operating-system-kernel os)))) - (gexp->file "parameters" - #~(boot-parameters - (version 0) - (label #$label) - (root-device #$(file-system-device root)) - (kernel #$(operating-system-kernel-file os)) - (kernel-arguments - #$(operating-system-user-kernel-arguments os)) - (initrd #$initrd) - (store - (device #$(fs->boot-device store)) - (mount-point #$(file-system-mount-point store)))) - #:set-load-path? #f))) +(define (operating-system-boot-parameters os system root-device) + "Return a monadic record that describes the boot parameters of OS. +SYSTEM is optional. If given, adds kernel arguments for that system to ." + (mlet* %store-monad + ((initrd (operating-system-initrd-file os)) + (store -> (operating-system-store-file-system os)) + (label -> (kernel->boot-label (operating-system-kernel os)))) + (return (boot-parameters + (label label) + (root-device root-device) + (kernel (operating-system-kernel-file os)) + (kernel-arguments + (operating-system-user-kernel-arguments os)) + (initrd initrd) + (store-device (fs->boot-device store)) + (store-mount-point (file-system-mount-point store)))))) + +(define* (operating-system-boot-parameters-file os #:optional (system #f)) + "Return a file that describes the boot parameters of OS. The primary use of +this file is the reconstruction of GRUB menu entries for old configurations. +SYSTEM is optional. If given, adds kernel arguments for that system to the +returned file (since the returned file is then usually stored into the +content-addressed \"system\" directory, it's usually not a good idea +to give it because the content hash would change by the content hash +being stored into the \"parameters\" file)." + (mlet* %store-monad ((root -> (operating-system-root-file-system os)) + (params (operating-system-boot-parameters os system (file-system-device root)))) + (gexp->file "parameters" + #~(boot-parameters + (version 0) + (label #$(boot-parameters-label params)) + (root-device #$(boot-parameters-root-device params)) + (kernel #$(boot-parameters-kernel params)) + (kernel-arguments + #$(boot-parameters-kernel-arguments params)) + (initrd #$(boot-parameters-initrd params)) + (store + (device #$(boot-parameters-store-device params)) + (mount-point #$(boot-parameters-store-mount-point params)))) + #:set-load-path? #f))) ;;; From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 20 22:21:46 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 02:21:46 +0000 Received: from localhost ([127.0.0.1]:59530 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCf-0001TE-Rv for submit@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:46 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:54120) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCY-0001S9-Al for 26544@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:38 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 32B2E1CA4EBC; Fri, 21 Apr 2017 04:21:37 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v2 4/8] system: Introduce operating-system-kernel-arguments and use it. Date: Fri, 21 Apr 2017 04:21:23 +0200 Message-Id: <20170421022127.20524-5-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421022127.20524-1-dannym@scratchpost.org> References: <20170421022127.20524-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (bootable-kernel-arguments): New variable. (operating-system-kernel-arguments): New variable. (operating-system-bootcfg): Use operating-system-kernel-arguments. (operating-system-boot-parameters): Use operating-system-kernel-arguments. --- gnu/system.scm | 30 ++++++++++++++++++++++++++---- 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 65803e25b..31764c830 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -73,7 +73,7 @@ operating-system-hosts-file operating-system-kernel operating-system-kernel-file - operating-system-user-kernel-arguments + operating-system-kernel-arguments operating-system-initrd operating-system-users operating-system-groups @@ -122,6 +122,14 @@ ;;; ;;; Code: +(define (bootable-kernel-arguments kernel-arguments system root-device) + "Prepend extra arguments to KERNEL-ARGUMENTS that allow SYSTEM to be +booted from ROOT-DEVICE" + (cons* (string-append "--root=" root-device) + #~(string-append "--system=" #$system) + #~(string-append "--load=" #$system "/boot") + kernel-arguments)) + ;; System-wide configuration. ;; TODO: Add per-field docstrings/stexi. (define-record-type* operating-system @@ -182,6 +190,13 @@ (sudoers-file operating-system-sudoers-file ; file-like (default %sudoers-specification))) +(define (operating-system-kernel-arguments os system root-device) + "Return all the kernel arguments, including the ones not specified +directly by the user." + (bootable-kernel-arguments (operating-system-user-kernel-arguments os) + system + root-device)) + ;;; ;;; Services. @@ -756,7 +771,9 @@ populate the \"old entries\" menu." #~(string-append "--system=" #$system) #~(string-append "--load=" #$system "/boot") - (operating-system-user-kernel-arguments os))) + (operating-system-kernel-arguments os + system + root-device))) (initrd initrd))))) (grub-configuration-file (operating-system-bootloader os) entries #:old-entries old-entries))) @@ -781,7 +798,9 @@ SYSTEM is optional. If given, adds kernel arguments for that system to boot-device store)) (store-mount-point (file-system-mount-point store)))))) @@ -795,7 +814,10 @@ content-addressed \"system\" directory, it's usually not a good idea to give it because the content hash would change by the content hash being stored into the \"parameters\" file)." (mlet* %store-monad ((root -> (operating-system-root-file-system os)) - (params (operating-system-boot-parameters os system (file-system-device root)))) + (device -> (file-system-device root)) + (params (operating-system-boot-parameters os + system + device))) (gexp->file "parameters" #~(boot-parameters (version 0) From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 20 22:21:46 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 02:21:46 +0000 Received: from localhost ([127.0.0.1]:59532 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCg-0001TG-3V for submit@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:46 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:54128) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCZ-0001SN-8l for 26544@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:39 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 6D6DF1CA1FF4; Fri, 21 Apr 2017 04:21:38 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v2 5/8] system: Introduce read-boot-parameters-file. Date: Fri, 21 Apr 2017 04:21:24 +0200 Message-Id: <20170421022127.20524-6-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421022127.20524-1-dannym@scratchpost.org> References: <20170421022127.20524-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (read-boot-parameters): Remove export. (read-boot-parameters-file): New variable. Export it. * guix/scripts/system.scm (profile-boot-parameters): Use read-boot-parameters-file. (profile-grub-entries): Use read-boot-parameters-file. (reinstall-grub): Use read-boot-parameters-file. (display-system-generation): Use read-boot-parameters-file. --- gnu/system.scm | 22 +++++++++++++++++++++- guix/scripts/system.scm | 10 ++++------ 2 files changed, 25 insertions(+), 7 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 31764c830..cb166c755 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -109,7 +109,7 @@ boot-parameters-kernel boot-parameters-kernel-arguments boot-parameters-initrd - read-boot-parameters + read-boot-parameters-file local-host-aliases %setuid-programs @@ -907,4 +907,24 @@ being stored into the \"parameters\" file)." system) #f))) +(define (read-boot-parameters-file system) + "Read boot parameters from SYSTEM's (system or generation) \"parameters\" +file and returns the corresponding object or #f if the +format is unrecognized. +The object has its kernel-arguments extended in order to make it bootable." + (let* ((file (string-append system "/parameters")) + (params (call-with-input-file file read-boot-parameters)) + (root (boot-parameters-root-device params)) + (root-device (if (bytevector? root) + (uuid->string root) + root)) + (kernel-arguments (boot-parameters-kernel-arguments params))) + (if params + (boot-parameters + (inherit params) + (kernel-arguments (bootable-kernel-arguments kernel-arguments + system + root-device))) + #f))) + ;;; system.scm ends here diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 8fabdb5c1..378138c26 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -370,8 +370,7 @@ NUMBERS, which is a list of generation numbers." (define (system->boot-parameters system number time) (unless-file-not-found (let* ((file (string-append system "/parameters")) - (params (call-with-input-file file - read-boot-parameters))) + (params (read-boot-parameters-file file))) params))) (let* ((systems (map (cut generation-file-name profile <>) numbers)) @@ -388,8 +387,7 @@ NUMBERS, which is a list of generation numbers." (define (system->grub-entry system number time) (unless-file-not-found (let* ((file (string-append system "/parameters")) - (params (call-with-input-file file - read-boot-parameters)) + (params (read-boot-parameters-file file)) (label (boot-parameters-label params)) (root (boot-parameters-root-device params)) (root-device (if (bytevector? root) @@ -449,7 +447,7 @@ open connection to the store." (let* ((generation (generation-file-name %system-profile number)) (file (string-append generation "/parameters")) (params (unless-file-not-found - (call-with-input-file file read-boot-parameters))) + (read-boot-parameters-file file))) (root-device (boot-parameters-root-device params)) ;; We don't currently keep track of past menu entries' details. The ;; default values will allow the system to boot, even if they differ @@ -534,7 +532,7 @@ list of services." (unless (zero? number) (let* ((generation (generation-file-name profile number)) (param-file (string-append generation "/parameters")) - (params (call-with-input-file param-file read-boot-parameters)) + (params (read-boot-parameters-file param-file)) (label (boot-parameters-label params)) (root (boot-parameters-root-device params)) (root-device (if (bytevector? root) From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 20 22:21:46 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 02:21:46 +0000 Received: from localhost ([127.0.0.1]:59534 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCg-0001TP-Cf for submit@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:46 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:54132) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCa-0001So-Ay for 26544@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:40 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 5B5DE1CA519F; Fri, 21 Apr 2017 04:21:39 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v2 6/8] system: vm: Use operating-system-kernel-arguments. Date: Fri, 21 Apr 2017 04:21:25 +0200 Message-Id: <20170421022127.20524-7-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421022127.20524-1-dannym@scratchpost.org> References: <20170421022127.20524-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system/vm.scm (system-qemu-image/shared-store-script): Use operating-system-kernel-arguments. --- gnu/system/vm.scm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 4f915c4f9..2c8b954c8 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -490,11 +490,8 @@ it is mostly useful when FULL-BOOT? is true." #:full-boot? full-boot? #:disk-image-size disk-image-size))) (define kernel-arguments - #~(list "--root=/dev/vda1" - (string-append "--system=" #$os-drv) - (string-append "--load=" #$os-drv "/boot") - #$@(if graphic? #~() #~("console=ttyS0")) - #+@(operating-system-user-kernel-arguments os))) + #~(list #$@(if graphic? #~() #~("console=ttyS0")) + #+@(operating-system-kernel-arguments os os-drv "/dev/vda1"))) (define qemu-exec #~(list (string-append #$qemu "/bin/" #$(qemu-command (%current-system))) From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 20 22:21:46 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 02:21:46 +0000 Received: from localhost ([127.0.0.1]:59536 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCg-0001TW-Jd for submit@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:46 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:54142) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCb-0001Sw-8j for 26544@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:42 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 700351CA27C7; Fri, 21 Apr 2017 04:21:40 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v2 7/8] system: Use operating-system-boot-parameters directly. Date: Fri, 21 Apr 2017 04:21:26 +0200 Message-Id: <20170421022127.20524-8-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421022127.20524-1-dannym@scratchpost.org> References: <20170421022127.20524-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (operating-system-bootcfg): Use operating-system-boot-parameters directly. --- gnu/system.scm | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index cb166c755..013bd5356 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -750,33 +750,13 @@ populate the \"old entries\" menu." (mlet* %store-monad ((system (operating-system-derivation os)) (root-fs -> (operating-system-root-file-system os)) - (store-fs -> (operating-system-store-file-system os)) - (label -> (kernel->boot-label (operating-system-kernel os))) - (kernel -> (operating-system-kernel-file os)) - (initrd (operating-system-initrd-file os)) (root-device -> (if (eq? 'uuid (file-system-title root-fs)) (uuid->string (file-system-device root-fs)) (file-system-device root-fs))) - (entries -> (list (menu-entry - (label label) - - ;; The device where the kernel and initrd live. - (device (fs->boot-device store-fs)) - (device-mount-point - (file-system-mount-point store-fs)) - - (linux kernel) - (linux-arguments - (cons* (string-append "--root=" root-device) - #~(string-append "--system=" #$system) - #~(string-append "--load=" #$system - "/boot") - (operating-system-kernel-arguments os - system - root-device))) - (initrd initrd))))) - (grub-configuration-file (operating-system-bootloader os) entries - #:old-entries old-entries))) + (entry (operating-system-boot-parameters os system root-device))) + (grub-configuration-file (operating-system-bootloader os) + (list entry) + #:old-entries old-entries))) (define (fs->boot-device fs) "Given FS, a object, return a value suitable for use as the From debbugs-submit-bounces@debbugs.gnu.org Thu Apr 20 22:21:47 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 02:21:47 +0000 Received: from localhost ([127.0.0.1]:59538 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCg-0001Td-S2 for submit@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:47 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:54150) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1OCc-0001Sz-Bj for 26544@debbugs.gnu.org; Thu, 20 Apr 2017 22:21:42 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 837451CA522E; Fri, 21 Apr 2017 04:21:41 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v2 8/8] system: grub: Use boot-parameters instead of menu-entry where possible. Date: Fri, 21 Apr 2017 04:21:27 +0200 Message-Id: <20170421022127.20524-9-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421022127.20524-1-dannym@scratchpost.org> References: <20170421022127.20524-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system/grub.scm (boot-parameters->menu-entry): New variable. (grub-configuration-file): Use boot-parameters instead of menu-entry where possible. * guix/scripts/system.scm (profile-boot-parameters): Update docstring. (reinstall-grub): Use profile-boot-parameters. (perform-action): Use profile-boot-parameters. --- gnu/system/grub.scm | 14 ++++++++++++-- guix/scripts/system.scm | 22 +++++++++------------- 2 files changed, 21 insertions(+), 15 deletions(-) diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index cde4b9e23..d2fa984ec 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -267,6 +267,16 @@ code." (#f #~(format #f "search --file --set ~a" #$file))))) +(define (boot-parameters->menu-entry conf) + "Convert a instance to a corresponding ." + (menu-entry + (label (boot-parameters-label conf)) + (device (boot-parameters-store-device conf)) + (device-mount-point (boot-parameters-store-mount-point conf)) + (linux (boot-parameters-kernel conf)) + (linux-arguments (boot-parameters-kernel-arguments conf)) + (initrd (boot-parameters-initrd conf)))) + (define* (grub-configuration-file config entries #:key (system (%current-system)) @@ -276,7 +286,7 @@ code." object. OLD-ENTRIES is taken to be a list of menu entries corresponding to old generations of the system." (define all-entries - (append entries + (append (map boot-parameters->menu-entry entries) (grub-configuration-menu-entries config))) (define entry->gexp @@ -323,7 +333,7 @@ set timeout=~a~%" #$@(if (pair? old-entries) #~((format port " submenu \"GNU system, old configurations...\" {~%") - #$@(map entry->gexp old-entries) + #$@(map entry->gexp (map boot-parameters->menu-entry old-entries)) (format port "}~%")) #~())))) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 378138c26..dade5eb85 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -365,12 +365,11 @@ it atomically, and then run OS's activation script." (define* (profile-boot-parameters #:optional (profile %system-profile) (numbers (generation-numbers profile))) - "Return a list of 'menu-entry' for the generations of PROFILE specified by -NUMBERS, which is a list of generation numbers." + "Return a list of 'boot-parameters' for the generations of PROFILE specified +by NUMBERS, which is a list of generation numbers." (define (system->boot-parameters system number time) (unless-file-not-found - (let* ((file (string-append system "/parameters")) - (params (read-boot-parameters-file file))) + (let* ((params (read-boot-parameters-file system))) params))) (let* ((systems (map (cut generation-file-name profile <>) numbers)) @@ -386,8 +385,7 @@ NUMBERS, which is a list of generation numbers." NUMBERS, which is a list of generation numbers." (define (system->grub-entry system number time) (unless-file-not-found - (let* ((file (string-append system "/parameters")) - (params (read-boot-parameters-file file)) + (let* ((params (read-boot-parameters-file system)) (label (boot-parameters-label params)) (root (boot-parameters-root-device params)) (root-device (if (bytevector? root) @@ -445,18 +443,17 @@ generation as its default entry. STORE is an open connection to the store." "Re-install grub for existing system profile generation NUMBER. STORE is an open connection to the store." (let* ((generation (generation-file-name %system-profile number)) - (file (string-append generation "/parameters")) (params (unless-file-not-found - (read-boot-parameters-file file))) + (read-boot-parameters-file generation))) (root-device (boot-parameters-root-device params)) ;; We don't currently keep track of past menu entries' details. The ;; default values will allow the system to boot, even if they differ ;; from the actual past values for this generation's entry. (grub-config (grub-configuration (device root-device))) ;; Make the specified system generation the default entry. - (entries (profile-grub-entries %system-profile (list number))) + (entries (profile-boot-parameters %system-profile (list number))) (old-generations (delv number (generation-numbers %system-profile))) - (old-entries (profile-grub-entries %system-profile old-generations)) + (old-entries (profile-boot-parameters %system-profile old-generations)) (grub.cfg (run-with-store store (grub-configuration-file grub-config entries @@ -531,8 +528,7 @@ list of services." "Display a summary of system generation NUMBER in a human-readable format." (unless (zero? number) (let* ((generation (generation-file-name profile number)) - (param-file (string-append generation "/parameters")) - (params (read-boot-parameters-file param-file)) + (params (read-boot-parameters-file generation)) (label (boot-parameters-label params)) (root (boot-parameters-root-device params)) (root-device (if (bytevector? root) @@ -641,7 +637,7 @@ output when building a system derivation, such as a disk image." (operating-system-bootcfg os (if (eq? 'init action) '() - (profile-grub-entries))))) + (profile-boot-parameters))))) ;; For 'init' and 'reconfigure', always build GRUB.CFG, even if ;; --no-grub is passed, because GRUB.CFG because we then use it as a GC From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 04:22:35 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 08:22:36 +0000 Received: from localhost ([127.0.0.1]:59693 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1Tpr-0000RS-Ny for submit@debbugs.gnu.org; Fri, 21 Apr 2017 04:22:35 -0400 Received: from mail-wm0-f68.google.com ([74.125.82.68]:36819) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1Tpq-0000RG-Dh for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 04:22:34 -0400 Received: by mail-wm0-f68.google.com with SMTP id u65so3421869wmu.3 for <26544@debbugs.gnu.org>; Fri, 21 Apr 2017 01:22:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=zjuW3ZZxZ6MRw7iHsWoT0I4wPGYDOkPzJlfQ0BhHeRY=; b=ZJvCW02FhldNa+MtGra6W0+xTsA650QqV+eBcWOazYVEd29DP6vMTFr4xOmbwDARGp YJe00YUDBpYsIHfMG5FJ+5lNCeBfSHdU33ENve+b+/m7+0beLsyDqD3GbaLgSYycxDb0 OEDRJ3vvTdDCX0PoOpCGX5n8Qv2K2Rz/7IrKGSO55AJnYRrGCinimEWYqhex+XOYguwY BhrZQMS+AgwSZO59Ca6+8jVK8fUr5oLmTMqQYs7sNJTUZFIWhG68yVId4jLGiRo9U0Ph r6kZg5Riok7hK11BAf9EIyP4s8Ua7SEAtRrMpgYhMP0BxiglFai/f7NMBBfj73X97lhH EjVA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=zjuW3ZZxZ6MRw7iHsWoT0I4wPGYDOkPzJlfQ0BhHeRY=; b=ofhWo+wtBxzgmOCimBlLirLwXSHAVYRWQG681PzgyBJ+OAxnLmSlev6txmNQ8wKQCb nZVoyG9vgxyOSJsoqNfGua0m4ND3/Yi3iMf3Hetfem+5p5gg2d+Ig4au/9aSr0a5c9oK cmq3+TnErObJ9bPmhQgGVOtCzpfNrDUg7w7Feofned2G3xIlRIhXx9WD1M6xU0BKYgru TFylpRiHBB5f7N1BtCR3qp2jYuBd7untGg4qZmxmG+t3tzfP4v+cd+skubHOBzmdVnPS Pk/e8laLFSHPMZRQmgv6/rhE7DUYArMaiKl8/Kj2eSXfG/3RnUegNl3BBVcpVVb8+l+4 bAKg== X-Gm-Message-State: AN3rC/5AWZTi79oLXIm2LPg+lCHO0ssObwDb5UO0+7liZZE3KTfRAiyW cX3AO6cndCx13w== X-Received: by 10.28.91.77 with SMTP id p74mr7046544wmb.123.1492762948663; Fri, 21 Apr 2017 01:22:28 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id 38sm10793105wru.1.2017.04.21.01.22.27 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 21 Apr 2017 01:22:27 -0700 (PDT) References: <20170417170030.2212-1-dannym@scratchpost.org> <20170421022127.20524-1-dannym@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH v2 0/8] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. In-reply-to: <20170421022127.20524-1-dannym@scratchpost.org> Date: Fri, 21 Apr 2017 10:22:49 +0200 Message-ID: <86h91ikw4m.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) Hi Danny, Most of the serie LGTM. However, I noticed that the grub menuentries in /boot/grub/grub.cfg produced during a reconfigure are loosing their labels (#1, ...). Thanks, Mathieu Danny Milosavljevic writes: > Danny Milosavljevic (8): > system: Rename operating-system-kernel-arguments to > operating-system-user-kernel-arguments. > system: Rename operating-system-parameters-file to > operating-system-boot-parameters-file. > system: Factorize operating-system-boot-parameters-file. > system: Introduce operating-system-kernel-arguments and use it. > system: Introduce read-boot-parameters-file. > system: vm: Use operating-system-kernel-arguments. > system: Use operating-system-boot-parameters directly. > system: grub: Use boot-parameters instead of menu-entry where > possible. > > gnu/system.scm | 133 +++++++++++++++++++++++++++++++----------------- > gnu/system/grub.scm | 14 ++++- > gnu/system/vm.scm | 7 +-- > guix/scripts/system.scm | 24 ++++----- > 4 files changed, 110 insertions(+), 68 deletions(-) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 04:22:56 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 08:22:56 +0000 Received: from localhost ([127.0.0.1]:59697 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1TqB-0000S3-W6 for submit@debbugs.gnu.org; Fri, 21 Apr 2017 04:22:56 -0400 Received: from mail-wm0-f49.google.com ([74.125.82.49]:34951) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1TqA-0000Rn-LP for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 04:22:55 -0400 Received: by mail-wm0-f49.google.com with SMTP id w64so10099909wma.0 for <26544@debbugs.gnu.org>; Fri, 21 Apr 2017 01:22:54 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=dJMWrGLIUciyf0M/vXOJXfVbj0H0zKupKsCVjNgy+BA=; b=hBh/DqWxKydfz2nhQ4m4+8G+MYxSALLxl1Z1PvFBznzv2YRc9DmIjS25RWw1mkPLA4 WfIeYSi1jDDPmX86E4lqHqk5e5KMWm4r8FcS97zHyByWPv1F86QyXIstY/bBYfAFWPUU tAq4LRXDB4qyLlJxz2hHLslqUtZ6Ea446U+lCmi3t/GZpanmHnJnUcUua1bvuhgTmAps 31AYvJ/yS6Iqfop+7A1bfaAe1pa+Q5lhGUIrrWa1ZXJWgqR3zasl33AmsSmDFEdYOkAj 8B/xKZ5S0YIrAKOXUJbTqXJyp+gBHt/xLVIbjYFoHnxf//gjvYIV5rM7BO1Hz/2iVAK7 558w== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=dJMWrGLIUciyf0M/vXOJXfVbj0H0zKupKsCVjNgy+BA=; b=gSk34GgsmWabws/oYPIg5ROJPoNPd95bHSKlWu4i9yKYkjCo7YZ2whbVh1TRpx+Y3O JVBcvScNDtNtnwcJSTqW2GBm0G/HeFHB9TK/3e6rZi+rq9QusF20KUHgoFvQRhltQuXs lqM6X7t4aqExv2nOWNBeeJf+OSmJu5dBlB41G2dTsFCdXJLB5BXiZ0IhriUG2drCXnio KAGL90VNj+TLwmoWkFO8UQMKNzoSEOHtuYYdORBsXcJ70v9iiJKEkfV32lltjXN27S3F mpNMjEMgY94/8VIoqANdEjgzt9FnxLkd9FXQ1KSHxO6d/VSl5iF/nv43AI//k7mdwJcN IdTQ== X-Gm-Message-State: AN3rC/7wi29YiPo4a6kAfXZyQ1h0S0//47IAzJQ3Of8eglILCWiXI20O nIqnCt3DUHSSUNea X-Received: by 10.28.150.213 with SMTP id y204mr6651196wmd.138.1492762968708; Fri, 21 Apr 2017 01:22:48 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id 19sm1076319wmr.30.2017.04.21.01.22.47 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 21 Apr 2017 01:22:47 -0700 (PDT) References: <20170421022127.20524-1-dannym@scratchpost.org> <20170421022127.20524-2-dannym@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH v2 1/8] system: Rename operating-system-kernel-arguments to operating-system-user-kernel-arguments. In-reply-to: <20170421022127.20524-2-dannym@scratchpost.org> Date: Fri, 21 Apr 2017 10:23:08 +0200 Message-ID: <86fuh2kw43.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) LGTM! Danny Milosavljevic writes: > * gnu/system.scm (operating-system-kernel-arguments): Rename to ... > (operating-system-user-kernel-arguments): ... this. > (): Adapt accordingly. > (operating-system-bootcfg): Adapt accordingly. > (operating-system-parameters-file): Adapt accordingly. > * gnu/system/vm.scm (system-qemu-image/shared-store-script): Adapt > accordingly. > --- > gnu/system.scm | 8 ++++---- > gnu/system/vm.scm | 2 +- > 2 files changed, 5 insertions(+), 5 deletions(-) > > diff --git a/gnu/system.scm b/gnu/system.scm > index f6ab7ded8..4032e8e15 100644 > --- a/gnu/system.scm > +++ b/gnu/system.scm > @@ -73,7 +73,7 @@ > operating-system-hosts-file > operating-system-kernel > operating-system-kernel-file > - operating-system-kernel-arguments > + operating-system-user-kernel-arguments > operating-system-initrd > operating-system-users > operating-system-groups > @@ -129,7 +129,7 @@ > operating-system? > (kernel operating-system-kernel ; package > (default linux-libre)) > - (kernel-arguments operating-system-kernel-arguments > + (kernel-arguments operating-system-user-kernel-arguments > (default '())) ; list of gexps/strings > (bootloader operating-system-bootloader) ; > > @@ -756,7 +756,7 @@ populate the \"old entries\" menu." > #~(string-append "--system=" #$system) > #~(string-append "--load=" #$system > "/boot") > - (operating-system-kernel-arguments os))) > + (operating-system-user-kernel-arguments os))) > (initrd initrd))))) > (grub-configuration-file (operating-system-bootloader os) entries > #:old-entries old-entries))) > @@ -784,7 +784,7 @@ this file is the reconstruction of GRUB menu entries for old configurations." > (root-device #$(file-system-device root)) > (kernel #$(operating-system-kernel-file os)) > (kernel-arguments > - #$(operating-system-kernel-arguments os)) > + #$(operating-system-user-kernel-arguments os)) > (initrd #$initrd) > (store > (device #$(fs->boot-device store)) > diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm > index 374d8b663..4f915c4f9 100644 > --- a/gnu/system/vm.scm > +++ b/gnu/system/vm.scm > @@ -494,7 +494,7 @@ it is mostly useful when FULL-BOOT? is true." > (string-append "--system=" #$os-drv) > (string-append "--load=" #$os-drv "/boot") > #$@(if graphic? #~() #~("console=ttyS0")) > - #+@(operating-system-kernel-arguments os))) > + #+@(operating-system-user-kernel-arguments os))) > > (define qemu-exec > #~(list (string-append #$qemu "/bin/" #$(qemu-command (%current-system))) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 04:23:06 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 08:23:06 +0000 Received: from localhost ([127.0.0.1]:59702 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1TqM-0000TA-8w for submit@debbugs.gnu.org; Fri, 21 Apr 2017 04:23:06 -0400 Received: from mail-wr0-f173.google.com ([209.85.128.173]:35323) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1TqK-0000SD-Ar for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 04:23:04 -0400 Received: by mail-wr0-f173.google.com with SMTP id z52so8525460wrc.2 for <26544@debbugs.gnu.org>; Fri, 21 Apr 2017 01:23:04 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=gkB9IKYL8OLZ3pnI84LpNpE/d6hbEIRFRQ9B1Q9zSW8=; b=sVz0ISgCylnu9kQWXPBGwoUlpKWVxlocQeQWPEpacn2uwBOUCdMntREOVeXolOHwLr LEIrWtt6eEcHBEa3389Smw79bYS1GNO68KIlYEuLEeQuok2qrW4p8Lm2boc+3fvAkepE PZL2bnNDe2psmOh/sZwNkEXI21RuqKoxdB8IlDuZausDJ1c6z7/UzXtlzLV91l6Ta0Aa heFHH/I+Uyt1t4z8Ms/qmp4bqJawzPKYHN84XOMdgatItgTWVBlmu89bove2Ht6dxZd9 g2Qix79VJXYAJYa94dQhqpLd3pdgJJGnrLpR63pHLCcc9fsFV6+z1oA8DDRcIn+zfQHM 7hWQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=gkB9IKYL8OLZ3pnI84LpNpE/d6hbEIRFRQ9B1Q9zSW8=; b=rmPfKxNCjy8c/eU5lDRBHG2T2oL7NP8iE/NM3DRzhHugSrM/z+DxhgbhIVXuTvsEq5 D9+KV9msH2qRcE291GPf7QizQx+GXmoW5HHIjyQ2IlWNBqGtsPuBvqe6o8kzPGXIc98X ocewKpdjOS/PIy85jzRvUbcT5UxN6uZOoL4dgCimeZXtMS+iVfgeC5ruWnhqDQ+K35zt hYJj7GkTxYArMb/dBFu2v4s7P9W846ueLe6jQ8bxqXubpJzkn9csgDP3cTp2rhPosJp5 vdySXZUl0vVs1BRKCMdmAyT6793FoytAUiMSZTFrQPZj7N2a24ClZ1bNJLgWSUl2NrtL bD0g== X-Gm-Message-State: AN3rC/4QZF928yWYsXp3qWvq8+VNKgA2BDYMDWnICE48v0OlEiw3JfgV fx9Iun4UmI2AJw== X-Received: by 10.223.129.77 with SMTP id 71mr11128321wrm.2.1492762978643; Fri, 21 Apr 2017 01:22:58 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id 134sm1395112wmj.6.2017.04.21.01.22.57 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 21 Apr 2017 01:22:57 -0700 (PDT) References: <20170421022127.20524-1-dannym@scratchpost.org> <20170421022127.20524-3-dannym@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH v2 2/8] system: Rename operating-system-parameters-file to operating-system-boot-parameters-file. In-reply-to: <20170421022127.20524-3-dannym@scratchpost.org> Date: Fri, 21 Apr 2017 10:23:19 +0200 Message-ID: <86efwmkw3s.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) LGTM! Danny Milosavljevic writes: > * gnu/system.scm (operating-system-parameters-file): Rename to ... > (operating-system-boot-parameters-file): ... this. > (operating-system-directory-base-entries): Adapt call site. > --- > gnu/system.scm | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/gnu/system.scm b/gnu/system.scm > index 4032e8e15..44190bdfc 100644 > --- a/gnu/system.scm > +++ b/gnu/system.scm > @@ -278,7 +278,7 @@ value of the SYSTEM-SERVICE-TYPE service." > (mlet %store-monad > ((kernel -> (operating-system-kernel os)) > (initrd (operating-system-initrd-file os)) > - (params (operating-system-parameters-file os))) > + (params (operating-system-boot-parameters-file os))) > (return `(("kernel" ,kernel) > ("parameters" ,params) > ("initrd" ,initrd) > @@ -769,7 +769,7 @@ device in a ." > ((label) (file-system-device fs)) > (else #f))) > > -(define (operating-system-parameters-file os) > +(define (operating-system-boot-parameters-file os) > "Return a file that describes the boot parameters of OS. The primary use of > this file is the reconstruction of GRUB menu entries for old configurations." > (mlet %store-monad ((initrd (operating-system-initrd-file os)) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 04:24:42 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 08:24:42 +0000 Received: from localhost ([127.0.0.1]:59706 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1Tru-0000VK-Jy for submit@debbugs.gnu.org; Fri, 21 Apr 2017 04:24:42 -0400 Received: from mail-wm0-f51.google.com ([74.125.82.51]:35751) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1Trs-0000V8-JK for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 04:24:40 -0400 Received: by mail-wm0-f51.google.com with SMTP id w64so10132610wma.0 for <26544@debbugs.gnu.org>; Fri, 21 Apr 2017 01:24:40 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=mxyzS6LTML4MtOUOaZw+qXCjt5T8buQw/qJL72POXTE=; b=grxS02c39kiKq+wxsVErTyx94iCsdEjM6TAG8lATn0SYt/JrHOppJKFOqcJ5S3UypU 42TJApPQIuwkhGqQt9v+tYZHLatDN8qx+zCGfpl9fXmFSwEF4hdpKSMV50gk37i7WWQ+ WOW+hlzt4UuKo9sszKbCx1XTRpzYYszj1/H0P4ujVHNEn7BiVd+XChj1aYAPur8WDovC FNrWghUHAHaHda4tOohCMCl6Fy+xgbzf6DWzps65RGR6LDA348w6QreIAQlepiHvuErU +HTSiCv7etpyVU4qX50l+V4OGDXaRzx6sAwLXkTR+Y1H+uHmBSGtm7ABDpqEmR+CgTlD ilrw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=mxyzS6LTML4MtOUOaZw+qXCjt5T8buQw/qJL72POXTE=; b=TiRIvCbxzMWO9yFv9qPDGc96UWfwn83wGfgpMnTijDlm7TPxWlClunh7qfoE0myDL9 zSg9yNbNwDv/AhyT4XyfK3X30CMN4Nt4rWOlXK3SWYc8SnDqZM+6ZmYiCC0GaEM/nAvx ugCeP5vSepkf/esUVWqIPSLW7GtwxTw9roW9lOrTJi5gYreDiIEzRqwf9mdz6pnnhu3a E2ZDkAtcgLcPDvwH3MKsB4o1bMuNl1G/W/vXMhvLtRvIGsFJAm/5y7cyO6zMbvvZK26d yn0aUf+8a6ZtSbotruYDVFG2ID4B6Qsz42vQFYOCsAQdp+3qH14HARgL1RoBNGCVWt7y s/hA== X-Gm-Message-State: AN3rC/6G/eqpPfdVPxrh2cVazCdrdBVObVspQ/h179BNtUE4UzQ6D0w1 6pZ9VsVf9k4Bow== X-Received: by 10.28.159.136 with SMTP id i130mr6600513wme.29.1492763075052; Fri, 21 Apr 2017 01:24:35 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id j32sm10706243wre.67.2017.04.21.01.24.34 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 21 Apr 2017 01:24:34 -0700 (PDT) References: <20170421022127.20524-1-dannym@scratchpost.org> <20170421022127.20524-4-dannym@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH v2 3/8] system: Factorize operating-system-boot-parameters-file. In-reply-to: <20170421022127.20524-4-dannym@scratchpost.org> Date: Fri, 21 Apr 2017 10:24:55 +0200 Message-ID: <86d1c6kw14.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) > + (params (operating-system-boot-parameters os system (file-system-device root)))) This line is too long. Otherwise LGTM ! From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 04:53:12 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 08:53:12 +0000 Received: from localhost ([127.0.0.1]:59719 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1UJU-0001A0-7r for submit@debbugs.gnu.org; Fri, 21 Apr 2017 04:53:12 -0400 Received: from mail-wm0-f42.google.com ([74.125.82.42]:38390) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1UJT-00019k-3C for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 04:53:11 -0400 Received: by mail-wm0-f42.google.com with SMTP id r190so11578247wme.1 for <26544@debbugs.gnu.org>; Fri, 21 Apr 2017 01:53:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=2o39bfGdZGshp+fv6XiLSjLOJ9YuPl1d80+yibHehfc=; b=rJqKejyZjaZlppWLyNkqrM2/3cMTeyO5OkCKH8zGIp7mibdPxu4bCOarnvuguvD/ji 3aA3qFxxLSYbCiG2tvMTH/9B8ukCjmy0RsvS3iOdmX3AaMteznZMyOuQmAqZwRbmHGqC pisXNotUv6drMkvB8HMWJfLxI9o7RoWrbnjDQKmKA52K54XA3ErwMGDi0yDjkAkJVC5j YRqdt77TNPvknnMmhbXpZsiFtp6drMuLjwH0F/uA0hoM6HOkJLnsPWtoUvuQAiZL0+HS mEYDaxitCqB+9E9StRJqXtYSipqWDxX1HCmyjgpz8EzltmwFSL5IIkIXy4PD+yYq4Niv c7YQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=2o39bfGdZGshp+fv6XiLSjLOJ9YuPl1d80+yibHehfc=; b=Lli32//6Zt4NlOHX8tKwJQTMQRtyYXGYlGOGAiwlQkW4cQH8q0dSMWLoshxk/8V7Yh ljXuc+znuTgJTG5q3b1+u371pmByXMQgG1vnkU+TPE9cvQGKvLG3QMeYQkSsyqxkrpyR klSjvmdNgTsFQuL1zfP98QxotOPFraNpF3UEGrdLvyROui98EH4hrmO6JwV7U8MlHBId f/k0as1o2WgM3+A++SleC+r0+EpRu2LkNLgmMXnv1lJwO3CSI8MwIQi1+Hnaw0DLu7ga rPM+9YKV53/tFkKB6yqe3KD1KTnOdBJ3Pd1Y5v7KNr7qaUv1WmFBT2sfcNVzoyb+pfCD 1Ybw== X-Gm-Message-State: AN3rC/4bWF8g8+BK+0omtzAzMxY7AOTwOl8bNmNPkxPW+gdif7eUk+LK Ly6jJiBn+apIBw== X-Received: by 10.28.127.139 with SMTP id a133mr7323610wmd.84.1492764785361; Fri, 21 Apr 2017 01:53:05 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id 59sm10786977wrl.48.2017.04.21.01.53.04 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 21 Apr 2017 01:53:04 -0700 (PDT) References: <20170421022127.20524-1-dannym@scratchpost.org> <20170421022127.20524-5-dannym@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH v2 4/8] system: Introduce operating-system-kernel-arguments and use it. In-reply-to: <20170421022127.20524-5-dannym@scratchpost.org> Date: Fri, 21 Apr 2017 10:53:25 +0200 Message-ID: <86bmrqkupm.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) > +(define (bootable-kernel-arguments kernel-arguments system root-device) > + "Prepend extra arguments to KERNEL-ARGUMENTS that allow SYSTEM to be > +booted from ROOT-DEVICE" You could precise in this docstring that system is a derivation. Mathieu From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 04:59:30 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 08:59:30 +0000 Received: from localhost ([127.0.0.1]:59734 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1UPa-0001LM-Cn for submit@debbugs.gnu.org; Fri, 21 Apr 2017 04:59:30 -0400 Received: from mail-wr0-f181.google.com ([209.85.128.181]:35489) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1UPY-0001LA-IX for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 04:59:28 -0400 Received: by mail-wr0-f181.google.com with SMTP id z52so9105946wrc.2 for <26544@debbugs.gnu.org>; Fri, 21 Apr 2017 01:59:28 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=iyHOHhF1Nxr0UkGzMehOxsdUot1c2JPu90R6BYwcJrM=; b=YvqYAycoAHTQNsx1tq56jr1s9ISMLrZdLBLAePXBZMPq9hYVA418NLVRkq86rtrUur S1rirdMQGxbQSZAsXlRRuDo+RL2E+z9M0oRpRDt9KbimurEdBwXT/RLMg/0FRCyD5HF8 dj5Gg70OPBp77FO83rtM8wuGJqOtGTQmeGbwCL5TSWd23A3j6gTfwGdTdrvUbUnhPWOd fGEmm45Ov1tifaohnGmb+uY3XQ6yrmn3pt5L0goUTEvFmi+efDfbPkuFU1LCEqgg75HV AIeIucO9jNnE9xsAzStE0qxYgXsRNI585Pg1s9/1HAjXxEdeYLvdnuLnxBQXEDXLHgvY A2pA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=iyHOHhF1Nxr0UkGzMehOxsdUot1c2JPu90R6BYwcJrM=; b=W960d4/VDHD0L15hHyhimFeeF+d2B4+2Su9ehR9dg9dtiUplUNYeGkOL5+RErQihqg PZO1vqjnBntW+KcCVuOUyFiiwtjgoSrKGXXLyonjVsYtuwpTmLuNr7t4uoNA708Dj15N cLW33wM8oP+xt3ZJILm02OJ82yaX6MMkaptG5p932HYhc756QSk6cjBO9OBxC3sBnrQT AiDwQ7fFAKwQQiGr35elRZuCGyNkInTlory3Y9bitC8nVv+SOlmcfgl7ynniJC73uuiJ f1Cs76uuQJm6RTZ/WXuPTzU+/kDTTgTfqoP/RgomDBBiHbn+cQDkdlboMLb1GKtLIe/z /WBg== X-Gm-Message-State: AN3rC/7u+1Uckt3/Rs+MordofHh5UHoC7fHHgfyq72UxNOtuDAhcdrov b5tKcKsHvOsT3A== X-Received: by 10.223.165.77 with SMTP id j13mr12618913wrb.35.1492765162861; Fri, 21 Apr 2017 01:59:22 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id t24sm10765651wra.44.2017.04.21.01.59.21 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 21 Apr 2017 01:59:21 -0700 (PDT) References: <20170421022127.20524-1-dannym@scratchpost.org> <20170421022127.20524-6-dannym@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH v2 5/8] system: Introduce read-boot-parameters-file. In-reply-to: <20170421022127.20524-6-dannym@scratchpost.org> Date: Fri, 21 Apr 2017 10:59:43 +0200 Message-ID: <86a87akuf4.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) LGTM! From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 05:01:29 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 09:01:29 +0000 Received: from localhost ([127.0.0.1]:59742 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1URU-0002bz-VX for submit@debbugs.gnu.org; Fri, 21 Apr 2017 05:01:29 -0400 Received: from mail-wr0-f181.google.com ([209.85.128.181]:34779) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1URT-0002Wd-Bz for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 05:01:27 -0400 Received: by mail-wr0-f181.google.com with SMTP id z109so50614909wrb.1 for <26544@debbugs.gnu.org>; Fri, 21 Apr 2017 02:01:27 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=hUK6PLtnNYSyOad0FOoU6wPA3z1saCiuE1hodrpHqoE=; b=Leb8fB+kZXsns/LEotkJnPiOpxnSWZh9KIUuTjNEcXhtwxJkzKHmIsYvZN8rtziKEn 7YrSDH1ej04mDI46KbitnZfNX4OAm+w9yEEd0kUcOKPQMR/hYFlN/GYB2iTJnk96vuza 6D0sI0HhHm0gotjd4E6BKR08KjyBmcO4LKce7kjm+v56lxEwyF76nDHp5w2cPF7nTlNU CUmpzm3TN0ye0XYCr0sj/WdkO6bUPalsqSvHTvPfITPFSKZJBEJg5HoB/OmLMsDchDBs lgr8dTlNPLKzrFhOpHY7+srd/fWUa1Tg8zUQH+bCnAQfbpfFBvq0UR5Yx3hr+YnM+Rzn bKFw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=hUK6PLtnNYSyOad0FOoU6wPA3z1saCiuE1hodrpHqoE=; b=NTHnz3R/6phoc0J1kF/FI4QM1p1r6KKWP6u+mPYTxmqNB0cO9yNpadA6HbFN4Obl0u whJKxbtl2vWUeCJdopLbrpO6ByEUs9PdTRTlnKzd+k5Qf3nZ+EsL/nnGEDWtrqFZMFPN 9RAOJ9LQsIQ59Y1h0lGLQZ4M2qjoxQFuvwQfgJwgiXc/RCmi/96ukcnZql+De0LmUWZI e/8JZhW2vYMgZiub518zL0Y/mPTwmZ9keliB7htR08euYhehCUEKeLt3bTkxVR2U3GRz I+fOzPm1UH9LZbjON5/5TMrAnRJ4zV2YxhjsP8Rd/SuTiKqbtwa6SBdZa/GYQKJrKFLu bmaA== X-Gm-Message-State: AN3rC/5RWXCXcLhlnYhuVVn2/etnnyLvzQq+X51tikDPYQ67uatOHA/A 6IdQMnuv4ph7LT+N X-Received: by 10.223.170.143 with SMTP id h15mr11895423wrc.64.1492765281505; Fri, 21 Apr 2017 02:01:21 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id l201sm1521068wmb.3.2017.04.21.02.01.20 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 21 Apr 2017 02:01:20 -0700 (PDT) References: <20170421022127.20524-1-dannym@scratchpost.org> <20170421022127.20524-9-dannym@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH v2 8/8] system: grub: Use boot-parameters instead of menu-entry where possible. In-reply-to: <20170421022127.20524-9-dannym@scratchpost.org> Date: Fri, 21 Apr 2017 11:01:41 +0200 Message-ID: <868tmukubu.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) > (reinstall-grub): Use profile-boot-parameters. > (perform-action): Use profile-boot-parameters. profile-grub-entries is now unsued, this serie could remove it. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 05:02:05 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 09:02:05 +0000 Received: from localhost ([127.0.0.1]:59750 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1US5-000324-Fv for submit@debbugs.gnu.org; Fri, 21 Apr 2017 05:02:05 -0400 Received: from mail-wm0-f45.google.com ([74.125.82.45]:36052) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1US3-0002wo-Ok for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 05:02:04 -0400 Received: by mail-wm0-f45.google.com with SMTP id o81so10777439wmb.1 for <26544@debbugs.gnu.org>; Fri, 21 Apr 2017 02:02:03 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=JBBunPKw7XezmLRPL65TZxHQ7RRVEkkqPWKaAyvmgQI=; b=F+0v5F4tCLNyAE0mUGi/LTzETgeOkyoY93loIr9zAOdvb1J2D9ydOPWLRBr39iZtFR p8M7bgQaHd9oW3OXXqO8u8N0TpuE8JDPGQBLF1DNEgDidlOR0BUv+k9u+8dRymYji1cw RUjfwlSqq6nJAZoo5/BN/t9USGJ34DxBZ+bfd/zXGodij1gV4NPnaMiEzd726TEFFFWw zRiv70wb+dV2Q2DpGog+0rShpaP/TXZL33b8av8SsE/o0WP3r6HUJwPAgKama4VDKlig qtRvrqfzqqY2yJHhlFh8d+byBK3fvcdxKI2yF0eaX1trBKsMPIWpXjdfQirJLGWvTZv+ bgPA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=JBBunPKw7XezmLRPL65TZxHQ7RRVEkkqPWKaAyvmgQI=; b=hYhS6wgF/DY4P9Nz0dgky8Z88kIVHJAv8xykDVOXUMTOsD4r65dsvTxUEVkmpQWZeN QeLqzZfSGV437BfdubNTu32hnldrpp8ZCNzRGNrF7+7/xCs7Uyv98pZdB6FvnUJxBmIk VKqSftd0DF4tFgJ5lBKQL80HtKQgffNyOaJQJh9wUq52taAoG544WZ1u/1xPj3cWGVwr 5fRFJe653/FbFG8xH1/48U9zfn3ovI9ZqTdXVBFDeQ9G9we1HvcBA88exq5xIi6cJvW7 zmrD8C9TSCG+TxO2qSAw4k25C7PF3V1ccYqn04uWWr+00yiwEEk0YYcXlqCBpV0+bS67 gx4A== X-Gm-Message-State: AN3rC/5ZrQ3+tHR2W4eC69UqyUrSwlGRvzSqADBn03XA2fHLhoAhFZKg Owamm3F049rxVw== X-Received: by 10.28.188.85 with SMTP id m82mr6967286wmf.79.1492765317008; Fri, 21 Apr 2017 02:01:57 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id l201sm1522891wmb.3.2017.04.21.02.01.55 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 21 Apr 2017 02:01:56 -0700 (PDT) References: <20170421022127.20524-1-dannym@scratchpost.org> <20170421022127.20524-8-dannym@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH v2 7/8] system: Use operating-system-boot-parameters directly. In-reply-to: <20170421022127.20524-8-dannym@scratchpost.org> Date: Fri, 21 Apr 2017 11:02:17 +0200 Message-ID: <867f2ekuau.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: 0.5 (/) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: 0.5 (/) LGTM! > * gnu/system.scm (operating-system-bootcfg): Use > operating-system-boot-parameters directly. > --- > gnu/system.scm | 28 ++++------------------------ > 1 file changed, 4 insertions(+), 24 deletions(-) > > diff --git a/gnu/system.scm b/gnu/system.scm > index cb166c755..013bd5356 100644 > --- a/gnu/system.scm > +++ b/gnu/system.scm > @@ -750,33 +750,13 @@ populate the \"old entries\" menu." > (mlet* %store-monad > ((system (operating-system-derivation os)) > (root-fs -> (operating-system-root-file-system os)) > - (store-fs -> (operating-system-store-file-system os)) > - (label -> (kernel->boot-label (operating-system-kernel os))) > - (kernel -> (operating-system-kernel-file os)) > - (initrd (operating-system-initrd-file os)) > (root-device -> (if (eq? 'uuid (file-system-title root-fs)) > (uuid->string (file-system-device root-fs)) > (file-system-device root-fs))) > - (entries -> (list (menu-entry > - (label label) > - > - ;; The device where the kernel and initrd live. > - (device (fs->boot-device store-fs)) > - (device-mount-point > - (file-system-mount-point store-fs)) > - > - (linux kernel) > - (linux-arguments > - (cons* (string-append "--root=" root-device) > - #~(string-append "--system=" #$system) > - #~(string-append "--load=" #$system > - "/boot") > - (operating-system-kernel-arguments os > - system > - root-device))) > - (initrd initrd))))) > - (grub-configuration-file (operating-system-bootloader os) entries > - #:old-entries old-entries))) > + (entry (operating-system-boot-parameters os system root-device))) > + (grub-configuration-file (operating-system-bootloader os) > + (list entry) > + #:old-entries old-entries))) > > (define (fs->boot-device fs) > "Given FS, a object, return a value suitable for use as the From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 05:02:25 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 09:02:25 +0000 Received: from localhost ([127.0.0.1]:59756 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1USO-0003EX-UD for submit@debbugs.gnu.org; Fri, 21 Apr 2017 05:02:25 -0400 Received: from mail-wr0-f173.google.com ([209.85.128.173]:36302) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1USN-0003AD-Af for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 05:02:23 -0400 Received: by mail-wr0-f173.google.com with SMTP id c55so50594565wrc.3 for <26544@debbugs.gnu.org>; Fri, 21 Apr 2017 02:02:23 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=UiBePqJBvDnnlHDKkNek72Cui+ugYSDtbQ8D/7Ngke0=; b=rPj+TzNIoEUD2wPvHwKXCfM1MhrZQwjRFCN/FjTVCYJN1LYeSzKlWxDiy0uL6etiRc XA58m0P4+zBAd8ELpKkcQKUfWcAWXLZCZ7gACRhIj/XnU+BeaGjCCMqtY4ulaT6IXZm+ DMICJ7LJZ+SLx2b1QHqmlevmmNA8VG6HYLOPY66RLaBuU6o5Bs5jEnBmP2YA2t84HiGl 6MshMkeIgUtRnIIE1+uDcEaHAKZJVLTXAoHjwKvbWazISX9Oj1Sm+YaabXbHYij0knVS o8yRMtTqrnoBrQ1cGMqm8S60ZR1of9KMDszTZ9WToVCr/Z7NyqGxUOPbq4YmyrK+o9UF sCxA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=UiBePqJBvDnnlHDKkNek72Cui+ugYSDtbQ8D/7Ngke0=; b=ENlSCBHNZ/m0AwlzIal1RDkqoYcQdf1twVMFQtwTjgLG4ub01iwUxwvoSzpepzREOa otNq2/WfsUraSUR48e8exxK3utARWUB9m+YtWVyTz8A6LSsLJ+9OlZWSXwufZMUi8DZw rtoJpzWyHc1hVzRXWuHHd5HKkLFrgosq6WJpaBdLBw9U6F3p2M63CNLuCil31TdbB1Tj h8sQnfd8ZJqTZChs9CE5TT9RizkazDcqlo5sPeAdykdO0FUGZWNPx8ZdPHcNunWVhlMG ZaQgvdIfkT/vCtQlg+1QIa/NwuLoeMZ7ZZQcIJuAx1hGT7kZPZ3uMHgKxN+tjxlceFPe FGTw== X-Gm-Message-State: AN3rC/4XyP7PSACoAv3T+EVW2sOUd0psE+3qHeZ0ZVut157d+4BDHygQ OK8m56ulCaZGeQ== X-Received: by 10.223.139.215 with SMTP id w23mr11890967wra.169.1492765337666; Fri, 21 Apr 2017 02:02:17 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id u206sm1198630wmg.20.2017.04.21.02.02.16 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 21 Apr 2017 02:02:16 -0700 (PDT) References: <20170421022127.20524-1-dannym@scratchpost.org> <20170421022127.20524-7-dannym@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH v2 6/8] system: vm: Use operating-system-kernel-arguments. In-reply-to: <20170421022127.20524-7-dannym@scratchpost.org> Date: Fri, 21 Apr 2017 11:02:37 +0200 Message-ID: <8660hykuaa.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) LGTM! Danny Milosavljevic writes: > * gnu/system/vm.scm (system-qemu-image/shared-store-script): > Use operating-system-kernel-arguments. > --- > gnu/system/vm.scm | 7 ++----- > 1 file changed, 2 insertions(+), 5 deletions(-) > > diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm > index 4f915c4f9..2c8b954c8 100644 > --- a/gnu/system/vm.scm > +++ b/gnu/system/vm.scm > @@ -490,11 +490,8 @@ it is mostly useful when FULL-BOOT? is true." > #:full-boot? full-boot? > #:disk-image-size disk-image-size))) > (define kernel-arguments > - #~(list "--root=/dev/vda1" > - (string-append "--system=" #$os-drv) > - (string-append "--load=" #$os-drv "/boot") > - #$@(if graphic? #~() #~("console=ttyS0")) > - #+@(operating-system-user-kernel-arguments os))) > + #~(list #$@(if graphic? #~() #~("console=ttyS0")) > + #+@(operating-system-kernel-arguments os os-drv "/dev/vda1"))) > > (define qemu-exec > #~(list (string-append #$qemu "/bin/" #$(qemu-command (%current-system))) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:14:54 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:14:54 +0000 Received: from localhost ([127.0.0.1]:59924 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSg-0002zv-1b for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:14:54 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:39968) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSe-0002zL-6p for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:14:52 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 507961CA51CE; Fri, 21 Apr 2017 14:14:47 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v3 0/9] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. Date: Fri, 21 Apr 2017 14:14:33 +0200 Message-Id: <20170421121442.29972-1-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <86h91ikw4m.fsf@gmail.com> References: <86h91ikw4m.fsf@gmail.com> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Danny Milosavljevic (9): system: Rename operating-system-parameters-file to operating-system-boot-parameters-file. system: Factorize operating-system-boot-parameters-file. system: Introduce operating-system-kernel-arguments and use it. system: Introduce read-boot-parameters-file. scripts: Make label include generation number and time. system: vm: Use operating-system-kernel-arguments. system: Use operating-system-boot-parameters directly. system: grub: Use boot-parameters instead of menu-entry where possible. scripts: Remove profile-grub-entries. gnu/system.scm | 133 +++++++++++++++++++++++++++++++----------------- gnu/system/grub.scm | 14 ++++- gnu/system/vm.scm | 7 +-- guix/scripts/system.scm | 64 +++++------------------ 4 files changed, 114 insertions(+), 104 deletions(-) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:14:54 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:14:54 +0000 Received: from localhost ([127.0.0.1]:59926 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSg-0002zx-8g for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:14:54 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:39970) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSe-0002zM-6z for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:14:52 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 8C0B51CA5234; Fri, 21 Apr 2017 14:14:48 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v3 1/9] system: Rename operating-system-parameters-file to operating-system-boot-parameters-file. Date: Fri, 21 Apr 2017 14:14:34 +0200 Message-Id: <20170421121442.29972-2-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421121442.29972-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421121442.29972-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (operating-system-parameters-file): Rename to ... (operating-system-boot-parameters-file): ... this. (operating-system-directory-base-entries): Adapt call site. --- gnu/system.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 4032e8e15..44190bdfc 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -278,7 +278,7 @@ value of the SYSTEM-SERVICE-TYPE service." (mlet %store-monad ((kernel -> (operating-system-kernel os)) (initrd (operating-system-initrd-file os)) - (params (operating-system-parameters-file os))) + (params (operating-system-boot-parameters-file os))) (return `(("kernel" ,kernel) ("parameters" ,params) ("initrd" ,initrd) @@ -769,7 +769,7 @@ device in a ." ((label) (file-system-device fs)) (else #f))) -(define (operating-system-parameters-file os) +(define (operating-system-boot-parameters-file os) "Return a file that describes the boot parameters of OS. The primary use of this file is the reconstruction of GRUB menu entries for old configurations." (mlet %store-monad ((initrd (operating-system-initrd-file os)) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:14:54 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:14:55 +0000 Received: from localhost ([127.0.0.1]:59928 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSg-000304-HK for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:14:54 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:39966) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSe-0002zN-6v for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:14:53 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 9CC9B1CA523E; Fri, 21 Apr 2017 14:14:49 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v3 2/9] system: Factorize operating-system-boot-parameters-file. Date: Fri, 21 Apr 2017 14:14:35 +0200 Message-Id: <20170421121442.29972-3-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421121442.29972-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421121442.29972-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (operating-system-boot-parameters): New variable. (operating-system-boot-parameters-file): Modify. --- gnu/system.scm | 64 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 21 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 44190bdfc..6601147e9 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -769,27 +769,49 @@ device in a ." ((label) (file-system-device fs)) (else #f))) -(define (operating-system-boot-parameters-file os) - "Return a file that describes the boot parameters of OS. The primary use of -this file is the reconstruction of GRUB menu entries for old configurations." - (mlet %store-monad ((initrd (operating-system-initrd-file os)) - (root -> (operating-system-root-file-system os)) - (store -> (operating-system-store-file-system os)) - (label -> (kernel->boot-label - (operating-system-kernel os)))) - (gexp->file "parameters" - #~(boot-parameters - (version 0) - (label #$label) - (root-device #$(file-system-device root)) - (kernel #$(operating-system-kernel-file os)) - (kernel-arguments - #$(operating-system-user-kernel-arguments os)) - (initrd #$initrd) - (store - (device #$(fs->boot-device store)) - (mount-point #$(file-system-mount-point store)))) - #:set-load-path? #f))) +(define (operating-system-boot-parameters os system root-device) + "Return a monadic record that describes the boot parameters of OS. +SYSTEM is optional. If given, adds kernel arguments for that system to ." + (mlet* %store-monad + ((initrd (operating-system-initrd-file os)) + (store -> (operating-system-store-file-system os)) + (label -> (kernel->boot-label (operating-system-kernel os)))) + (return (boot-parameters + (label label) + (root-device root-device) + (kernel (operating-system-kernel-file os)) + (kernel-arguments + (operating-system-user-kernel-arguments os)) + (initrd initrd) + (store-device (fs->boot-device store)) + (store-mount-point (file-system-mount-point store)))))) + +(define* (operating-system-boot-parameters-file os #:optional (system.drv #f)) + "Return a file that describes the boot parameters of OS. The primary use of +this file is the reconstruction of GRUB menu entries for old configurations. +SYSTEM.DRV is optional. If given, adds kernel arguments for that system to the +returned file (since the returned file is then usually stored into the +content-addressed \"system\" directory, it's usually not a good idea +to give it because the content hash would change by the content hash +being stored into the \"parameters\" file)." + (mlet* %store-monad ((root -> (operating-system-root-file-system os)) + (device -> (file-system-device root)) + (params (operating-system-boot-parameters os + system.drv + device))) + (gexp->file "parameters" + #~(boot-parameters + (version 0) + (label #$(boot-parameters-label params)) + (root-device #$(boot-parameters-root-device params)) + (kernel #$(boot-parameters-kernel params)) + (kernel-arguments + #$(boot-parameters-kernel-arguments params)) + (initrd #$(boot-parameters-initrd params)) + (store + (device #$(boot-parameters-store-device params)) + (mount-point #$(boot-parameters-store-mount-point params)))) + #:set-load-path? #f))) ;;; From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:14:55 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:14:55 +0000 Received: from localhost ([127.0.0.1]:59930 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSg-00030C-R7 for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:14:55 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:39978) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSe-0002zP-G8 for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:14:53 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 4A5521CA5243; Fri, 21 Apr 2017 14:14:51 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v3 3/9] system: Introduce operating-system-kernel-arguments and use it. Date: Fri, 21 Apr 2017 14:14:36 +0200 Message-Id: <20170421121442.29972-4-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421121442.29972-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421121442.29972-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (bootable-kernel-arguments): New variable. (operating-system-kernel-arguments): New variable. (operating-system-bootcfg): Use operating-system-kernel-arguments. (operating-system-boot-parameters): Use operating-system-kernel-arguments. --- gnu/system.scm | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 6601147e9..a4f15f7f5 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -73,7 +73,7 @@ operating-system-hosts-file operating-system-kernel operating-system-kernel-file - operating-system-user-kernel-arguments + operating-system-kernel-arguments operating-system-initrd operating-system-users operating-system-groups @@ -122,6 +122,14 @@ ;;; ;;; Code: +(define (bootable-kernel-arguments kernel-arguments system.drv root-device) + "Prepend extra arguments to KERNEL-ARGUMENTS that allow SYSTEM.DRV to be +booted from ROOT-DEVICE" + (cons* (string-append "--root=" root-device) + #~(string-append "--system=" #$system.drv) + #~(string-append "--load=" #$system.drv "/boot") + kernel-arguments)) + ;; System-wide configuration. ;; TODO: Add per-field docstrings/stexi. (define-record-type* operating-system @@ -182,6 +190,13 @@ (sudoers-file operating-system-sudoers-file ; file-like (default %sudoers-specification))) +(define (operating-system-kernel-arguments os system.drv root-device) + "Return all the kernel arguments, including the ones not specified +directly by the user." + (bootable-kernel-arguments (operating-system-user-kernel-arguments os) + system.drv + root-device)) + ;;; ;;; Services. @@ -756,7 +771,9 @@ populate the \"old entries\" menu." #~(string-append "--system=" #$system) #~(string-append "--load=" #$system "/boot") - (operating-system-user-kernel-arguments os))) + (operating-system-kernel-arguments os + system + root-device))) (initrd initrd))))) (grub-configuration-file (operating-system-bootloader os) entries #:old-entries old-entries))) @@ -781,7 +798,9 @@ SYSTEM is optional. If given, adds kernel arguments for that system to boot-device store)) (store-mount-point (file-system-mount-point store)))))) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:15:00 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:15:00 +0000 Received: from localhost ([127.0.0.1]:59936 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSm-00030r-33 for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:15:00 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:39996) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSf-0002zn-Io for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:14:53 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id A8F041CA524D; Fri, 21 Apr 2017 14:14:52 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v3 4/9] system: Introduce read-boot-parameters-file. Date: Fri, 21 Apr 2017 14:14:37 +0200 Message-Id: <20170421121442.29972-5-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421121442.29972-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421121442.29972-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (read-boot-parameters): Remove export. (read-boot-parameters-file): New variable. Export it. * guix/scripts/system.scm (profile-boot-parameters): Use read-boot-parameters-file. (profile-grub-entries): Use read-boot-parameters-file. (reinstall-grub): Use read-boot-parameters-file. (display-system-generation): Use read-boot-parameters-file. --- gnu/system.scm | 22 +++++++++++++++++++++- guix/scripts/system.scm | 14 ++++---------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index a4f15f7f5..9921a9786 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -109,7 +109,7 @@ boot-parameters-kernel boot-parameters-kernel-arguments boot-parameters-initrd - read-boot-parameters + read-boot-parameters-file local-host-aliases %setuid-programs @@ -907,4 +907,24 @@ being stored into the \"parameters\" file)." system) #f))) +(define (read-boot-parameters-file system) + "Read boot parameters from SYSTEM's (system or generation) \"parameters\" +file and returns the corresponding object or #f if the +format is unrecognized. +The object has its kernel-arguments extended in order to make it bootable." + (let* ((file (string-append system "/parameters")) + (params (call-with-input-file file read-boot-parameters)) + (root (boot-parameters-root-device params)) + (root-device (if (bytevector? root) + (uuid->string root) + root)) + (kernel-arguments (boot-parameters-kernel-arguments params))) + (if params + (boot-parameters + (inherit params) + (kernel-arguments (bootable-kernel-arguments kernel-arguments + system + root-device))) + #f))) + ;;; system.scm ends here diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 8fabdb5c1..b278b6683 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -369,9 +369,7 @@ it atomically, and then run OS's activation script." NUMBERS, which is a list of generation numbers." (define (system->boot-parameters system number time) (unless-file-not-found - (let* ((file (string-append system "/parameters")) - (params (call-with-input-file file - read-boot-parameters))) + (let* ((params (read-boot-parameters-file system))) params))) (let* ((systems (map (cut generation-file-name profile <>) numbers)) @@ -387,9 +385,7 @@ NUMBERS, which is a list of generation numbers." NUMBERS, which is a list of generation numbers." (define (system->grub-entry system number time) (unless-file-not-found - (let* ((file (string-append system "/parameters")) - (params (call-with-input-file file - read-boot-parameters)) + (let* ((params (read-boot-parameters-file system)) (label (boot-parameters-label params)) (root (boot-parameters-root-device params)) (root-device (if (bytevector? root) @@ -447,9 +443,8 @@ generation as its default entry. STORE is an open connection to the store." "Re-install grub for existing system profile generation NUMBER. STORE is an open connection to the store." (let* ((generation (generation-file-name %system-profile number)) - (file (string-append generation "/parameters")) (params (unless-file-not-found - (call-with-input-file file read-boot-parameters))) + (read-boot-parameters-file generation))) (root-device (boot-parameters-root-device params)) ;; We don't currently keep track of past menu entries' details. The ;; default values will allow the system to boot, even if they differ @@ -533,8 +528,7 @@ list of services." "Display a summary of system generation NUMBER in a human-readable format." (unless (zero? number) (let* ((generation (generation-file-name profile number)) - (param-file (string-append generation "/parameters")) - (params (call-with-input-file param-file read-boot-parameters)) + (params (read-boot-parameters-file generation)) (label (boot-parameters-label params)) (root (boot-parameters-root-device params)) (root-device (if (bytevector? root) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:15:00 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:15:00 +0000 Received: from localhost ([127.0.0.1]:59938 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSm-00030u-B1 for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:15:00 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:40016) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSh-00030H-8E for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:14:55 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 6B0AA1CA51CE; Fri, 21 Apr 2017 14:14:54 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v3 5/9] scripts: Make boot-parameters label include generation number and time. Date: Fri, 21 Apr 2017 14:14:38 +0200 Message-Id: <20170421121442.29972-6-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421121442.29972-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421121442.29972-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * guix/scripts/system.scm (system->boot-parameters): Make label include generation number and time. --- guix/scripts/system.scm | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index b278b6683..d4cbb9d38 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -370,7 +370,11 @@ NUMBERS, which is a list of generation numbers." (define (system->boot-parameters system number time) (unless-file-not-found (let* ((params (read-boot-parameters-file system))) - params))) + (boot-parameters + (inherit params) + (label (string-append label " (#" + (number->string number) ", " + (seconds->string time) ")")))))) (let* ((systems (map (cut generation-file-name profile <>) numbers)) (times (map (lambda (system) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:15:00 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:15:00 +0000 Received: from localhost ([127.0.0.1]:59940 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSm-000312-Gz for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:15:00 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:40032) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSi-00030W-LP for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:14:57 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 814901CA523E; Fri, 21 Apr 2017 14:14:55 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v3 6/9] system: vm: Use operating-system-kernel-arguments. Date: Fri, 21 Apr 2017 14:14:39 +0200 Message-Id: <20170421121442.29972-7-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421121442.29972-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421121442.29972-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system/vm.scm (system-qemu-image/shared-store-script): Use operating-system-kernel-arguments. --- gnu/system/vm.scm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 4f915c4f9..2c8b954c8 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -490,11 +490,8 @@ it is mostly useful when FULL-BOOT? is true." #:full-boot? full-boot? #:disk-image-size disk-image-size))) (define kernel-arguments - #~(list "--root=/dev/vda1" - (string-append "--system=" #$os-drv) - (string-append "--load=" #$os-drv "/boot") - #$@(if graphic? #~() #~("console=ttyS0")) - #+@(operating-system-user-kernel-arguments os))) + #~(list #$@(if graphic? #~() #~("console=ttyS0")) + #+@(operating-system-kernel-arguments os os-drv "/dev/vda1"))) (define qemu-exec #~(list (string-append #$qemu "/bin/" #$(qemu-command (%current-system))) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:15:00 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:15:01 +0000 Received: from localhost ([127.0.0.1]:59942 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSm-000319-Ny for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:15:00 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:40048) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSj-00030Y-Ov for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:14:58 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id CE0E41CA5234; Fri, 21 Apr 2017 14:14:56 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v3 7/9] system: Use operating-system-boot-parameters directly. Date: Fri, 21 Apr 2017 14:14:40 +0200 Message-Id: <20170421121442.29972-8-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421121442.29972-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421121442.29972-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (operating-system-bootcfg): Use operating-system-boot-parameters directly. --- gnu/system.scm | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 9921a9786..90fea9af3 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -750,33 +750,13 @@ populate the \"old entries\" menu." (mlet* %store-monad ((system (operating-system-derivation os)) (root-fs -> (operating-system-root-file-system os)) - (store-fs -> (operating-system-store-file-system os)) - (label -> (kernel->boot-label (operating-system-kernel os))) - (kernel -> (operating-system-kernel-file os)) - (initrd (operating-system-initrd-file os)) (root-device -> (if (eq? 'uuid (file-system-title root-fs)) (uuid->string (file-system-device root-fs)) (file-system-device root-fs))) - (entries -> (list (menu-entry - (label label) - - ;; The device where the kernel and initrd live. - (device (fs->boot-device store-fs)) - (device-mount-point - (file-system-mount-point store-fs)) - - (linux kernel) - (linux-arguments - (cons* (string-append "--root=" root-device) - #~(string-append "--system=" #$system) - #~(string-append "--load=" #$system - "/boot") - (operating-system-kernel-arguments os - system - root-device))) - (initrd initrd))))) - (grub-configuration-file (operating-system-bootloader os) entries - #:old-entries old-entries))) + (entry (operating-system-boot-parameters os system root-device))) + (grub-configuration-file (operating-system-bootloader os) + (list entry) + #:old-entries old-entries))) (define (fs->boot-device fs) "Given FS, a object, return a value suitable for use as the From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:15:02 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:15:02 +0000 Received: from localhost ([127.0.0.1]:59946 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSn-00031s-WB for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:15:02 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:40064) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSl-00030k-Fp for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:14:59 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id E69691CA5243; Fri, 21 Apr 2017 14:14:57 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v3 8/9] system: grub: Use boot-parameters instead of menu-entry where possible. Date: Fri, 21 Apr 2017 14:14:41 +0200 Message-Id: <20170421121442.29972-9-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421121442.29972-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421121442.29972-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system/grub.scm (boot-parameters->menu-entry): New variable. (grub-configuration-file): Use boot-parameters instead of menu-entry where possible. * guix/scripts/system.scm (profile-boot-parameters): Update docstring. (reinstall-grub): Use profile-boot-parameters. (perform-action): Use profile-boot-parameters. --- gnu/system/grub.scm | 14 ++++++++++++-- guix/scripts/system.scm | 11 ++++++----- 2 files changed, 18 insertions(+), 7 deletions(-) diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index cde4b9e23..d2fa984ec 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -267,6 +267,16 @@ code." (#f #~(format #f "search --file --set ~a" #$file))))) +(define (boot-parameters->menu-entry conf) + "Convert a instance to a corresponding ." + (menu-entry + (label (boot-parameters-label conf)) + (device (boot-parameters-store-device conf)) + (device-mount-point (boot-parameters-store-mount-point conf)) + (linux (boot-parameters-kernel conf)) + (linux-arguments (boot-parameters-kernel-arguments conf)) + (initrd (boot-parameters-initrd conf)))) + (define* (grub-configuration-file config entries #:key (system (%current-system)) @@ -276,7 +286,7 @@ code." object. OLD-ENTRIES is taken to be a list of menu entries corresponding to old generations of the system." (define all-entries - (append entries + (append (map boot-parameters->menu-entry entries) (grub-configuration-menu-entries config))) (define entry->gexp @@ -323,7 +333,7 @@ set timeout=~a~%" #$@(if (pair? old-entries) #~((format port " submenu \"GNU system, old configurations...\" {~%") - #$@(map entry->gexp old-entries) + #$@(map entry->gexp (map boot-parameters->menu-entry old-entries)) (format port "}~%")) #~())))) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index d4cbb9d38..242bd8074 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -365,11 +365,12 @@ it atomically, and then run OS's activation script." (define* (profile-boot-parameters #:optional (profile %system-profile) (numbers (generation-numbers profile))) - "Return a list of 'menu-entry' for the generations of PROFILE specified by + "Return a list of 'boot-parameters' for the generations of PROFILE specified by NUMBERS, which is a list of generation numbers." (define (system->boot-parameters system number time) (unless-file-not-found - (let* ((params (read-boot-parameters-file system))) + (let* ((params (read-boot-parameters-file system)) + (label (boot-parameters-label params))) (boot-parameters (inherit params) (label (string-append label " (#" @@ -455,9 +456,9 @@ open connection to the store." ;; from the actual past values for this generation's entry. (grub-config (grub-configuration (device root-device))) ;; Make the specified system generation the default entry. - (entries (profile-grub-entries %system-profile (list number))) + (entries (profile-boot-parameters %system-profile (list number))) (old-generations (delv number (generation-numbers %system-profile))) - (old-entries (profile-grub-entries %system-profile old-generations)) + (old-entries (profile-boot-parameters %system-profile old-generations)) (grub.cfg (run-with-store store (grub-configuration-file grub-config entries @@ -641,7 +642,7 @@ output when building a system derivation, such as a disk image." (operating-system-bootcfg os (if (eq? 'init action) '() - (profile-grub-entries))))) + (profile-boot-parameters))))) ;; For 'init' and 'reconfigure', always build GRUB.CFG, even if ;; --no-grub is passed, because GRUB.CFG because we then use it as a GC From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:15:02 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:15:02 +0000 Received: from localhost ([127.0.0.1]:59948 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSo-00031z-9n for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:15:02 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:40084) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XSm-00030t-LL for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:15:00 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id A9D321CA524D; Fri, 21 Apr 2017 14:14:59 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v3 9/9] scripts: Remove profile-grub-entries. Date: Fri, 21 Apr 2017 14:14:42 +0200 Message-Id: <20170421121442.29972-10-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421121442.29972-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421121442.29972-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * guix/scripts/system.scm (profile-grub-entries): Delete variable. --- guix/scripts/system.scm | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 242bd8074..3feccb2ab 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -384,43 +384,6 @@ NUMBERS, which is a list of generation numbers." systems))) (filter-map system->boot-parameters systems numbers times))) -(define* (profile-grub-entries #:optional (profile %system-profile) - (numbers (generation-numbers profile))) - "Return a list of 'menu-entry' for the generations of PROFILE specified by -NUMBERS, which is a list of generation numbers." - (define (system->grub-entry system number time) - (unless-file-not-found - (let* ((params (read-boot-parameters-file system)) - (label (boot-parameters-label params)) - (root (boot-parameters-root-device params)) - (root-device (if (bytevector? root) - (uuid->string root) - root)) - (kernel (boot-parameters-kernel params)) - (kernel-arguments (boot-parameters-kernel-arguments params)) - (initrd (boot-parameters-initrd params))) - (menu-entry - (label (string-append label " (#" - (number->string number) ", " - (seconds->string time) ")")) - (device (boot-parameters-store-device params)) - (device-mount-point (boot-parameters-store-mount-point params)) - (linux kernel) - (linux-arguments - (cons* (string-append "--root=" root-device) - (string-append "--system=" system) - (string-append "--load=" system "/boot") - kernel-arguments)) - (initrd initrd))))) - - (let* ((systems (map (cut generation-file-name profile <>) - numbers)) - (times (map (lambda (system) - (unless-file-not-found - (stat:mtime (lstat system)))) - systems))) - (filter-map system->grub-entry systems numbers times))) - ;;; ;;; Roll-back. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:37:22 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:37:22 +0000 Received: from localhost ([127.0.0.1]:60014 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoQ-0003ed-42 for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:22 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:43832) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoO-0003eB-9B for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:20 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 894D61CA525B; Fri, 21 Apr 2017 14:37:18 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v4 01/10] system: Rename operating-system-kernel-arguments to operating-system-user-kernel-arguments. Date: Fri, 21 Apr 2017 14:37:05 +0200 Message-Id: <20170421123714.2395-2-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421123714.2395-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (operating-system-kernel-arguments): Rename to ... (operating-system-user-kernel-arguments): ... this. (): Adapt accordingly. (operating-system-bootcfg): Adapt accordingly. (operating-system-parameters-file): Adapt accordingly. * gnu/system/vm.scm (system-qemu-image/shared-store-script): Adapt accordingly. --- gnu/system.scm | 8 ++++---- gnu/system/vm.scm | 2 +- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index f6ab7ded8..4032e8e15 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -73,7 +73,7 @@ operating-system-hosts-file operating-system-kernel operating-system-kernel-file - operating-system-kernel-arguments + operating-system-user-kernel-arguments operating-system-initrd operating-system-users operating-system-groups @@ -129,7 +129,7 @@ operating-system? (kernel operating-system-kernel ; package (default linux-libre)) - (kernel-arguments operating-system-kernel-arguments + (kernel-arguments operating-system-user-kernel-arguments (default '())) ; list of gexps/strings (bootloader operating-system-bootloader) ; @@ -756,7 +756,7 @@ populate the \"old entries\" menu." #~(string-append "--system=" #$system) #~(string-append "--load=" #$system "/boot") - (operating-system-kernel-arguments os))) + (operating-system-user-kernel-arguments os))) (initrd initrd))))) (grub-configuration-file (operating-system-bootloader os) entries #:old-entries old-entries))) @@ -784,7 +784,7 @@ this file is the reconstruction of GRUB menu entries for old configurations." (root-device #$(file-system-device root)) (kernel #$(operating-system-kernel-file os)) (kernel-arguments - #$(operating-system-kernel-arguments os)) + #$(operating-system-user-kernel-arguments os)) (initrd #$initrd) (store (device #$(fs->boot-device store)) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 374d8b663..4f915c4f9 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -494,7 +494,7 @@ it is mostly useful when FULL-BOOT? is true." (string-append "--system=" #$os-drv) (string-append "--load=" #$os-drv "/boot") #$@(if graphic? #~() #~("console=ttyS0")) - #+@(operating-system-kernel-arguments os))) + #+@(operating-system-user-kernel-arguments os))) (define qemu-exec #~(list (string-append #$qemu "/bin/" #$(qemu-command (%current-system))) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:37:22 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:37:22 +0000 Received: from localhost ([127.0.0.1]:60016 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoQ-0003ef-AZ for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:22 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:43830) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoO-0003eA-8x for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:20 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 816B91CA210F; Fri, 21 Apr 2017 14:37:17 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v4 00/10] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. Date: Fri, 21 Apr 2017 14:37:04 +0200 Message-Id: <20170421123714.2395-1-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <86h91ikw4m.fsf@gmail.com> References: <86h91ikw4m.fsf@gmail.com> X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Danny Milosavljevic (10): system: Rename operating-system-kernel-arguments to operating-system-user-kernel-arguments. system: Rename operating-system-parameters-file to operating-system-boot-parameters-file. system: Factorize operating-system-boot-parameters-file. system: Introduce operating-system-kernel-arguments and use it. system: Introduce read-boot-parameters-file. scripts: Make boot-parameters label include generation number and time. system: vm: Use operating-system-kernel-arguments. system: Use operating-system-boot-parameters directly. system: grub: Use boot-parameters instead of menu-entry where possible. scripts: Remove profile-grub-entries. gnu/system.scm | 133 +++++++++++++++++++++++++++++++----------------- gnu/system/grub.scm | 14 ++++- gnu/system/vm.scm | 7 +-- guix/scripts/system.scm | 64 +++++------------------ 4 files changed, 114 insertions(+), 104 deletions(-) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:37:22 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:37:22 +0000 Received: from localhost ([127.0.0.1]:60019 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoQ-0003em-H8 for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:22 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:43834) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoO-0003eC-Hr for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:20 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 852F21CA525C; Fri, 21 Apr 2017 14:37:19 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v4 02/10] system: Rename operating-system-parameters-file to operating-system-boot-parameters-file. Date: Fri, 21 Apr 2017 14:37:06 +0200 Message-Id: <20170421123714.2395-3-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421123714.2395-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (operating-system-parameters-file): Rename to ... (operating-system-boot-parameters-file): ... this. (operating-system-directory-base-entries): Adapt call site. --- gnu/system.scm | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 4032e8e15..44190bdfc 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -278,7 +278,7 @@ value of the SYSTEM-SERVICE-TYPE service." (mlet %store-monad ((kernel -> (operating-system-kernel os)) (initrd (operating-system-initrd-file os)) - (params (operating-system-parameters-file os))) + (params (operating-system-boot-parameters-file os))) (return `(("kernel" ,kernel) ("parameters" ,params) ("initrd" ,initrd) @@ -769,7 +769,7 @@ device in a ." ((label) (file-system-device fs)) (else #f))) -(define (operating-system-parameters-file os) +(define (operating-system-boot-parameters-file os) "Return a file that describes the boot parameters of OS. The primary use of this file is the reconstruction of GRUB menu entries for old configurations." (mlet %store-monad ((initrd (operating-system-initrd-file os)) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:37:24 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:37:24 +0000 Received: from localhost ([127.0.0.1]:60022 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoR-0003fA-O6 for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:23 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:43842) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoP-0003eV-EP for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:21 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 7B1381CA5263; Fri, 21 Apr 2017 14:37:20 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v4 03/10] system: Factorize operating-system-boot-parameters-file. Date: Fri, 21 Apr 2017 14:37:07 +0200 Message-Id: <20170421123714.2395-4-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421123714.2395-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (operating-system-boot-parameters): New variable. (operating-system-boot-parameters-file): Modify. --- gnu/system.scm | 64 +++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 43 insertions(+), 21 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 44190bdfc..6601147e9 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -769,27 +769,49 @@ device in a ." ((label) (file-system-device fs)) (else #f))) -(define (operating-system-boot-parameters-file os) - "Return a file that describes the boot parameters of OS. The primary use of -this file is the reconstruction of GRUB menu entries for old configurations." - (mlet %store-monad ((initrd (operating-system-initrd-file os)) - (root -> (operating-system-root-file-system os)) - (store -> (operating-system-store-file-system os)) - (label -> (kernel->boot-label - (operating-system-kernel os)))) - (gexp->file "parameters" - #~(boot-parameters - (version 0) - (label #$label) - (root-device #$(file-system-device root)) - (kernel #$(operating-system-kernel-file os)) - (kernel-arguments - #$(operating-system-user-kernel-arguments os)) - (initrd #$initrd) - (store - (device #$(fs->boot-device store)) - (mount-point #$(file-system-mount-point store)))) - #:set-load-path? #f))) +(define (operating-system-boot-parameters os system root-device) + "Return a monadic record that describes the boot parameters of OS. +SYSTEM is optional. If given, adds kernel arguments for that system to ." + (mlet* %store-monad + ((initrd (operating-system-initrd-file os)) + (store -> (operating-system-store-file-system os)) + (label -> (kernel->boot-label (operating-system-kernel os)))) + (return (boot-parameters + (label label) + (root-device root-device) + (kernel (operating-system-kernel-file os)) + (kernel-arguments + (operating-system-user-kernel-arguments os)) + (initrd initrd) + (store-device (fs->boot-device store)) + (store-mount-point (file-system-mount-point store)))))) + +(define* (operating-system-boot-parameters-file os #:optional (system.drv #f)) + "Return a file that describes the boot parameters of OS. The primary use of +this file is the reconstruction of GRUB menu entries for old configurations. +SYSTEM.DRV is optional. If given, adds kernel arguments for that system to the +returned file (since the returned file is then usually stored into the +content-addressed \"system\" directory, it's usually not a good idea +to give it because the content hash would change by the content hash +being stored into the \"parameters\" file)." + (mlet* %store-monad ((root -> (operating-system-root-file-system os)) + (device -> (file-system-device root)) + (params (operating-system-boot-parameters os + system.drv + device))) + (gexp->file "parameters" + #~(boot-parameters + (version 0) + (label #$(boot-parameters-label params)) + (root-device #$(boot-parameters-root-device params)) + (kernel #$(boot-parameters-kernel params)) + (kernel-arguments + #$(boot-parameters-kernel-arguments params)) + (initrd #$(boot-parameters-initrd params)) + (store + (device #$(boot-parameters-store-device params)) + (mount-point #$(boot-parameters-store-mount-point params)))) + #:set-load-path? #f))) ;;; From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:37:24 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:37:24 +0000 Received: from localhost ([127.0.0.1]:60024 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoS-0003fC-03 for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:24 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:43846) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoQ-0003ec-9M for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:22 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 55CE21CA210F; Fri, 21 Apr 2017 14:37:21 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v4 04/10] system: Introduce operating-system-kernel-arguments and use it. Date: Fri, 21 Apr 2017 14:37:08 +0200 Message-Id: <20170421123714.2395-5-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421123714.2395-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (bootable-kernel-arguments): New variable. (operating-system-kernel-arguments): New variable. (operating-system-bootcfg): Use operating-system-kernel-arguments. (operating-system-boot-parameters): Use operating-system-kernel-arguments. --- gnu/system.scm | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 6601147e9..a4f15f7f5 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -73,7 +73,7 @@ operating-system-hosts-file operating-system-kernel operating-system-kernel-file - operating-system-user-kernel-arguments + operating-system-kernel-arguments operating-system-initrd operating-system-users operating-system-groups @@ -122,6 +122,14 @@ ;;; ;;; Code: +(define (bootable-kernel-arguments kernel-arguments system.drv root-device) + "Prepend extra arguments to KERNEL-ARGUMENTS that allow SYSTEM.DRV to be +booted from ROOT-DEVICE" + (cons* (string-append "--root=" root-device) + #~(string-append "--system=" #$system.drv) + #~(string-append "--load=" #$system.drv "/boot") + kernel-arguments)) + ;; System-wide configuration. ;; TODO: Add per-field docstrings/stexi. (define-record-type* operating-system @@ -182,6 +190,13 @@ (sudoers-file operating-system-sudoers-file ; file-like (default %sudoers-specification))) +(define (operating-system-kernel-arguments os system.drv root-device) + "Return all the kernel arguments, including the ones not specified +directly by the user." + (bootable-kernel-arguments (operating-system-user-kernel-arguments os) + system.drv + root-device)) + ;;; ;;; Services. @@ -756,7 +771,9 @@ populate the \"old entries\" menu." #~(string-append "--system=" #$system) #~(string-append "--load=" #$system "/boot") - (operating-system-user-kernel-arguments os))) + (operating-system-kernel-arguments os + system + root-device))) (initrd initrd))))) (grub-configuration-file (operating-system-bootloader os) entries #:old-entries old-entries))) @@ -781,7 +798,9 @@ SYSTEM is optional. If given, adds kernel arguments for that system to boot-device store)) (store-mount-point (file-system-mount-point store)))))) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:37:30 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:37:30 +0000 Received: from localhost ([127.0.0.1]:60031 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoY-0003g0-8W for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:30 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:43842) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoQ-0003eV-R9 for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:23 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 37D1E1CA525B; Fri, 21 Apr 2017 14:37:22 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v4 05/10] system: Introduce read-boot-parameters-file. Date: Fri, 21 Apr 2017 14:37:09 +0200 Message-Id: <20170421123714.2395-6-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421123714.2395-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (read-boot-parameters): Remove export. (read-boot-parameters-file): New variable. Export it. * guix/scripts/system.scm (profile-boot-parameters): Use read-boot-parameters-file. (profile-grub-entries): Use read-boot-parameters-file. (reinstall-grub): Use read-boot-parameters-file. (display-system-generation): Use read-boot-parameters-file. --- gnu/system.scm | 22 +++++++++++++++++++++- guix/scripts/system.scm | 14 ++++---------- 2 files changed, 25 insertions(+), 11 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index a4f15f7f5..9921a9786 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -109,7 +109,7 @@ boot-parameters-kernel boot-parameters-kernel-arguments boot-parameters-initrd - read-boot-parameters + read-boot-parameters-file local-host-aliases %setuid-programs @@ -907,4 +907,24 @@ being stored into the \"parameters\" file)." system) #f))) +(define (read-boot-parameters-file system) + "Read boot parameters from SYSTEM's (system or generation) \"parameters\" +file and returns the corresponding object or #f if the +format is unrecognized. +The object has its kernel-arguments extended in order to make it bootable." + (let* ((file (string-append system "/parameters")) + (params (call-with-input-file file read-boot-parameters)) + (root (boot-parameters-root-device params)) + (root-device (if (bytevector? root) + (uuid->string root) + root)) + (kernel-arguments (boot-parameters-kernel-arguments params))) + (if params + (boot-parameters + (inherit params) + (kernel-arguments (bootable-kernel-arguments kernel-arguments + system + root-device))) + #f))) + ;;; system.scm ends here diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 8fabdb5c1..b278b6683 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -369,9 +369,7 @@ it atomically, and then run OS's activation script." NUMBERS, which is a list of generation numbers." (define (system->boot-parameters system number time) (unless-file-not-found - (let* ((file (string-append system "/parameters")) - (params (call-with-input-file file - read-boot-parameters))) + (let* ((params (read-boot-parameters-file system))) params))) (let* ((systems (map (cut generation-file-name profile <>) numbers)) @@ -387,9 +385,7 @@ NUMBERS, which is a list of generation numbers." NUMBERS, which is a list of generation numbers." (define (system->grub-entry system number time) (unless-file-not-found - (let* ((file (string-append system "/parameters")) - (params (call-with-input-file file - read-boot-parameters)) + (let* ((params (read-boot-parameters-file system)) (label (boot-parameters-label params)) (root (boot-parameters-root-device params)) (root-device (if (bytevector? root) @@ -447,9 +443,8 @@ generation as its default entry. STORE is an open connection to the store." "Re-install grub for existing system profile generation NUMBER. STORE is an open connection to the store." (let* ((generation (generation-file-name %system-profile number)) - (file (string-append generation "/parameters")) (params (unless-file-not-found - (call-with-input-file file read-boot-parameters))) + (read-boot-parameters-file generation))) (root-device (boot-parameters-root-device params)) ;; We don't currently keep track of past menu entries' details. The ;; default values will allow the system to boot, even if they differ @@ -533,8 +528,7 @@ list of services." "Display a summary of system generation NUMBER in a human-readable format." (unless (zero? number) (let* ((generation (generation-file-name profile number)) - (param-file (string-append generation "/parameters")) - (params (call-with-input-file param-file read-boot-parameters)) + (params (read-boot-parameters-file generation)) (label (boot-parameters-label params)) (root (boot-parameters-root-device params)) (root-device (if (bytevector? root) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:37:30 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:37:30 +0000 Received: from localhost ([127.0.0.1]:60033 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoY-0003g2-Gh for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:30 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:43860) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoR-0003f9-Tn for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:24 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 0E1E01CA5273; Fri, 21 Apr 2017 14:37:22 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v4 06/10] scripts: Make boot-parameters label include generation number and time. Date: Fri, 21 Apr 2017 14:37:10 +0200 Message-Id: <20170421123714.2395-7-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421123714.2395-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * guix/scripts/system.scm (system->boot-parameters): Make label include generation number and time. --- guix/scripts/system.scm | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index b278b6683..5e4e0df20 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -369,8 +369,13 @@ it atomically, and then run OS's activation script." NUMBERS, which is a list of generation numbers." (define (system->boot-parameters system number time) (unless-file-not-found - (let* ((params (read-boot-parameters-file system))) - params))) + (let* ((params (read-boot-parameters-file system)) + (label (boot-parameters-label params))) + (boot-parameters + (inherit params) + (label (string-append label " (#" + (number->string number) ", " + (seconds->string time) ")")))))) (let* ((systems (map (cut generation-file-name profile <>) numbers)) (times (map (lambda (system) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:37:30 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:37:31 +0000 Received: from localhost ([127.0.0.1]:60035 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoY-0003g9-ON for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:30 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:43864) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoT-0003fU-Ea for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:25 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id D56671CA527A; Fri, 21 Apr 2017 14:37:23 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v4 07/10] system: vm: Use operating-system-kernel-arguments. Date: Fri, 21 Apr 2017 14:37:11 +0200 Message-Id: <20170421123714.2395-8-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421123714.2395-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system/vm.scm (system-qemu-image/shared-store-script): Use operating-system-kernel-arguments. --- gnu/system/vm.scm | 7 ++----- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/gnu/system/vm.scm b/gnu/system/vm.scm index 4f915c4f9..2c8b954c8 100644 --- a/gnu/system/vm.scm +++ b/gnu/system/vm.scm @@ -490,11 +490,8 @@ it is mostly useful when FULL-BOOT? is true." #:full-boot? full-boot? #:disk-image-size disk-image-size))) (define kernel-arguments - #~(list "--root=/dev/vda1" - (string-append "--system=" #$os-drv) - (string-append "--load=" #$os-drv "/boot") - #$@(if graphic? #~() #~("console=ttyS0")) - #+@(operating-system-user-kernel-arguments os))) + #~(list #$@(if graphic? #~() #~("console=ttyS0")) + #+@(operating-system-kernel-arguments os os-drv "/dev/vda1"))) (define qemu-exec #~(list (string-append #$qemu "/bin/" #$(qemu-command (%current-system))) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:37:31 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:37:31 +0000 Received: from localhost ([127.0.0.1]:60037 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoY-0003gG-VC for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:31 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:43872) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoU-0003fc-Cs for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:26 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 7A1431CA525C; Fri, 21 Apr 2017 14:37:25 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v4 08/10] system: Use operating-system-boot-parameters directly. Date: Fri, 21 Apr 2017 14:37:12 +0200 Message-Id: <20170421123714.2395-9-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421123714.2395-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system.scm (operating-system-bootcfg): Use operating-system-boot-parameters directly. --- gnu/system.scm | 28 ++++------------------------ 1 file changed, 4 insertions(+), 24 deletions(-) diff --git a/gnu/system.scm b/gnu/system.scm index 9921a9786..90fea9af3 100644 --- a/gnu/system.scm +++ b/gnu/system.scm @@ -750,33 +750,13 @@ populate the \"old entries\" menu." (mlet* %store-monad ((system (operating-system-derivation os)) (root-fs -> (operating-system-root-file-system os)) - (store-fs -> (operating-system-store-file-system os)) - (label -> (kernel->boot-label (operating-system-kernel os))) - (kernel -> (operating-system-kernel-file os)) - (initrd (operating-system-initrd-file os)) (root-device -> (if (eq? 'uuid (file-system-title root-fs)) (uuid->string (file-system-device root-fs)) (file-system-device root-fs))) - (entries -> (list (menu-entry - (label label) - - ;; The device where the kernel and initrd live. - (device (fs->boot-device store-fs)) - (device-mount-point - (file-system-mount-point store-fs)) - - (linux kernel) - (linux-arguments - (cons* (string-append "--root=" root-device) - #~(string-append "--system=" #$system) - #~(string-append "--load=" #$system - "/boot") - (operating-system-kernel-arguments os - system - root-device))) - (initrd initrd))))) - (grub-configuration-file (operating-system-bootloader os) entries - #:old-entries old-entries))) + (entry (operating-system-boot-parameters os system root-device))) + (grub-configuration-file (operating-system-bootloader os) + (list entry) + #:old-entries old-entries))) (define (fs->boot-device fs) "Given FS, a object, return a value suitable for use as the From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:37:31 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:37:31 +0000 Received: from localhost ([127.0.0.1]:60039 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoZ-0003gN-6h for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:31 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:43874) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoV-0003fj-8O for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:27 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 5EBC41CA5280; Fri, 21 Apr 2017 14:37:26 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v4 09/10] system: grub: Use boot-parameters instead of menu-entry where possible. Date: Fri, 21 Apr 2017 14:37:13 +0200 Message-Id: <20170421123714.2395-10-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421123714.2395-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * gnu/system/grub.scm (boot-parameters->menu-entry): New variable. (grub-configuration-file): Use boot-parameters instead of menu-entry where possible. * guix/scripts/system.scm (profile-boot-parameters): Update docstring. (reinstall-grub): Use profile-boot-parameters. (perform-action): Use profile-boot-parameters. --- gnu/system/grub.scm | 14 ++++++++++++-- guix/scripts/system.scm | 8 ++++---- 2 files changed, 16 insertions(+), 6 deletions(-) diff --git a/gnu/system/grub.scm b/gnu/system/grub.scm index cde4b9e23..d2fa984ec 100644 --- a/gnu/system/grub.scm +++ b/gnu/system/grub.scm @@ -267,6 +267,16 @@ code." (#f #~(format #f "search --file --set ~a" #$file))))) +(define (boot-parameters->menu-entry conf) + "Convert a instance to a corresponding ." + (menu-entry + (label (boot-parameters-label conf)) + (device (boot-parameters-store-device conf)) + (device-mount-point (boot-parameters-store-mount-point conf)) + (linux (boot-parameters-kernel conf)) + (linux-arguments (boot-parameters-kernel-arguments conf)) + (initrd (boot-parameters-initrd conf)))) + (define* (grub-configuration-file config entries #:key (system (%current-system)) @@ -276,7 +286,7 @@ code." object. OLD-ENTRIES is taken to be a list of menu entries corresponding to old generations of the system." (define all-entries - (append entries + (append (map boot-parameters->menu-entry entries) (grub-configuration-menu-entries config))) (define entry->gexp @@ -323,7 +333,7 @@ set timeout=~a~%" #$@(if (pair? old-entries) #~((format port " submenu \"GNU system, old configurations...\" {~%") - #$@(map entry->gexp old-entries) + #$@(map entry->gexp (map boot-parameters->menu-entry old-entries)) (format port "}~%")) #~())))) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 5e4e0df20..242bd8074 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -365,7 +365,7 @@ it atomically, and then run OS's activation script." (define* (profile-boot-parameters #:optional (profile %system-profile) (numbers (generation-numbers profile))) - "Return a list of 'menu-entry' for the generations of PROFILE specified by + "Return a list of 'boot-parameters' for the generations of PROFILE specified by NUMBERS, which is a list of generation numbers." (define (system->boot-parameters system number time) (unless-file-not-found @@ -456,9 +456,9 @@ open connection to the store." ;; from the actual past values for this generation's entry. (grub-config (grub-configuration (device root-device))) ;; Make the specified system generation the default entry. - (entries (profile-grub-entries %system-profile (list number))) + (entries (profile-boot-parameters %system-profile (list number))) (old-generations (delv number (generation-numbers %system-profile))) - (old-entries (profile-grub-entries %system-profile old-generations)) + (old-entries (profile-boot-parameters %system-profile old-generations)) (grub.cfg (run-with-store store (grub-configuration-file grub-config entries @@ -642,7 +642,7 @@ output when building a system derivation, such as a disk image." (operating-system-bootcfg os (if (eq? 'init action) '() - (profile-grub-entries))))) + (profile-boot-parameters))))) ;; For 'init' and 'reconfigure', always build GRUB.CFG, even if ;; --no-grub is passed, because GRUB.CFG because we then use it as a GC From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 08:37:31 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 12:37:31 +0000 Received: from localhost ([127.0.0.1]:60041 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoZ-0003gV-GU for submit@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:31 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:43888) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1XoW-0003fq-8a for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 08:37:28 -0400 Received: from dayas.3.home (178.113.161.42.wireless.dyn.drei.com [178.113.161.42]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 56C891CA210F; Fri, 21 Apr 2017 14:37:27 +0200 (CEST) From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: [PATCH v4 10/10] scripts: Remove profile-grub-entries. Date: Fri, 21 Apr 2017 14:37:14 +0200 Message-Id: <20170421123714.2395-11-dannym@scratchpost.org> X-Mailer: git-send-email 2.12.1 In-Reply-To: <20170421123714.2395-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> Tags: patch X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: Danny Milosavljevic X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) * guix/scripts/system.scm (profile-grub-entries): Delete variable. --- guix/scripts/system.scm | 37 ------------------------------------- 1 file changed, 37 deletions(-) diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm index 242bd8074..3feccb2ab 100644 --- a/guix/scripts/system.scm +++ b/guix/scripts/system.scm @@ -384,43 +384,6 @@ NUMBERS, which is a list of generation numbers." systems))) (filter-map system->boot-parameters systems numbers times))) -(define* (profile-grub-entries #:optional (profile %system-profile) - (numbers (generation-numbers profile))) - "Return a list of 'menu-entry' for the generations of PROFILE specified by -NUMBERS, which is a list of generation numbers." - (define (system->grub-entry system number time) - (unless-file-not-found - (let* ((params (read-boot-parameters-file system)) - (label (boot-parameters-label params)) - (root (boot-parameters-root-device params)) - (root-device (if (bytevector? root) - (uuid->string root) - root)) - (kernel (boot-parameters-kernel params)) - (kernel-arguments (boot-parameters-kernel-arguments params)) - (initrd (boot-parameters-initrd params))) - (menu-entry - (label (string-append label " (#" - (number->string number) ", " - (seconds->string time) ")")) - (device (boot-parameters-store-device params)) - (device-mount-point (boot-parameters-store-mount-point params)) - (linux kernel) - (linux-arguments - (cons* (string-append "--root=" root-device) - (string-append "--system=" system) - (string-append "--load=" system "/boot") - kernel-arguments)) - (initrd initrd))))) - - (let* ((systems (map (cut generation-file-name profile <>) - numbers)) - (times (map (lambda (system) - (unless-file-not-found - (stat:mtime (lstat system)))) - systems))) - (filter-map system->grub-entry systems numbers times))) - ;;; ;;; Roll-back. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 09:04:36 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 13:04:36 +0000 Received: from localhost ([127.0.0.1]:60059 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1YEl-0004Jo-QM for submit@debbugs.gnu.org; Fri, 21 Apr 2017 09:04:35 -0400 Received: from mail-wr0-f177.google.com ([209.85.128.177]:35576) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1YEk-0004Jb-0O for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 09:04:34 -0400 Received: by mail-wr0-f177.google.com with SMTP id z52so12976470wrc.2 for <26544@debbugs.gnu.org>; Fri, 21 Apr 2017 06:04:34 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=ZnuuJCvZXiYf51orXnqNaBukRV9DYapuh3X/e+e1n6Y=; b=lvaNJilfUL4NjYJKKRKMw18QWVf3ndmtVNIVZA7LX/6m+jf0xkb6uvxA9RGxEAOb9n lz9cNJ76VKz4P4G88o/f4gkE9nYW/vBlQ50bRi71CY2g7LmbD7AI5sChj0JALwXChFp1 1tPhvWn8Ys5YaZloGkNDmNdH92GRRJrXhVo81eYvtkwdHWKcdrHPXVxZp0Ua8nJ9m6Gy IRTOfBm0ciSytTX9fNik2zxylsDLo8+YXk3sgNFjQOJ1Ney8l9ktPwflm0MWtltdA10Y 2jvu4kDQzAo6UuSn+eFgvEV4s+DplWDaO8OdyJy3ykYDcuE78T+f5c/L8RD8LKyBVjoA bibg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=ZnuuJCvZXiYf51orXnqNaBukRV9DYapuh3X/e+e1n6Y=; b=Twz420QQRNj8KtgxDUDmpJozn8kOkubVX3ioWDClnf1MQAAOyRxGBoS8ocPYOrX+IE kfda/sZwmzjEAdtircQ+UnMmbmIaLxAvdCWn6paFoT0+wvrUtRJt1Qbd1H5nKyz+qXE7 ueT86miq64kbIPS14gIwqvC3QsL7+YlRS9elr+rUX3+YeNpVNepThs5HgxyvKjLNGbM6 MlnQ6FhV/6sSPf0x4+qjbskQZC0L/nTLeG4PiYpoeQB5UrCwwxrVvLSK1j6wZfsVuHZZ 5vwjdIlOH1cy7X7SxoGFxY6syY3rJOkTidXr5DobnFJ8TCoePTzxOL1AD5SNjeumxSyE nvqw== X-Gm-Message-State: AN3rC/4KraMJeWwn3NPv4LS9vs8j+/yfK3iKMZUH5jb7EZbT/9mF+d60 5ptcspCkkj+CShli X-Received: by 10.223.139.209 with SMTP id w17mr13532452wra.18.1492779867990; Fri, 21 Apr 2017 06:04:27 -0700 (PDT) Received: from zbook ([46.218.109.88]) by smtp.gmail.com with ESMTPSA id y126sm1928770wmg.29.2017.04.21.06.04.27 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 21 Apr 2017 06:04:27 -0700 (PDT) References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> <20170421123714.2395-11-dannym@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH v4 10/10] scripts: Remove profile-grub-entries. In-reply-to: <20170421123714.2395-11-dannym@scratchpost.org> Date: Fri, 21 Apr 2017 15:04:48 +0200 Message-ID: <861ssllxn3.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.3 (--) Thanks for v3 and v4 ! It seems to me that my remarks have been addressed, except for the old-entries label ? I can't found a patch fixing this issue. I know that it is not common on this list, but a brief changelog for each serie would be nice :) Thanks, Mathieu Danny Milosavljevic writes: > * guix/scripts/system.scm (profile-grub-entries): Delete variable. > --- > guix/scripts/system.scm | 37 ------------------------------------- > 1 file changed, 37 deletions(-) > > diff --git a/guix/scripts/system.scm b/guix/scripts/system.scm > index 242bd8074..3feccb2ab 100644 > --- a/guix/scripts/system.scm > +++ b/guix/scripts/system.scm > @@ -384,43 +384,6 @@ NUMBERS, which is a list of generation numbers." > systems))) > (filter-map system->boot-parameters systems numbers times))) > > -(define* (profile-grub-entries #:optional (profile %system-profile) > - (numbers (generation-numbers profile))) > - "Return a list of 'menu-entry' for the generations of PROFILE specified by > -NUMBERS, which is a list of generation numbers." > - (define (system->grub-entry system number time) > - (unless-file-not-found > - (let* ((params (read-boot-parameters-file system)) > - (label (boot-parameters-label params)) > - (root (boot-parameters-root-device params)) > - (root-device (if (bytevector? root) > - (uuid->string root) > - root)) > - (kernel (boot-parameters-kernel params)) > - (kernel-arguments (boot-parameters-kernel-arguments params)) > - (initrd (boot-parameters-initrd params))) > - (menu-entry > - (label (string-append label " (#" > - (number->string number) ", " > - (seconds->string time) ")")) > - (device (boot-parameters-store-device params)) > - (device-mount-point (boot-parameters-store-mount-point params)) > - (linux kernel) > - (linux-arguments > - (cons* (string-append "--root=" root-device) > - (string-append "--system=" system) > - (string-append "--load=" system "/boot") > - kernel-arguments)) > - (initrd initrd))))) > - > - (let* ((systems (map (cut generation-file-name profile <>) > - numbers)) > - (times (map (lambda (system) > - (unless-file-not-found > - (stat:mtime (lstat system)))) > - systems))) > - (filter-map system->grub-entry systems numbers times))) > - > > ;;; > ;;; Roll-back. From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 11:20:36 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 15:20:37 +0000 Received: from localhost ([127.0.0.1]:60992 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1aMO-0002kO-NC for submit@debbugs.gnu.org; Fri, 21 Apr 2017 11:20:36 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:40400) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1aMN-0002kB-3W for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 11:20:35 -0400 Received: from localhost (77.118.129.111.wireless.dyn.drei.com [77.118.129.111]) by dd1012.kasserver.com (Postfix) with ESMTPSA id F01381CA1FF0; Fri, 21 Apr 2017 17:20:30 +0200 (CEST) Date: Fri, 21 Apr 2017 17:20:28 +0200 From: Danny Milosavljevic To: Mathieu Othacehe Subject: Re: bug#26544: [PATCH v4 10/10] scripts: Remove profile-grub-entries. Message-ID: <20170421172028.1b0c1754@scratchpost.org> In-Reply-To: <861ssllxn3.fsf@gmail.com> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> <20170421123714.2395-11-dannym@scratchpost.org> <861ssllxn3.fsf@gmail.com> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Hi Mathieu, On Fri, 21 Apr 2017 15:04:48 +0200 Mathieu Othacehe wrote: > Thanks for v3 and v4 ! > > It seems to me that my remarks have been addressed, except for the > old-entries label ? I can't found a patch fixing this issue. PATCH v4 06/10 should also fix it. Doesn't it? I tested it here and it seems fine. Or do I misunderstand which problem you mean? > I know that it is not common on this list, but a brief changelog for > each serie would be nice :) I can do that for large patchsets such as this one. Personally, I diff the diffs in such cases (i.e. "diff -u v3_a.patch v4_a.patch" etc). It's a bit jarring at first but it helps :) From debbugs-submit-bounces@debbugs.gnu.org Fri Apr 21 12:11:46 2017 Received: (at 26544) by debbugs.gnu.org; 21 Apr 2017 16:11:46 +0000 Received: from localhost ([127.0.0.1]:32791 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1b9t-00042O-Vv for submit@debbugs.gnu.org; Fri, 21 Apr 2017 12:11:46 -0400 Received: from mail-wr0-f173.google.com ([209.85.128.173]:35080) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d1b9r-00042B-Ot for 26544@debbugs.gnu.org; Fri, 21 Apr 2017 12:11:44 -0400 Received: by mail-wr0-f173.google.com with SMTP id z52so16218655wrc.2 for <26544@debbugs.gnu.org>; Fri, 21 Apr 2017 09:11:43 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=references:user-agent:from:to:cc:subject:in-reply-to:date :message-id:mime-version; bh=BO2tHASyo31vvDPUA9Ctb/a9baeZdyJ4vOHBad6fhWA=; b=ZfLzdskJFJhXC3wcOsOkAxeNFRJ2bjTk9jlZlCSVd240ALhP5e4E2a5e4VOisRO3Up TvEEwXsbpsMotSmcFKCwkUJVbyLrIQ6Umefxpi6FRg+BibIL0kKJk+Se3MLEBXJJWYdV uJnjMW5Q54Pi3guKvbWKquTsPhupp8EvsOXVU20UZl/geuKzmzUvCoHQHQCZaLufJocl rPYl/3wclluESA+XD+Hcg5cYi82mLbAQCgkwWSDGZs0CLD8kwE7FIwcsC1JAFIN7351Z qkc4xaKphDfLetRCbTM6KJ9QPsWF1kuir5c39Q1ZyPYU2Uy5BWsuJQicKdqHKjfdN3kA O4pg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:references:user-agent:from:to:cc:subject :in-reply-to:date:message-id:mime-version; bh=BO2tHASyo31vvDPUA9Ctb/a9baeZdyJ4vOHBad6fhWA=; b=sjywyVPZKofsh4pXy+QLK5l1dNRWOL4BV6RrCg4U/9cwzC6wPJIoKSz09UOPYu8I91 f1VqIDjer6d3aQO7N/fSVKfjCUOOlkUdUXcUsqyA1lam7wLKdusJ08A5L3O+wbBQgQae TLBB4joWLzIZHpkTK9KTxMNJGAl+uAI2055B119Zt4RD7V6FOXbVYOnNdzF3vXcs6uAg W+B+tYgSRemaVkU88jY5ZPTTYCk1FMZ2hJ6DiD9jmC6NwC1aFy8VqClY69uiAKfHwIXX sn09oZnmx7p3ESsWu5BngHXs3RVTZXeodBN5xzbnq+d+ow4WmLG1q5Qm1g8SmkNbprob ugSw== X-Gm-Message-State: AN3rC/5RLDsuEZIpa5Hfh+6eFH7mvH+MAkonGFuyHEHHKGe7T7xO5l9o 9Nz1CmMGleuJkJjF X-Received: by 10.223.160.214 with SMTP id n22mr14435772wrn.198.1492791097980; Fri, 21 Apr 2017 09:11:37 -0700 (PDT) Received: from cervin (85-169-37-239.rev.numericable.fr. [85.169.37.239]) by smtp.gmail.com with ESMTPSA id x20sm2801187wme.0.2017.04.21.09.11.36 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 21 Apr 2017 09:11:36 -0700 (PDT) References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> <20170421123714.2395-11-dannym@scratchpost.org> <861ssllxn3.fsf@gmail.com> <20170421172028.1b0c1754@scratchpost.org> User-agent: mu4e 0.9.18; emacs 25.2.1 From: Mathieu Othacehe To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH v4 10/10] scripts: Remove profile-grub-entries. In-reply-to: <20170421172028.1b0c1754@scratchpost.org> Date: Fri, 21 Apr 2017 18:11:35 +0200 Message-ID: <8737d1hhag.fsf@gmail.com> MIME-Version: 1.0 Content-Type: text/plain X-Spam-Score: -2.8 (--) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.8 (--) Hi, > PATCH v4 06/10 should also fix it. Doesn't it? I tested it here and it seems fine. > > Or do I misunderstand which problem you mean? Nope, I just didn't received v4 06/10 when I wrote that, sorry. I just tested v4 serie (reconfigure, list-generation, switch-generation and vm), everything seems fine for me ! Thanks, Mathieu From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 22 14:57:01 2017 Received: (at 26544) by debbugs.gnu.org; 22 Apr 2017 18:57:02 +0000 Received: from localhost ([127.0.0.1]:34682 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d20DN-0008NW-MI for submit@debbugs.gnu.org; Sat, 22 Apr 2017 14:57:01 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:35898) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d20DM-0008NI-D5 for 26544@debbugs.gnu.org; Sat, 22 Apr 2017 14:57:00 -0400 Received: from localhost (77.118.129.111.wireless.dyn.drei.com [77.118.129.111]) by dd1012.kasserver.com (Postfix) with ESMTPSA id D49E91CA334E for <26544@debbugs.gnu.org>; Sat, 22 Apr 2017 20:56:58 +0200 (CEST) Date: Sat, 22 Apr 2017 20:56:55 +0200 From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: Re: [PATCH v2 1/8] system: Rename operating-system-kernel-arguments to operating-system-user-kernel-arguments. Message-ID: <20170422205651.6f8c4b26@scratchpost.org> In-Reply-To: <20170421022127.20524-2-dannym@scratchpost.org> References: <20170421022127.20524-1-dannym@scratchpost.org> <20170421022127.20524-2-dannym@scratchpost.org> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Applied this patch to master as af98d25a1286e246e8da36d6d63b4d66e58f2cf8 and pushed. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 22 14:57:07 2017 Received: (at 26544) by debbugs.gnu.org; 22 Apr 2017 18:57:07 +0000 Received: from localhost ([127.0.0.1]:34685 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d20DS-0008Ny-Sx for submit@debbugs.gnu.org; Sat, 22 Apr 2017 14:57:07 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:35906) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d20DQ-0008Nq-Nn for 26544@debbugs.gnu.org; Sat, 22 Apr 2017 14:57:04 -0400 Received: from localhost (77.118.129.111.wireless.dyn.drei.com [77.118.129.111]) by dd1012.kasserver.com (Postfix) with ESMTPSA id C17461CA334E for <26544@debbugs.gnu.org>; Sat, 22 Apr 2017 20:57:03 +0200 (CEST) Date: Sat, 22 Apr 2017 20:57:02 +0200 From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: Re: [PATCH v2 2/8] system: Rename operating-system-parameters-file to operating-system-boot-parameters-file. Message-ID: <20170422205702.783fcbc5@scratchpost.org> In-Reply-To: <20170421022127.20524-3-dannym@scratchpost.org> References: <20170421022127.20524-1-dannym@scratchpost.org> <20170421022127.20524-3-dannym@scratchpost.org> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Applied this patch to master as 71d04202026e2061f898a142a8381d55bee5fb00 and pushed. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 22 14:59:07 2017 Received: (at 26544) by debbugs.gnu.org; 22 Apr 2017 18:59:07 +0000 Received: from localhost ([127.0.0.1]:34690 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d20FP-0008Qw-8b for submit@debbugs.gnu.org; Sat, 22 Apr 2017 14:59:07 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:36106) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d20FN-0008Qp-Qj for 26544@debbugs.gnu.org; Sat, 22 Apr 2017 14:59:06 -0400 Received: from localhost (77.118.129.111.wireless.dyn.drei.com [77.118.129.111]) by dd1012.kasserver.com (Postfix) with ESMTPSA id D71C11CA334E for <26544@debbugs.gnu.org>; Sat, 22 Apr 2017 20:59:04 +0200 (CEST) Date: Sat, 22 Apr 2017 20:59:01 +0200 From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: Re: [PATCH v4 01/10] system: Rename operating-system-kernel-arguments to operating-system-user-kernel-arguments. Message-ID: <20170422205901.5c309611@scratchpost.org> In-Reply-To: <20170421123714.2395-2-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> <20170421123714.2395-2-dannym@scratchpost.org> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Applied this patch to master as af98d25a1286e246e8da36d6d63b4d66e58f2cf8 and pushed. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 22 15:00:37 2017 Received: (at 26544) by debbugs.gnu.org; 22 Apr 2017 19:00:37 +0000 Received: from localhost ([127.0.0.1]:34694 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d20Gr-0008UJ-JF for submit@debbugs.gnu.org; Sat, 22 Apr 2017 15:00:37 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:36268) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d20Gp-0008UA-Hi for 26544@debbugs.gnu.org; Sat, 22 Apr 2017 15:00:35 -0400 Received: from localhost (77.118.129.111.wireless.dyn.drei.com [77.118.129.111]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 9511E1CA334E for <26544@debbugs.gnu.org>; Sat, 22 Apr 2017 21:00:34 +0200 (CEST) Date: Sat, 22 Apr 2017 21:00:31 +0200 From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: Re: [PATCH v4 02/10] system: Rename operating-system-parameters-file to operating-system-boot-parameters-file. Message-ID: <20170422210031.633862a0@scratchpost.org> In-Reply-To: <20170421123714.2395-3-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> <20170421123714.2395-3-dannym@scratchpost.org> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) Applied this patch to master as 71d04202026e2061f898a142a8381d55bee5fb00 and pushed. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 22 15:05:43 2017 Received: (at 26544) by debbugs.gnu.org; 22 Apr 2017 19:05:43 +0000 Received: from localhost ([127.0.0.1]:34702 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d20Ln-0000AN-MO for submit@debbugs.gnu.org; Sat, 22 Apr 2017 15:05:43 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:36842) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d20Lk-0000AE-L8 for 26544@debbugs.gnu.org; Sat, 22 Apr 2017 15:05:40 -0400 Received: from localhost (77.118.129.111.wireless.dyn.drei.com [77.118.129.111]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 5B1981CA334E for <26544@debbugs.gnu.org>; Sat, 22 Apr 2017 21:05:39 +0200 (CEST) Date: Sat, 22 Apr 2017 21:05:35 +0200 From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: Re: [PATCH v4 00/10] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. Message-ID: <20170422210535.48c2e6d1@scratchpost.org> In-Reply-To: <20170421123714.2395-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) I'll hold off merging the other patches in the series until more time for review has passed (and more testing has been done). I've merged the first two patches since they are just self-contained renames we have to do anyway. If you have the time (and a way to recover a potential non-booting system - although it works for Mathieu and me), please test. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 22 16:08:18 2017 Received: (at 26544) by debbugs.gnu.org; 22 Apr 2017 20:08:18 +0000 Received: from localhost ([127.0.0.1]:34747 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d21KL-0001c8-RM for submit@debbugs.gnu.org; Sat, 22 Apr 2017 16:08:17 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:43404) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d21KK-0001by-3I for 26544@debbugs.gnu.org; Sat, 22 Apr 2017 16:08:16 -0400 Received: from localhost (77.118.129.111.wireless.dyn.drei.com [77.118.129.111]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 966BA1CA334E for <26544@debbugs.gnu.org>; Sat, 22 Apr 2017 22:08:13 +0200 (CEST) Date: Sat, 22 Apr 2017 22:08:11 +0200 From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: Re: [PATCH v4 03/10] system: Factorize operating-system-boot-parameters-file. Message-ID: <20170422220811.52565f42@scratchpost.org> In-Reply-To: <20170421123714.2395-4-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> <20170421123714.2395-4-dannym@scratchpost.org> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Fri, 21 Apr 2017 14:37:07 +0200 Danny Milosavljevic wrote: > +(define (operating-system-boot-parameters os system root-device) Might make sense to call SYSTEM "SYSTEM.DRV" instead - since it's either a derivation or #f. > + "Return a monadic record that describes the boot parameters of OS. > +SYSTEM is optional. If given, adds kernel arguments for that system to ." Might want to elaborate on how SYSTEM is optional (#f stands for "not given"). SYSTEM is not used anywhere in the procedure. The next patch rectifies that - but I didn't feel like messing up the function signature just to fix it up one patch later. But even after only patch 03/10 you can give SYSTEM (and patch 03/10 operating-system-boot-parameters-file does that already) - it will just be ignored. From debbugs-submit-bounces@debbugs.gnu.org Sat Apr 22 16:32:49 2017 Received: (at 26544) by debbugs.gnu.org; 22 Apr 2017 20:32:49 +0000 Received: from localhost ([127.0.0.1]:34763 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d21i5-0002BU-HW for submit@debbugs.gnu.org; Sat, 22 Apr 2017 16:32:49 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:45858) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d21i3-0002BM-Pe for 26544@debbugs.gnu.org; Sat, 22 Apr 2017 16:32:48 -0400 Received: from localhost (77.118.129.111.wireless.dyn.drei.com [77.118.129.111]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 97AF91CA1FF9 for <26544@debbugs.gnu.org>; Sat, 22 Apr 2017 22:32:43 +0200 (CEST) Date: Sat, 22 Apr 2017 22:32:42 +0200 From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: Re: [PATCH v4 06/10] scripts: Make boot-parameters label include generation number and time. Message-ID: <20170422223242.03d6039e@scratchpost.org> In-Reply-To: <20170421123714.2395-7-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> <20170421123714.2395-7-dannym@scratchpost.org> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) On Fri, 21 Apr 2017 14:37:10 +0200 Danny Milosavljevic wrote: > (define (system->boot-parameters system number time) > (unless-file-not-found > - (let* ((params (read-boot-parameters-file system))) > - params))) > + (let* ((params (read-boot-parameters-file system)) > + (label (boot-parameters-label params))) > + (boot-parameters > + (inherit params) > + (label (string-append label " (#" > + (number->string number) ", " > + (seconds->string time) ")")))))) Every time I see that I wonder whether I don't make some other part (like read-boot-parameters-file or something) to do the label extension. In theory that would be nicer than fixing it up later - I do the latter here. And on first sight, one might be able to do that for the old generations (because the timestr in the label is just the mtime of the system directory). But the label should also contain the generation number - which is currently usually being extracted by the procedure "generation-numbers" for an entire profile (but the caller of system also is able to override the generation numbers of profile-boot-parameters and profile-grub-entries - not sure why); I don't find generation-numbers exactly straightforward - I'd rather not mess with it. Also, the caller zips the result together with SYSTEMS somehow and it would be easy for me to mess up the association. Therefore, I opted for this version - which is a lot less risky. If someone is more familiar with generation-numbers and knows why it's possible to override the generation numbers (usually by a one-element list), please feel free to post a patch that integrates this part into read-boot-parameters-file later. Note: The current generation doesn't need its label extended. From debbugs-submit-bounces@debbugs.gnu.org Fri May 05 03:04:34 2017 Received: (at 26544) by debbugs.gnu.org; 5 May 2017 07:04:34 +0000 Received: from localhost ([127.0.0.1]:55285 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d6XI2-0004ye-C9 for submit@debbugs.gnu.org; Fri, 05 May 2017 03:04:34 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:60608) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d6XI0-0004yV-FI for 26544@debbugs.gnu.org; Fri, 05 May 2017 03:04:32 -0400 Received: from localhost (77.118.251.68.wireless.dyn.drei.com [77.118.251.68]) by dd1012.kasserver.com (Postfix) with ESMTPSA id D0F891CA0710 for <26544@debbugs.gnu.org>; Fri, 5 May 2017 09:04:30 +0200 (CEST) Date: Fri, 5 May 2017 09:04:28 +0200 From: Danny Milosavljevic To: 26544@debbugs.gnu.org Subject: Re: [PATCH v4 00/10] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. Message-ID: <20170505090428.13e83008@scratchpost.org> In-Reply-To: <20170421123714.2395-1-dannym@scratchpost.org> References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544 X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) I've been testing this for quite some time now and will be pushing it in a few hours if there are no objections. Note: If you get a guile backtrace like the following on "guix system reconfigure", you should run "make" in guix. It will work just fine then. Other than that, it's uneventful. ... In ice-9/r4rs.scm: 39: 8 [call-with-values # ...] 39: 7 [call-with-values # ...] 39: 6 [call-with-values # ...] 39: 5 [call-with-values # ...] 39: 4 [call-with-values # ...] In ice-9/eval.scm: 386: 3 [eval # <1>) <0>)> (# # # ...)] 387: 2 [eval # #] 387: 1 [eval # #] In unknown file: ?: 0 ["GNU with Linux-Libre 4.11 (beta)" "GNU with Linux-Libre 4.11 (beta)"] ERROR: In procedure GNU with Linux-Libre 4.11 (beta): ERROR: Wrong type to apply: "GNU with Linux-Libre 4.11 (beta)" The guile that guix used is: /gnu/store/k1bmz7glblfxdgaaas12q707lpjjk4mz-profile/bin/guile --no-auto-compile guile 2.0.14 To reproduce, there all the ".go" files from guix, then invoke "guix system reconfigure ...". It will fail with the above. When you then run "make", wait until it's done, then invoke "guix system reconfigure ...", it will work. From debbugs-submit-bounces@debbugs.gnu.org Fri May 05 04:04:10 2017 Received: (at 26544) by debbugs.gnu.org; 5 May 2017 08:04:10 +0000 Received: from localhost ([127.0.0.1]:55356 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d6YDh-0001Y6-PG for submit@debbugs.gnu.org; Fri, 05 May 2017 04:04:09 -0400 Received: from eggs.gnu.org ([208.118.235.92]:58586) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d6YDf-0001Xs-Q8 for 26544@debbugs.gnu.org; Fri, 05 May 2017 04:04:08 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1d6YDV-0008WQ-MM for 26544@debbugs.gnu.org; Fri, 05 May 2017 04:04:02 -0400 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on eggs.gnu.org X-Spam-Level: X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,RP_MATCHES_RCVD autolearn=disabled version=3.3.2 Received: from fencepost.gnu.org ([2001:4830:134:3::e]:46566) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1d6YDV-0008WL-Iw; Fri, 05 May 2017 04:03:57 -0400 Received: from [193.50.110.181] (port=54864 helo=ribbon) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1d6YDV-0006Gy-4P; Fri, 05 May 2017 04:03:57 -0400 From: ludo@gnu.org (Ludovic =?utf-8?Q?Court=C3=A8s?=) To: Danny Milosavljevic Subject: Re: bug#26544: [PATCH v4 00/10] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. References: <86h91ikw4m.fsf@gmail.com> <20170421123714.2395-1-dannym@scratchpost.org> <20170505090428.13e83008@scratchpost.org> Date: Fri, 05 May 2017 10:03:54 +0200 In-Reply-To: <20170505090428.13e83008@scratchpost.org> (Danny Milosavljevic's message of "Fri, 5 May 2017 09:04:28 +0200") Message-ID: <87efw3buhh.fsf@gnu.org> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/25.2 (gnu/linux) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-detected-operating-system: by eggs.gnu.org: GNU/Linux 2.2.x-3.x [generic] X-Received-From: 2001:4830:134:3::e X-Spam-Score: -5.0 (-----) X-Debbugs-Envelope-To: 26544 Cc: 26544@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -5.0 (-----) Hello! Danny Milosavljevic skribis: > I've been testing this for quite some time now and will be pushing it in = a few hours if there are no objections. > > Note: If you get a guile backtrace like the following on "guix system rec= onfigure", you should run "make" in guix. It will work just fine then. > > Other than that, it's uneventful. Awesome. If =E2=80=9Cmake check-system=E2=80=9D doesn=E2=80=99t show anyth= ing bad either, then that=E2=80=99d good. Thanks, Ludo=E2=80=99. From debbugs-submit-bounces@debbugs.gnu.org Fri May 05 09:35:08 2017 Received: (at 26544-done) by debbugs.gnu.org; 5 May 2017 13:35:08 +0000 Received: from localhost ([127.0.0.1]:55471 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d6dNz-0004ZB-VA for submit@debbugs.gnu.org; Fri, 05 May 2017 09:35:08 -0400 Received: from dd1012.kasserver.com ([85.13.128.8]:44858) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1d6dNy-0004Z3-72 for 26544-done@debbugs.gnu.org; Fri, 05 May 2017 09:35:06 -0400 Received: from localhost (unknown [193.170.94.190]) by dd1012.kasserver.com (Postfix) with ESMTPSA id 9B31D1CA0710 for <26544-done@debbugs.gnu.org>; Fri, 5 May 2017 15:35:04 +0200 (CEST) Date: Fri, 5 May 2017 15:35:03 +0200 From: Danny Milosavljevic To: 26544-done@debbugs.gnu.org Subject: Merged to master: [PATCH v4 *] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. Message-ID: <20170505153503.0d104eaa@scratchpost.org> X-Mailer: Claws Mail 3.14.1 (GTK+ 2.24.31; x86_64-unknown-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=US-ASCII Content-Transfer-Encoding: 7bit X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 26544-done X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -0.7 (/) I've merged this patchset to master: [PATCH v4 00/10] system: Move "--load" and other guix-specific parameters from the grub module to the generic system module. Please make sure to run "make" in guix after pulling. From unknown Fri Aug 15 03:56:19 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Sat, 03 Jun 2017 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator