summaryrefslogtreecommitdiff
path: root/gnu/system
Commit message (Collapse)AuthorAge
* linux-initrd: Autoload known-module-aliases, again.Mark H Weaver2018-03-15
| | | | | | Fixes a regression introduced in 8ab10c19d72caab7459034a6e72b0117d7c5cec8. * gnu/system/mapped-devices.scm: Autoload 'known-module-aliases'.
* linux-initrd: Move 'check-device-initrd-modules' elsewhere.Ludovic Courtès2018-03-15
| | | | | | | | | | | | This mostly reverts ca23693d280de5c4031058da4d3041d830080484, which introduced a circular dependency between (gnu system linux-initrd) and (gnu system mapped-devices). Reported by Eric Bavier. * gnu/system/linux-initrd.scm (check-device-initrd-modules): Move to... * gnu/system/mapped-devices.scm (check-device-initrd-modules): ... here. * po/guix/POTFILES.in: Adjust accordingly.
* services: Add 'virtual-terminal'.Ludovic Courtès2018-03-15
| | | | | | | | | | | | | Fixes <https://bugs.gnu.org/30505>. Suggested by Danny Milosavljevic <dannym@scratchpost.org>. * gnu/services/base.scm (unicode-start): Remove. (virtual-terminal-service-type): New variable. (console-font-shepherd-services): Remove 'modules'; remove call to 'unicode-start'. Add 'virtual-terminal' to 'requirement'. (mingetty-shepherd-service, kmscon-service-type): Likewise. (%base-services): Add 'virtual-terminal-service-type'. * gnu/system/install.scm (%installation-services): Likewise.
* linux-initrd: Autoload known-module-aliases.Danny Milosavljevic2018-03-10
| | | | * gnu/system/linux-initrd.scm: Autoload known-module-aliases.
* linux-initrd: Skip initrd module check when 'modules.alias' can't be found.Ludovic Courtès2018-03-10
| | | | | | | | | Fixes <https://bugs.gnu.org/30760>. Reported by Tomáš Čech <sleep_walker@gnu.org>. * gnu/system/linux-initrd.scm (check-device-initrd-modules): Call 'known-module-aliases' and catch 'system-error around it. Pass it to 'matching-modules'.
* vm: Use 9p mount tags below 32 chars.Ludovic Courtès2018-03-08
| | | | | | | | Fixes <https://bugs.gnu.org/30667>. Reported by Björn Höfling <bjoern.hoefling@bjoernhoefling.de>. * gnu/system/vm.scm (file-system->mount-tag): Use 'sha1' to compute the tag.
* linux-initrd: Add a hint for the missing module error.Ludovic Courtès2018-03-07
| | | | | * gnu/system/linux-initrd.scm (check-device-initrd-modules): Add a '&fix-hint'.
* linux-initrd: Factorize 'check-device-initrd-modules'.Ludovic Courtès2018-03-07
| | | | | | | | | * gnu/system/mapped-devices.scm (check-device-initrd-modules): Move to... * gnu/system/linux-initrd.scm (check-device-initrd-modules): ... here. New procedure. * po/guix/POTFILES.in: Add it. * guix/scripts/system.scm (check-initrd-modules)[check-device]: Remove. Use 'check-device-initrd-modules' instead.
* services: file-systems: Include 'user-file-systems' service.Ludovic Courtès2018-03-07
| | | | | | | | | | | | | | | | | | | | Previously the KNOWN-FS value used in 'essential-services' would be incomplete: it would lack all the file systems provided by services that extend 'file-system-service-type' (/sys/fs/cgroup, /proc/sys/fs/binfmt_misc, etc.) Consequently, upon shutdown, 'user-processes' would unmount these file systems before their corresponding service had been stopped; when their corresponding (e.g., 'file-system-/proc/sys/fs/binfmt_misc') was stopped, its 'umount' call would fail. This was harmless in practice, but this patch makes sure things work as intended and file systems are unmounted in the right order. * gnu/services/base.scm (file-system-shepherd-services): Instantiate 'user-file-systems' Shepherd service from here. (user-unmount-service-type, user-unmount-service): Remove. * gnu/system.scm (essential-services): Remove call to 'user-unmount-service'. * gnu/system/install.scm (cow-store-service-type): Adjust comment.
* linux-initrd: Add virtio modules to '%base-initrd-modules'.Ludovic Courtès2018-03-03
| | | | | | | | | | | | | | | | | | | Fixes a regression in installation tests, whereby 'guix system init' would report that virtio modules are missing for the target devices. In practice virtio modules were always available since 'base-initrd' was always called with #:virtio? #t. This commit simply moves them to '%base-initrd-modules' so that 'guix system' knows they're available. Reported by Danny Milosavljevic <dannym@scratchpost.org> at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30629#112>. * gnu/system/linux-initrd.scm (default-initrd-modules): Add virtio modules. (base-initrd): Remove #:virtio? and 'virtio-modules'. * gnu/system/vm.scm (expression->derivation-in-linux-vm) (system-qemu-image, virtualized-operating-system): Remove uses of #:virtio?. * doc/guix.texi (Initial RAM Disk): Update 'base-initrd' doc.
* system: beaglebone-black: Use 'initrd-modules'.Ludovic Courtès2018-03-03
| | | | | * gnu/system/examples/beaglebone-black.tmpl: Use 'initrd-modules' instead of 'initrd'.
* vm: Add missing modules to the 'expression->derivation-in-linux-vm' initrd.Ludovic Courtès2018-03-03
| | | | | | | | | | Fixes a regression introduced in bc499b113a598c0e7863da9887a4133472985713, whereby the default initrd used by 'expression->derivation-in-linux-vm' would lack all the usual modules: virtio, nls_iso8859-1, etc. * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass #:linux-modules to 'base-initrd'.
* linux-initrd: 'file-system-modules' returns the right module list.Ludovic Courtès2018-03-03
| | | | | | | | | | | Fixes a bug whereby, for an "iso9660" file system, it would return '("iso9660" "isofs"), i.e., both the key and the value. Reported by Danny Milosavljevic <dannym@scratchpost.org> at <https://debbugs.gnu.org/cgi/bugreport.cgi?bug=30629#115>. * gnu/system/linux-initrd.scm (lookup-procedure): 'vhash-assoc' returns a key/value pair; match it.
* guix system: Check for the lack of modules in the initrd.Ludovic Courtès2018-03-02
| | | | | | | | | | | | | * guix/scripts/system.scm (check-mapped-devices): Take an OS instead of a list of <mapped-device>. Pass #:needed-for-boot? and #:initrd-modules to CHECK. (check-initrd-modules): New procedure. (perform-action): Move 'check-mapped-devices' call first. Add call to 'check-initrd-modules'. * gnu/system/mapped-devices.scm (check-device-initrd-modules): New procedure. (check-luks-device): Add #:initrd-modules and #:needed-for-boot?. Use them to call 'check-device-initrd-modules'.
* system: Add 'initrd-modules' field.Ludovic Courtès2018-03-02
| | | | | | | | | | | | | | * gnu/system.scm (<operating-system>)[initrd-modules]: New field. (operating-system-initrd-file): Pass #:linux-modules to 'make-initrd'. * gnu/system/linux-initrd.scm (default-initrd-modules): New procedure. (%base-initrd-modules): New macro. (base-initrd): Add #:linux-modules and honor it. * gnu/system/install.scm (embedded-installation-os): Use 'initrd-modules' instead of 'initrd'. * gnu/tests/install.scm (%raid-root-os): Likewise. * doc/guix.texi (operating-system Reference): Add 'initrd-modules'. (Initial RAM Disk): Document it. Adjust example to not use #:extra-modules.
* linux-initrd: Separate file system module logic.Ludovic Courtès2018-03-02
| | | | | | | | | * gnu/system/linux-initrd.scm (vhash, lookup-procedure): New macros. (file-system-type-modules, file-system-modules): New procedures. (base-initrd)[cifs-modules, virtio-9p-modules]: Remove. [file-system-type-predicate]: Remove. Use 'file-system-modules' instead of 'find' + 'file-system-type-predicate'.
* Merge branch 'master' into core-updatesMark H Weaver2018-02-16
|\
| * services: agetty: Add agetty instance to base services. Make its tty optional.Danny Milosavljevic2018-02-15
| | | | | | | | | | | | | | | | | | | | * gnu/services/base.scm (%base-services): Instantiate agetty-service. (default-serial-port): New variable. (agetty-shepherd-service): Make tty optional, default to the above. * doc/guix.texi (agetty-configuration): Update "tty" documentation. * gnu/system/install.scm (agetty-default-service): Delete variable. (embedded-installation-os): Remove agetty-default-service instance. Add "console" kernel-argument.
* | Merge branch 'master' into core-updatesMarius Bakke2018-02-01
|\|
| * gnu: linux-libre: NVME core support is now built-in.Mark H Weaver2018-01-30
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/system/linux-initrd.scm (base-initrd)[linux-modules]: Remove "nvme". * gnu/packages/aux-files/linux-libre/4.1-i686.conf, gnu/packages/aux-files/linux-libre/4.1-x86_64.conf, gnu/packages/aux-files/linux-libre/4.4-i686.conf, gnu/packages/aux-files/linux-libre/4.4-x86_64.conf: Set CONFIG_BLK_DEV_NVME=y. * gnu/packages/aux-files/linux-libre/4.9-i686.conf, gnu/packages/aux-files/linux-libre/4.9-x86_64.conf, gnu/packages/aux-files/linux-libre/4.14-arm.conf, gnu/packages/aux-files/linux-libre/4.14-i686.conf, gnu/packages/aux-files/linux-libre/4.14-x86_64.conf: Set CONFIG_BLK_DEV_NVME=y and CONFIG_NVME_CORE=y.
* | system: Put locales where libc will find them.Mark H Weaver2018-01-24
| | | | | | | | | | * gnu/system/locale.scm (localedef-command, single-locale-directory): Use only the major+minor part of the libc version number in the locale directory name.
* | Merge branch 'master' into core-updatesMark H Weaver2018-01-23
|\|
| * system: Rename a20-olinuxino-lime-sd-installation-os.Danny Milosavljevic2018-01-23
| | | | | | | | | | * gnu/system/install.scm (a20-olinuxino-lime-sd-installation-os): Rename to... (a20-olinuxino-lime-installation-os): ...this.
| * system: Add A20 OLinuXino LIME installer.Danny Milosavljevic2018-01-22
| | | | | | | | | | | | | | | | | | * gnu/bootloader/u-boot.scm (u-boot-a20-olinuxino-lime-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-a20-olinuxino-lime): New exported variable. * gnu/system/install.scm (a20-olinuxino-lime-installation-os): New exported variable.
| * doc: No longer mention Wicd in OS examples.Ludovic Courtès2018-01-21
| | | | | | | | | | | | * gnu/system/examples/desktop.tmpl, gnu/system/examples/lightweight-desktop.tmpl: Mention NetworkManager instead of Wicd.
| * system: Add Nintendo NES Classic Edition installer.Danny Milosavljevic2018-01-20
| | | | | | | | | | | | | | | | | | * gnu/bootloader/u-boot.scm (u-boot-nintendo-nes-classic-edition-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-nintendo-nes-classic-edition): New exported variable. * gnu/system/install.scm (nintendo-nes-classic-edition-installation-os): New exported variable.
| * system: Factor out embedded-installation-os.Danny Milosavljevic2018-01-20
| | | | | | | | | | | | | | | | * gnu/system/install.scm (embedded-installation-os): New variable. (beaglebone-black-installation-os): Use it. (a20-olinuxino-lime2-emmc-installation-os): Use it. (a20-olinuxino-micro-installation-os): Use it. (banana-pi-m2-ultra-installation-os): Use it.
| * system: Factor out agetty-default-service.Danny Milosavljevic2018-01-20
| | | | | | | | | | | | | | | | * gnu/system/install.scm (agetty-default-service): New variable. (beaglebone-black-installation-os): Use it. (a20-olinuxino-lime2-emmc-installation-os): Use it. (a20-olinuxino-micro-installation-os): Use it. (banana-pi-m2-ultra-installation-os): Use it.
| * system: Add A20 OLinuXino MICRO installer.Danny Milosavljevic2018-01-20
| | | | | | | | | | | | | | | | | | * gnu/bootloader/u-boot.scm (u-boot-a20-olinuxino-micro-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-a20-olinuxino-micro): New exported variable. * gnu/system/install.scm (a20-olinuxino-micro-installation-os): New exported variable.
| * system: Add A20 OLinuXino LIME2 installer.Danny Milosavljevic2018-01-20
| | | | | | | | | | | | | | | | | | * gnu/bootloader/u-boot.scm (u-boot-a20-olinuxino-lime2-bootloader): New exported variable. * gnu/packages/bootloaders.scm (u-boot-a20-olinuxino-lime2): New exported variable. * gnu/system/install.scm (a20-olinuxino-lime2-emmc-installation-os): New exported variable.
| * system: Add Banana Pi M2 Ultra installer.Danny Milosavljevic2018-01-20
| | | | | | | | | | | | | | | | | | | | | | * gnu/bootloader/u-boot.scm (u-boot-banana-pi-m2-ultra-bootloader): New exported variable. (install-allwinner-u-boot): New variable. (u-boot-allwinner-bootloader): New variable. * gnu/packages/bootloaders.scm (u-boot-banana-pi-m2-ultra): New exported variable. * gnu/system/install.scm (banana-pi-m2-ultra-installation-os): New exported variable.
* | Merge branch 'master' into core-updatesMark H Weaver2018-01-19
|\|
| * gnu: Consistently Write ‘file system(s)’.Tobias Geerinckx-Rice2018-01-19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is the GNU way. * doc/guix.texi (Build Systems, DNS Services): Write ‘file system(s)’. * gnu/build/vm.scm (create-ext-file-system, create-fat-file-system): Likewise. * gnu/packages/backup.scm (dirvish, rsnapshot)[description]: Likewise. * gnu/packages/check.scm (python-testpath)[description]: Likewise. * gnu/packages/disk.scm (pydf)[description]: Likewise. * gnu/packages/file-systems.scm (disorderfs)[synopsis, description]: Likewise. (glusterfs)[description]: Likewise. * gnu/packages/haskell.scm (ghc-directory, ghc-system-fileio-bootstrap) (ghc-system-fileio)[synopsis]: Likewise. (ghc-fsnotify)[description]: Likewise. * gnu/packages/linux.scm (proot)[description]: Likewise. (jmtpfs)[synopsis, description]: Likewise. * gnu/packages/mate.scm (caja, caja-extensions)[description]: Likewise. * gnu/packages/storage.scm (ceph)[description]: Likewise. * gnu/packages/sync.scm (lsyncd)[description]: Likewise. * gnu/packages/syncthing.scm (syncthing)[synopsis]: Likewise. (go-github-com-zillode-notify)[description]: Likewise. * gnu/services/nfs.scm (pipefs-service-type): Likewise. * guix/scripts/system.scm (perform-action): Likewise.
* | Merge branch 'master' into core-updatesLeo Famulari2018-01-11
|\|
| * system: Extend .gdbinit to authorize extensions from /gnu/store/*/lib.Ludovic Courtès2018-01-09
| | | | | | | | | | * gnu/system/shadow.scm (default-skeletons)["gdbinit"]: Add 'auto-load safe-path' statement.
| * linux-boot: Add #:on-error for initrd error handling.Ludovic Courtès2018-01-08
| | | | | | | | | | | | | | | | | | | | Suggested by Danny Milosavljevic <dannym@scratchpost.org> in <https://bugs.gnu.org/29922>. * gnu/build/linux-boot.scm (boot-system): Add #:on-error parameter and pass it to 'call-with-error-handling'. * gnu/system/linux-initrd.scm (raw-initrd): Add #:on-error and pass it. (base-initrd): Likewise.
| * vm: 'vm-image' images refer to the root file system by UUID.Ludovic Courtès2018-01-07
| | | | | | | | | | | | | | | | | | | | | | This avoids the hard-coded "/dev/sda1", which only made sense when the image is run with "qemu-system-x86_64 -hda", not when it's passed to Xen, etc. Reported by Andreas Enge <andreas@enge.fr>. * gnu/system/vm.scm (system-qemu-image): Define 'root-uuid', use it as the 'device' field for "/", and pass it to 'qemu-image'.
* | Merge remote-tracking branch 'origin/master' into core-updatesEfraim Flashner2017-12-31
|\|
| * file-systems: Move %control-groups from %base-file-systems toMathieu Othacehe2017-12-22
| | | | | | | | | | | | | | | | %elogind-file-systems. * gnu/system/file-systems.scm (%base-file-systems): Move %control-groups from here, to ... (%elogind-file-systems): ... here.
| * file-systems: Do not mount hugetlb cgroup filesystem.Mathieu Othacehe2017-12-22
| | | | | | | | | | | | | | | | On ARM32 without LPAE support, hugetlb control group is not supported. As it is not needed by elogind, remove it for all platforms. * gnu/system/file-systems.scm (%control-groups): Remove hugetlb from control groups platforms.
| * mapped-devices: 'luks-device-mapping' checks its source device.Ludovic Courtès2017-12-22
| | | | | | | | | | * gnu/system/mapped-devices.scm (check-luks-device): New procedure. (luks-device-mapping)[check]: New field.
| * mapped-devices: Add 'location' and 'check' fields.Ludovic Courtès2017-12-22
| | | | | | | | | | * gnu/system/mapped-devices.scm (<mapped-device>)[location]: New field. (<mapped-device-type>)[check]: New field.
| * system: examples: Add missing initrd to beaglebone-black.tmpl.Mathieu Othacehe2017-12-22
| | | | | | | | | | * gnu/system/examples/beaglebone-black.tmpl (operating-system): Add the initrd with "omap_hsmmc" as an extra-module.
* | Merge branch 'master' into core-updatesMarius Bakke2017-12-19
|\|
| * system: examples: Add a template for BeagleBone Black.Mathieu Othacehe2017-12-18
| | | | | | | | | | | | * gnu/system/examples/beaglebone-black.tmpl: New file. * Makefile.am (EXAMPLES): Add it. * gnu/system/install.scm (/etc/configuration-files): Add it.
| * vm: Pass the host's /dev/urandom to the guest at /dev/hwrng.Leo Famulari2017-12-18
| | | | | | | | | | * gnu/build/vm.scm (load-in-linux-vm): Use QEMU's virtio-rng-pci. * gnu/system/vm.scm (common-qemu-options): Likewise.
| * gnu: system: vm: Use loose cache for 9p file system.Christopher Baines2017-12-17
| | | | | | | | | | | | | | This improves the performance of the shared store for operations involving lots of files, e.g. searching through the store. * gnu/system/vm.scm (mapping->file-system): Add cache=loose to options.
| * system: Add BeagleBone Black installer.Mathieu Othacehe2017-12-15
| | | | | | | | | | | | * gnu/bootloader/u-boot.scm (u-boot-beaglebone-black-bootloader): New exported bootloader. * gnu/system/install.scm (beaglebone-black-installation-os): New exported variable.
| * bootloader: Factorize write-file-on-device.Mathieu Othacehe2017-12-15
| | | | | | | | | | | | | | | | | | | | | | * gnu/bootloader/extlinux.scm (install-extlinux): Factorize bootloader writing in a new procedure write-file-on-device defined in (gnu build bootloader). * gnu/build/bootloader.scm: New file. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new file. * gnu/system/vm.scm (qemu-img): Adapt to import and use (gnu build bootloader) module during derivation building. * gnu/scripts/system.scm (bootloader-installer-derivation): Ditto.
| * vm: Adapt qemu command to ARM.Mathieu Othacehe2017-12-15
| | | | | | | | | | | | | | | | | | | | | | * gnu/build/vm.scm (load-in-linux-vm): New argument #:target-arm32. Use it to adapt command for qemu-system-arm. This implies to choose a machine ("virt"), use the correct console port "ttyAMA0", disable KVM use that is buggy on some ARM boards (Odroid XU4 for example) and use user mode network stack instead of NIC. Gather all those options in a new variable "arch-specific-flags". * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass to load-in-linux-vm "#:target-arm32?" argument.