aboutsummaryrefslogtreecommitdiff
path: root/gnu/system/grub.scm
Commit message (Collapse)AuthorAge
* bootloader: Add extlinux support.Mathieu Othacehe2017-05-16
| | | | | | | | | | | | | | | * 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.
* system: grub: Actually default to 'gfxterm' for displaying the GRUB menu.Leo Famulari2017-05-15
| | | | | | | This is a followup to commit e0b2e93005188ab4d6c7413a27832ba2fb7388e8. * gnu/system/grub.scm (eye-candy): Re-order the elements of the generated GRUB configuration.
* system: grub: Expose GRUB's interactive interface settings.Leo Famulari2017-05-14
| | | | | | | * 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.
* system: grub: Use the native Guile-Cairo and Guile-SVG.Ludovic Courtès2017-05-09
| | | | | * gnu/system/grub.scm (svg->png): Use 'ungexp-native' aka. #+ when referring to GUILE-CAIRO, GUILE-SVG, and SVG.
* system: grub: Use boot-parameters instead of menu-entry where possible.Danny Milosavljevic2017-05-05
| | | | | | | | | * 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.
* system: Make grub use <menu-entry> instead of <boot-parameters> again.Danny Milosavljevic2017-04-15
| | | | | | | | * 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.
* system: Pass boot-parameters to (gnu system grub).Mathieu Othacehe2017-04-15
| | | | | | | | * 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>
* system: grub: Use (first all-entries) instead of (first entries).Danny Milosavljevic2017-04-15
| | | | | * gnu/system/grub.scm (grub-configuration-file): Use (first all-entries) instead of (first entries).
* system: grub: Don't attempt to load non-EFI modules on EFI.Ludovic Courtès2017-03-25
| | | | | | | | 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.
* system: grub: Add missing URL in comment.Ludovic Courtès2017-03-06
| | | | * gnu/system/grub.scm (grub-root-search): Add missing URL in comment.
* gnu: Move (gnu packages grub) and (gnu packages u-boot) ...David Craven2017-02-10
| | | | | | | | | | | | 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).
* system: More 'file-append' instead of #~(string-append #$thing …).Ludovic Courtès2017-02-01
| | | | | | * gnu/system/shadow.scm (<user-account>)[shell]: Use 'file-append'. (%base-user-accounts): Likewise. * gnu/system/grub.scm (%background-image): Likewise.
* system: grub: Load relevant EFI modules on EFI systems.Ludovic Courtès2017-01-03
| | | | | * gnu/system/grub.scm (eye-candy)[setup-gfxterm-body]: Add 'insmod' invocations when ${grub_platform} is "efi".
* system: Use grub from bootloader configuration.Marius Bakke2016-11-08
| | | | | | | | * 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>
* system: Record store file system info in each generation.Chris Marusich2016-10-30
| | | | | | | | | | | | | | | | | | | | | | | | | | * 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>
* system: grub: Use Guile-{RSVG,Cairo} instead of Inkscape + ImageMagick.Ludovic Courtès2016-10-25
| | | | | | | | | | | | 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.
* system: Don't emit a GRUB 'search' command when passed a GRUB file name.Ludovic Courtès2016-09-26
| | | | | | | | 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.
* system: grub.cfg uses correct file names when store is not in root partition.Carlos Sánchez de La Lama2016-09-24
| | | | | | | | | | | | | | | 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>
* system: grub: Allow arbitrary kernel file names in 'menu-entry'.Ludovic Courtès2016-09-09
| | | | | | | | | | | | | | | | | | | 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.
* gnu: Add edit warning to generated grub.cfg filesJohn Darrington2016-09-08
| | | | * gnu/services/grub.scm (grub-configuration-file): Add code to emit warning.
* system: grub: Search root device by label or UUID if possible.Ludovic Courtès2016-01-22
| | | | | | | | | | | | | | | | | | 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.
* system: grub: Use a bigger background image.Ludovic Courtès2015-11-02
| | | | | * gnu/system/grub.scm (grub-background-image): Increase the default values of WIDTH and HEIGHT. After all, it's 2015 already!
* system: grub: Let GRUB choose the best graphics mode.Ludovic Courtès2015-10-29
| | | | | | | | 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.
* system: grub: Adjust eye-candy to work on non-Intel systems.Mark H Weaver2015-10-27
| | | | | | | | * 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.
* system: grub: On MIPS, the linux image name is vmlinuz, not bzImage.Mark H Weaver2015-10-27
| | | | | * gnu/system/grub.scm (grub-configuration-file): Add 'linux-image-name' internal procedure. Use it from 'entry->gexp'.
* artwork: Update to latest version.Ludovic Courtès2015-05-07
| | | | | | | * 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.
* artwork: Update snapshot to GuixSD branding.Ludovic Courtès2015-02-12
| | | | | | | * gnu/artwork.scm (%artwork-repository): Update to new "GuixSD" branding. * gnu/system/grub.scm (%background-image, %default-theme): Adjust accordingly.
* system: grub: Make sure the font and background image are always found.Ludovic Courtès2014-12-13
| | | | * gnu/system/grub.scm (eye-candy): Add 'search --file --set'.
* system: Adjust 'grub.cfg' to work on systems with a separate /boot.Ludovic Courtès2014-12-13
| | | | | | | | | 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'.
* gnu: Introduce (gnu artwork) module.Ludovic Courtès2014-11-12
| | | | | | | | | * 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.
* system: grub: Adjust default theme color.Ludovic Courtès2014-11-08
| | | | | * gnu/system/grub.scm (%default-theme)[color-highlight]: Change foreground to cyan, as suggested by Felipe López.
* system: grub: Add preliminary support for themes.Ludovic Courtès2014-11-08
| | | | | | | | | * 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.
* system: grub: Change the default default-entry to 0.Mark H Weaver2014-08-13
| | | | | * gnu/system/grub.scm (<grub-configuration>)[default-entry]: Change the default to 0.
* system: Support the addition of old entries in the GRUB menu.Ludovic Courtès2014-06-25
| | | | | | | * 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.
* system: Add 'grub-configuration' record.Ludovic Courtès2014-05-18
| | | | | | | | | | | * 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.
* system: grub: Rewrite using gexps.Ludovic Courtès2014-04-28
| | | | | | * gnu/system/grub.scm (grub-configuration-file): Rewrite using 'gexp->derivation'. * gnu/system.scm (operating-system-derivation): Adjust accordingly.
* gnu: Lower initrd makers from packages to monadic procedures.Ludovic Courtès2014-01-29
| | | | | | | | | | | | * 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.
* gnu: Add (gnu system).Ludovic Courtès2013-12-10
| | | | | | | | | | | | | | * 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.
* gnu: vm: Rewrite helper functions as monadic functions.Ludovic Courtès2013-10-03
| | | | | | | | | | | | | | | * 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.
* derivations: 'derivation' and related procedures return a single value.Ludovic Courtès2013-09-18
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* gnu: Move helper code to (gnu system …) modules.Ludovic Courtès2013-09-11
* 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.