summaryrefslogtreecommitdiff
path: root/gnu/system
Commit message (Collapse)AuthorAgeFilesLines
* file-systems: Expound '%pseudo-file-system-types'.Ludovic Courtès2018-04-291-2/+2
| | | | | | | Reported by Tobias Geerinckx-Rice <me@tobias.gr>. * gnu/system/file-systems.scm (%pseudo-file-system-types): Add "debugfs", "efivarfs", "hugetlbfs", "overlay", and "securityfs".
* guix system: Report wrong file system 'device' fields.Ludovic Courtès2018-04-271-1/+8
| | | | | | | | | | | | | | | | Previously, if you wrote (device "my-label") without (title 'label), you'd get: guix system: error: stat: No such file or directory: "my-label" Now you get a proper error and a hint. Reported by Pierre-Antoine Rouby. * guix/scripts/system.scm (check-file-system-availability)[literal]: New variable. Loop over LITERAL. * gnu/system/file-systems.scm (%pseudo-file-system-types): New variable. * guix/ui.scm (display-hint): Make public.
* system: Add default '.nanorc' with syntax highlighting.Ludovic Courtès2018-04-041-0/+3
| | | | * gnu/system/shadow.scm (default-skeletons): Add ".nanorc".
* nss: Remove '%compat' from the defaults.Ludovic Courtès2018-03-271-4/+6
| | | | | | * gnu/system/nss.scm (%compat): Add comment. (<name-service-switch>)[group, password, shadow]: Remove %COMPAT from the default value.
* system: Add "guix system docker-image" command.Chris Marusich2018-03-242-0/+152
| | | | | | | | | | | * gnu/system/vm.scm (system-docker-image): New procedure. * guix/scripts/system.scm (system-derivation-for-action): Add a case for docker-image, and in that case, call system-docker-image. (show-help): Document docker-image. (guix-system): Parse arguments for docker-image. * doc/guix.texi (Invoking guix system): Document "guix system docker-image". * gnu/system/examples/docker-image.tmpl: New file.
* gnu: When building in a VM, share a temporary directory.Chris Marusich2018-03-241-2/+10
| | | | | | * gnu/build/vm.scm (load-in-linux-vm): Make a shared temporary directory available in the VM. * gnu/system/vm.scm (%linux-vm-file-systems): Add a corresponding entry.
* vm: Display a backtrace upon error by default.Ludovic Courtès2018-03-181-0/+1
| | | | | * gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass #:on-error to 'base-initrd'.
* linux-initrd: Autoload known-module-aliases, again.Mark H Weaver2018-03-151-2/+2
| | | | | | 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-152-47/+48
| | | | | | | | | | | | 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-151-1/+3
| | | | | | | | | | | | | 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-101-1/+1
| | | | * 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-101-13/+23
| | | | | | | | | 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-081-6/+8
| | | | | | | | 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-071-0/+12
| | | | | * gnu/system/linux-initrd.scm (check-device-initrd-modules): Add a '&fix-hint'.
* linux-initrd: Factorize 'check-device-initrd-modules'.Ludovic Courtès2018-03-072-18/+25
| | | | | | | | | * 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-071-1/+1
| | | | | | | | | | | | | | | | | | | | 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-032-24/+11
| | | | | | | | | | | | | | | | | | | 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-031-5/+4
| | | | | * 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-031-0/+1
| | | | | | | | | | 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-031-2/+2
| | | | | | | | | | | 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-021-13/+40
| | | | | | | | | | | | | * 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-022-17/+24
| | | | | | | | | | | | | | * 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-021-24/+36
| | | | | | | | | * 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-161-11/+4
|\
| * services: agetty: Add agetty instance to base services. Make its tty optional.Danny Milosavljevic2018-02-151-11/+4
| | | | | | | | | | | | | | | | | | | | * 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-011-1/+0
|\|
| * gnu: linux-libre: NVME core support is now built-in.Mark H Weaver2018-01-301-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-241-4/+6
| | | | | | | | | | * 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-233-19/+62
|\|
| * system: Rename a20-olinuxino-lime-sd-installation-os.Danny Milosavljevic2018-01-231-1/+1
| | | | | | | | | | * 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-221-0/+6
| | | | | | | | | | | | | | | | | | * 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-212-3/+3
| | | | | | | | | | | | * 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-201-1/+7
| | | | | | | | | | | | | | | | | | * 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-201-30/+28
| | | | | | | | | | | | | | | | * 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-201-34/+16
| | | | | | | | | | | | | | | | * 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-201-0/+17
| | | | | | | | | | | | | | | | | | * 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-201-0/+17
| | | | | | | | | | | | | | | | | | * 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-201-0/+17
| | | | | | | | | | | | | | | | | | | | | | * 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-191-1/+1
|\|
| * gnu: Consistently Write ‘file system(s)’.Tobias Geerinckx-Rice2018-01-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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-113-11/+35
|\|
| * system: Extend .gdbinit to authorize extensions from /gnu/store/*/lib.Ludovic Courtès2018-01-091-2/+6
| | | | | | | | | | * 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-081-6/+14
| | | | | | | | | | | | | | | | | | | | 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-071-3/+15
| | | | | | | | | | | | | | | | | | | | | | 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-313-35/+69
|\|
| * file-systems: Move %control-groups from %base-file-systems toMathieu Othacehe2017-12-221-31/+32
| | | | | | | | | | | | | | | | %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-221-1/+1
| | | | | | | | | | | | | | | | 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-221-1/+23
| | | | | | | | | | * 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-221-2/+8
| | | | | | | | | | * 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-221-0/+5
| | | | | | | | | | * gnu/system/examples/beaglebone-black.tmpl (operating-system): Add the initrd with "omap_hsmmc" as an extra-module.