summaryrefslogtreecommitdiff
path: root/gnu/system/grub.scm
AgeCommit message (Collapse)Author
2017-05-16bootloader: Add extlinux support.Mathieu Othacehe
* gnu/bootloader.scm: New file. * gnu/bootloader/extlinux.scm: New file. * gnu/bootloader/grub.scm: New file. * gnu/local.mk: Build new files. * gnu/system.scm: Adapt to new bootloader api. * gnu/scripts/system.scm: Adapt to new bootloader api. * gnu.scm: Remove (gnu system grub) and replace by (gnu bootloader) and (gnu bootloader grub) modules. * gnu/system/grub.scm: Moved content to gnu/bootloader/grub.scm. * gnu/system/vm: Replace (gnu system grub) module by (gnu bootloader). * gnu/tests.scm: Ditto. * gnu/tests/nfs.scm: Ditto.
2017-05-15system: grub: Actually default to 'gfxterm' for displaying the GRUB menu.Leo Famulari
This is a followup to commit e0b2e93005188ab4d6c7413a27832ba2fb7388e8. * gnu/system/grub.scm (eye-candy): Re-order the elements of the generated GRUB configuration.
2017-05-14system: grub: Expose GRUB's interactive interface settings.Leo Famulari
* gnu/system/grub.scm (<grub-configuration>): Add new fields terminal-outputs, terminal-inputs, serial-unit, and serial-speed. (grub-setup-io, setup-gfxterm): New procedures. * doc/guix.texi (GRUB Configuration): Document the new fields.
2017-05-09system: grub: Use the native Guile-Cairo and Guile-SVG.Ludovic Courtès
* gnu/system/grub.scm (svg->png): Use 'ungexp-native' aka. #+ when referring to GUILE-CAIRO, GUILE-SVG, and SVG.
2017-05-05system: grub: Use boot-parameters instead of menu-entry where possible.Danny Milosavljevic
* 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.
2017-04-15system: Make grub use <menu-entry> instead of <boot-parameters> again.Danny Milosavljevic
* gnu/system/grub.scm: Remove boot-parameters->menu-entry. (grub-configuration): Don't use boot-parameters->menu-entry. * gnu/system.scm (operating-system-bootcfg): Use menu-entry. * guix/scripts/system.scm (reinstall-grub): Use profile-grub-entries. (perform-action): Use profile-grub-entries.
2017-04-15system: Pass boot-parameters to (gnu system grub).Mathieu Othacehe
* gnu/system.scm (operating-system-bootcfg): Pass boot-parameters. * gnu/system/grub.scm (boot-parameters->menu-entry): New variable. (grub-configuration-file): Use boot-parameters->menu-entry. Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
2017-04-15system: grub: Use (first all-entries) instead of (first entries).Danny Milosavljevic
* gnu/system/grub.scm (grub-configuration-file): Use (first all-entries) instead of (first entries).
2017-03-25system: grub: Don't attempt to load non-EFI modules on EFI.Ludovic Courtès
This resulted in a couple of harmless warnings just before the menu is displayed. * gnu/system/grub.scm (eye-candy)[setup-gfxterm-body]: Move 'vbe' and 'vga' loading to the non-EFI branch.
2017-03-06system: grub: Add missing URL in comment.Ludovic Courtès
* gnu/system/grub.scm (grub-root-search): Add missing URL in comment.
2017-02-10gnu: Move (gnu packages grub) and (gnu packages u-boot) ...David Craven
to (gnu packages bootloaders). * gnu/packages/grub.scm: Rename to bootloaders.scm. * gnu/packages/u-boot.scm: Move to bootloaders.scm. * gnu/local.mk (GNU_SYSTEM_MODULES): Add bootloaders.scm, remove grub.scm and u-boot.scm; * gnu/system/grub.scm: Import (gnu packages bootloaders). * gnu/system/install.scm: Import (gnu packages bootloaders). * gnu/system/vm.scm: Import (gnu packages bootloaders).
2017-02-01system: More 'file-append' instead of #~(string-append #$thing …).Ludovic Courtès
* gnu/system/shadow.scm (<user-account>)[shell]: Use 'file-append'. (%base-user-accounts): Likewise. * gnu/system/grub.scm (%background-image): Likewise.
2017-01-03system: grub: Load relevant EFI modules on EFI systems.Ludovic Courtès
* gnu/system/grub.scm (eye-candy)[setup-gfxterm-body]: Add 'insmod' invocations when ${grub_platform} is "efi".
2016-11-08system: Use grub from bootloader configuration.Marius Bakke
* gnu/system/grub.scm (gnu): Export grub-configuration-grub. * guix/scripts/system.scm (perform-action): Use it. (define-module): Don't import (gnu packages grub). Co-authored-by: Danny Milosavljevic <dannym@scratchpost.org>
2016-10-30system: Record store file system info in each generation.Chris Marusich
* gnu/system.scm (<boot-parameters>)[store-device, store-mount-point]: New fields. (read-boot-parameters): Initialize them. (operating-system-grub.cfg): Likewise. Remove STORE-FS argument from call to 'grub-configuration-file'. (operating-system-parameters-file): Add 'store' element in 'boot-parameters'. * gnu/system/grub.scm (strip-mount-point): Replace 'store-fs' parameter by 'mount-point'; adjust accordingly. Adjust callers. (<menu-entry>)[device, device-mount-point]: New fields. (eye-candy): Replace 'root-fs' parameter by 'store-device'; add 'store-mount-point'. Use keyword arguments for 'system' and 'port'. (grub-root-search): Remove 'root-fs' by 'device' and adjust accordingly. (grub-configuration-file): Remove 'store-fs' parameter. Adjust accordingly. * guix/scripts/system.scm (previous-grub-entries): Initialize 'device' and 'device-mount-point' fields from PARAMS. * doc/guix.texi (GRUB Configuration): Document 'device' and 'device-mount-point'. Explain that 'linux' can be prefixed by a GRUB device name. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-10-25system: grub: Use Guile-{RSVG,Cairo} instead of Inkscape + ImageMagick.Ludovic Courtès
Based on a suggestion by Andy Wingo at <https://lists.gnu.org/archive/html/guix-devel/2015-08/msg00753.html>. * gnu/build/svg.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add it. * gnu/system/grub.scm (svg->png): Add #:width and #:height. Rewrite to use (gnu build svg). (resize-image): Remove. (grub-background-image): Adjust accordingly.
2016-09-26system: Don't emit a GRUB 'search' command when passed a GRUB file name.Ludovic Courtès
Reported by Tomáš Čech <tcech@suse.com> at <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=20067#26>. * gnu/system/grub.scm (grub-root-search): Don't emit anything when FILE is a string that does not denote an absolute file name.
2016-09-24system: grub.cfg uses correct file names when store is not in root partition.Carlos Sánchez de La Lama
Fixes <http://bugs.gnu.org/24346>. Reported by csanchezdll@gmail.com (Carlos Sánchez de La Lama). * guix/scripts/system.scm (previous-grub-entries): Get the initrd file name from PARAMS. * gnu/system.scm (operating-system-grub.cfg): Use 'operating-system-initrd-file' to retrieve the initrd file name. * gnu/system/grub.scm (strip-mount-point): New procedure. (grub-configuration-file)[entry->gexp]: Call 'strip-mount-point' for LINUX and INITRD. Co-authored-by: Ludovic Courtès <ludo@gnu.org>
2016-09-09system: grub: Allow arbitrary kernel file names in 'menu-entry'.Ludovic Courtès
Fixes <http://bugs.gnu.org/20067>. Reported by Tomáš Čech <sleep_walker@suse.cz>. * gnu/system.scm (system-linux-image-file-name) (operating-system-kernel-file): New procedures. (operating-system-grub.cfg): Use 'operating-system-kernel-file' for the 'kernel' field of 'menu-entry'. (operating-system-parameters-file): Likewise for the 'kernel' entry. (read-boot-parameters): Adjust 'kernel' field so that it contains the absolute file name of the image. * gnu/system/grub.scm (grub-configuration-file)[linux-image-name]: Remove. [entry->gexp]: Assume LINUX is the absolute file name of the kernel image. * doc/guix.texi (GRUB Configuration): Add an example, and adjust 'kernel' field documentation accordingly.
2016-09-08gnu: Add edit warning to generated grub.cfg filesJohn Darrington
* gnu/services/grub.scm (grub-configuration-file): Add code to emit warning.
2016-01-22system: grub: Search root device by label or UUID if possible.Ludovic Courtès
Fixes <http://bugs.gnu.org/22281>. Reported by Christopher Allan Webber <cwebber@dustycloud.org>. * gnu/system/grub.scm (eye-candy): Add 'root-fs' parameter. Replace 'search --file' command in the output with whatever 'grub-root-search' returns. (grub-root-search): New procedure. (grub-configuration-file): Add 'store-fs' parameter. Use 'grub-root-search' instead of hard-coded 'search --file' commands. * gnu/system.scm (store-file-system, operating-system-store-file-system): New procedures. (operating-system-grub.cfg): Use it, and adjust call to 'grub-configuration-file'. * tests/system.scm: New file. * Makefile.am (SCM_TESTS): Add it.
2015-11-02system: grub: Use a bigger background image.Ludovic Courtès
* gnu/system/grub.scm (grub-background-image): Increase the default values of WIDTH and HEIGHT. After all, it's 2015 already!
2015-10-29system: grub: Let GRUB choose the best graphics mode.Ludovic Courtès
On PCs, it means that it will typically choose resolutions higher than 640x480, which is nicer. * gnu/system/grub.scm (eye-candy)[setup-gfxterm-body]: Leave 'gfxmode' unset.
2015-10-27system: grub: Adjust eye-candy to work on non-Intel systems.Mark H Weaver
* gnu/system/grub.scm (eye-candy): Accept additional 'system' argument. Add local 'setup-gfxterm-body' variable. Replace the 'load_video' grub function with 'setup_gfxterm', which includes everything in the 'if loadfont' form on Intel systems, but is empty on non-Intel. (grub-configuration-file): Pass 'system' to 'eye-candy.
2015-10-27system: grub: On MIPS, the linux image name is vmlinuz, not bzImage.Mark H Weaver
* gnu/system/grub.scm (grub-configuration-file): Add 'linux-image-name' internal procedure. Use it from 'entry->gexp'.
2015-05-07artwork: Update to latest version.Ludovic Courtès
* gnu/artwork.scm (%artwork-repository): Update. * gnu/services/xorg.scm (%default-slim-theme-name): Change to "0.x". * gnu/system/grub.scm (%background-image): Change to GuixSD-fully-black-4-3.svg.
2015-02-12artwork: Update snapshot to GuixSD branding.Ludovic Courtès
* gnu/artwork.scm (%artwork-repository): Update to new "GuixSD" branding. * gnu/system/grub.scm (%background-image, %default-theme): Adjust accordingly.
2014-12-13system: grub: Make sure the font and background image are always found.Ludovic Courtès
* gnu/system/grub.scm (eye-candy): Add 'search --file --set'.
2014-12-13system: Adjust 'grub.cfg' to work on systems with a separate /boot.Ludovic Courtès
Fixes <http://bugs.gnu.org/19220>. Reported by Nikita Karetnikov <nikita@karetnikov.org>. * gnu/system/grub.scm (grub-configuration-file)[entry->gexp]: Add 'search --file --set'. (grub-configuration-file)[builder]: Remove 'search.file'.
2014-11-12gnu: Introduce (gnu artwork) module.Ludovic Courtès
* gnu/artwork.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it. * gnu/services/xorg.scm: Use it. (%artwork-repository): Remove. * gnu/system/grub.scm: Use it. (%artwork-repository): Remove.
2014-11-08system: grub: Adjust default theme color.Ludovic Courtès
* gnu/system/grub.scm (%default-theme)[color-highlight]: Change foreground to cyan, as suggested by Felipe López.
2014-11-08system: grub: Add preliminary support for themes.Ludovic Courtès
* gnu/system/grub.scm (<grub-image>, <grub-theme>): New record types. (%artwork-repository, %background-image): New variables. (<grub-configuration>)[theme]: New field. (svg->png, resize-image, grub-background-image, eye-candy): New procedures. (grub-configuration-file): Use 'eye-candy' and add it in BUILDER.
2014-08-13system: grub: Change the default default-entry to 0.Mark H Weaver
* gnu/system/grub.scm (<grub-configuration>)[default-entry]: Change the default to 0.
2014-06-25system: Support the addition of old entries in the GRUB menu.Ludovic Courtès
* gnu/system.scm (operating-system-grub.cfg): Add 'old-entries' parameter. Pass it to 'grub-configuration-file'. * gnu/system/grub.scm (grub-configuration-file): Add #:old-entries parameter. Honor it.
2014-05-18system: Add 'grub-configuration' record.Ludovic Courtès
* gnu/system/grub.scm (<grub-configuration>): New record type. (grub-configuration-file): Add 'config' parameter; remove #:default-entry and #:timeout. Honor CONFIG. * gnu/system.scm (<operating-system>): Remove 'bootloader-entries' field; remove default value for 'bootloader' field. (operating-system-grub.cfg): Pass the 'bootloader' field to 'grub-configuration-file'. * build-aux/hydra/demo-os.scm (bootloader): New field.
2014-04-28system: grub: Rewrite using gexps.Ludovic Courtès
* gnu/system/grub.scm (grub-configuration-file): Rewrite using 'gexp->derivation'. * gnu/system.scm (operating-system-derivation): Adjust accordingly.
2014-01-29gnu: Lower initrd makers from packages to monadic procedures.Ludovic Courtès
* gnu/packages/linux-initrd.scm: Remove. * gnu/system/linux-initrd.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Adjust accordingly. * gnu/system.scm (<operating-system>): Change default 'initrd' value to (gnu-system-initrd). (operating-system-derivation): Bind 'operating-system-initrd'. Pass 'menu-entry' an initrd file name instead of a package. * gnu/system/grub.scm (grub-configuration-file): Expect 'initrd' to be file name.
2013-12-10gnu: Add (gnu system).Ludovic Courtès
* gnu/system/vm.scm (lower-inputs): Move to monads.scm. (qemu-image): Don't add GRUB-CONFIGURATION to the INPUTS-TO-COPY. (union, file-union, etc-directory): Move to gnu/system.scm. (%demo-operating-system): New variable. (system-qemu-image): Add 'os' parameter. Rewrite in terms of 'operating-system-derivation'. * guix/monads.scm (lower-inputs): New procedure. * gnu/system/grub.scm (grub-configuration-file): Change 'entries' to be a plain list instead of a list of monadic values. * gnu/system.scm: New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add it.
2013-10-03gnu: vm: Rewrite helper functions as monadic functions.Ludovic Courtès
* gnu/system/dmd.scm (host-name-service, nscd-service, mingetty-service, syslog-service, guix-service, static-networking-service): Rewrite as monadic functions. (dmd-configuration-file): Use 'text-file' instead of 'add-text-to-store'. * gnu/system/grub.scm (grub-configuration-file): Rewrite as a monadic function. * gnu/system/linux.scm (pam-services->directory): Likewise. * gnu/system/shadow.scm (group-file, passwd-file, guix-build-accounts): Likewise. * gnu/system/vm.scm (expression->derivation-in-linux-vm, qemu-image, union, system-qemu-image): Likewise.
2013-09-18derivations: 'derivation' and related procedures return a single value.Ludovic Courtès
* guix/derivations.scm (derivation->output-path, derivation->output-paths): New procedures. (derivation-path->output-path): Use 'derivation->output-path'. (derivation-path->output-paths): Use 'derivation->output-paths'. (derivation): Accept 'derivation?' objects as inputs. Return a single value. (build-derivations): New procedure. (compiled-modules): Use 'derivation->output-paths'. (build-expression->derivation)[source-path]: Add case for when the input matches 'derivation?'. [prologue]: Accept 'derivation?' objects in INPUTS. [mod-dir, go-dir]: Use 'derivation->output-path'. * guix/download.scm (url-fetch): Adjust to the single-value return. * guix/packages.scm (package-output): Use 'derivation->output-path'. * guix/scripts/build.scm (guix-build): When the argument is 'derivation-path?', pass it through 'read-derivation'. Use 'derivation-file-name' to print out the .drv file names, and to register them. Use 'derivation->output-path' instead of 'derivation-path->output-path'. * guix/scripts/package.scm (roll-back): Adjust to the single-value return. (guix-package): Use 'derivation->output-path'. * guix/ui.scm (show-what-to-build): Adjust to deal with 'derivation?' objects instead of .drv file names. * gnu/system/grub.scm (grub-configuration-file): Use 'derivation->output-path' instead of 'derivation-path->output-path'. * gnu/system/vm.scm (qemu-image, system-qemu-image): Likewise. * tests/builders.scm, tests/derivations.scm, tests/packages.scm, tests/store.scm, tests/union.scm: Adjust to the new calling convention. * doc/guix.texi (Defining Packages, The Store, Derivations): Adjust accordingly.
2013-09-11gnu: Move helper code to (gnu system …) modules.Ludovic Courtès
* gnu/packages/grub.scm (<menu-entry>, grub-configuration-file): Move to... * gnu/system/grub.scm: ... here. New file. * gnu/packages/linux.scm (<pam-service>, <pam-entry>, pam-service->configuration, pam-service->directory, %pam-other-services, unix-pam-service): Move to... * gnu/system/linux.scm: ... here. New file. * gnu/system/vm.scm (passwd-file): Move to... * gnu/system/shadow.scm: ... here. New file. * gnu-system.am (GNU_SYSTEM_MODULES): Add gnu/system/{grub,linux,shadow}.scm.