Age | Commit message (Expand) | Author |
2018-07-29 | linux-initrd: Try several file names when looking up modules....Fixes <https://bugs.gnu.org/31714>.
Reported by Tonton <tonton@riseup.net>.
* gnu/build/linux-modules.scm (find-module-file): New procedure.
* gnu/system/linux-initrd.scm (flat-linux-module-directory)[build-exp]:
Remove 'lookup' procedure and use 'find-module-file' instead.
* gnu/system/mapped-devices.scm (check-device-initrd-modules): Add
comment.
| Ludovic Courtès |
2018-07-29 | linux-initrd: Improve check of initrd modules....Previously we would not strip the ".ko" suffix if present.
* gnu/build/linux-modules.scm (file-name->module-name): Export.
* gnu/system/mapped-devices.scm (check-device-initrd-modules): Use
'file-name->module-name' instead of 'normalize-module-name'.
| Ludovic Courtès |
2018-07-23 | system: '.guile' skeleton now recommends 'guile-colorized'....* gnu/system/shadow.scm (default-skeletons)[".guile"]: Recommend
'guile-colorized'.
| Ludovic Courtès |
2018-07-20 | install: Add service for the loopback device....Lack of a loopback device prevented the system from building starting
from commit 363c946b36a77aa6f0e60b8c93a171d2e649164f.
* gnu/system/install.scm (%installation-services): Add
'static-networking-service-type' instance for 'lo'.
| Ludovic Courtès |
2018-07-05 | doc: Improve UEFI/BIOS bootloader documentation....Partly fixes <https://bugs.gnu.org/30312>.
* doc/guix.texi (Preparing for Installation): Add note on how to choose
between UEFI and BIOS.
(Using the Configuration System)[Bootloader]: New subsubsection.
(Bootloader Configuration): Expound on the bootloader type and target.
* gnu/system/examples/desktop.tmpl: Switch to UEFI.
* gnu/system/examples/bare-bones.tmpl: Explicitly mention "legacy" and
"BIOS" in the comments.
| Ludovic Courtès |
2018-07-04 | system: Default .bashrc uses '--color=auto' for grep and ls....Reported by Tobias Geerinckx-Rice <me@tobias.gr>
and Björn Höfling <bjoern.hoefling@bjoernhoefling.de>.
* gnu/system/shadow.scm (default-skeletons)["bashrc"]: Use
'--color=auto' instead of '--color'.
| Ludovic Courtès |
2018-06-15 | system: Add os-with-u-boot....* gnu/system/install.scm (os-with-u-boot): New procedure.
* gnu/packages/bootloaders.scm (make-u-boot-package): Export.
* doc/guix.texi (Building the Installation Image for ARM Boards): New
subsection.
| Danny Milosavljevic |
2018-06-14 | linux-initrd: Module check correctly handles hyphen vs. underscore....Fixes <https://bugs.gnu.org/31714>.
Reported by Vagrant Cascadian <vagrant@debian.org>
and Florian Pelz <pelzflorian@pelzflorian.de>.
* gnu/system/mapped-devices.scm (check-device-initrd-modules): Pass
LINUX-MODULES through 'normalize-module-name'.
* gnu/build/linux-modules.scm (normalize-module-name): Export.
| Ludovic Courtès |
2018-06-14 | install: Use (guix store database) instead of 'guix-register'....* gnu/build/install.scm (register-closure): Add #:reset-timestamps? and
and #:schema; honor them. Rewrite in terms of 'register-path'.
(populate-single-profile-directory): Add #:schema and honor it. Make
/var/guix/profiles and /var/guix/gcroots.
* gnu/build/vm.scm (root-partition-initializer): Pass
#:reset-timestamps? to 'register-closure'.
* gnu/system/vm.scm (not-config?): New procedure.
(guile-sqlite3&co): New variable.
(expression->derivation-in-linux-vm)[config]: New variable.
[builder]: Use 'with-extensions'.
(iso9660-image)[schema, config]: New variables.
Wrap build expression in 'with-extensions'; add 'sql-schema' call.
Remove GUIX from INPUTS.
(qemu-image)[schema, config]: New variables.
Wrap body in 'with-extensions'.
(system-docker-image)[not-config?]: Remove.
[config]: Use 'make-config.scm'.
[schema]: New variable.
[build]: Use 'with-extensions'. Add call to 'sql-schema'. Remove GUIX
from INPUTS.
* gnu/system/file-systems.scm (%store-prefix): Check whether
'%store-prefix' is defined.
* guix/scripts/pack.scm (self-contained-tarball)[not-config?]
[libgcrypt, schema]: New variables.
[build]: Wrap in 'with-extensions'. Adjust imported module list to use
'make-config.scm' for (guix config).
| Ludovic Courtès |
2018-06-14 | vm: 'expression->derivation-in-linux-vm' code can now use dlopen....* gnu/system/vm.scm (expression->derivation-in-linux-vm)
[user-builder]: Define in non-monadic style as 'program-file'.
[loader]: Likewise, and 'execl' USER-BUILDER instead of loading it.
(system-docker-image): Pass BUILD as the second
argument to 'expression->derivation-in-linux-vm'.
(make-iso9660-image, qemu-image): Remove call to 'reboot'.
| Ludovic Courtès |
2018-06-14 | store-copy: 'read-reference-graph' returns a list of records....The previous implementation of 'read-reference-graph' was good enough
for many use cases, but it discarded the graph structure, which is
useful information in some cases.
* guix/build/store-copy.scm (<store-info>): New record type.
(read-reference-graph): Rewrite to return a list of <store-info>.
(closure-size, populate-store): Adjust accordingly.
* gnu/services/base.scm (references-file): Adjust accordingly.
* gnu/system/vm.scm (system-docker-image): Likewise.
* guix/scripts/pack.scm (squashfs-image, docker-image): Likewise.
* tests/gexp.scm ("gexp->derivation #:references-graphs"): Likewise.
| Ludovic Courtès |
2018-06-11 | system: Default .bashrc now sources /etc/bashrc....This is a followup to commit 1382bde93c3ccb5be6b846b932edd7707fac1a3e,
which disabled automatic sourcing of /etc/bashrc by interactive shell.
The noticeable effect of the change would be that Bash completion would
only work in login shells.
* gnu/system/shadow.scm (default-skeletons)["bashrc"]: Source
/etc/bashrc.
| Ludovic Courtès |
2018-06-08 | vm: 'iso9660-image' uses a local /tmp....Fixes <https://bugs.gnu.org/31752>.
Regression introduced in commit 8c9bf2946a1cb58c5b7b941db3a37830ece80708.
* gnu/system/vm.scm (iso9660-image): Pass #:file-systems to
'expression->derivation-in-linux-vm'.
| Ludovic Courtès |
2018-06-08 | vm: 'expression->derivation-in-linux-vm' takes a #:file-systems parameter....* gnu/system/vm.scm (expression->derivation-in-linux-vm): Add
#:file-systems and use it instead of %LINUX-VM-FILE-SYSTEMS.
| Ludovic Courtès |
2018-06-01 | vm: Use 'with-extensions'....* gnu/system/vm.scm (system-docker-image)[build]: Use
'with-extensions'. Remove 'add-to-load-path' calls.
| Ludovic Courtès |
2018-05-29 | vm: Remove unneeded dependency on Guile-JSON....Fixes <https://bugs.gnu.org/31581>.
Reported by Leo Famulari <leo@famulari.name>.
* gnu/system/vm.scm: Remove unneeded (guix docker) import.
| Ludovic Courtès |
2018-05-29 | system: Add u-boot-puma-rk3399....* gnu/packages/bootloaders.scm (u-boot-puma-rk3399): New variable.
(make-u-boot-package)[arguments]: Add '.rksd' files to the files installed
during custom 'install phase.
* gnu/bootloader/u-boot.scm (u-boot-puma-rk3399-bootloader):
New exported variable.
* gnu/system/install.scm (rk3399-puma-installation-os):
New exported variable.
* gnu/packages/firmware.scm (arm-trusted-firmware-puma-rk3399): New variable.
(rk3399-cortex-m0): New variable.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Vagrant Cascadian |
2018-05-28 | system: Remove uses of the 'title' field of <file-system>....* gnu/system/install.scm (installation-os): Remove uses of the 'title'
field of 'file-system'; use 'file-system-label' as appropriate.
* gnu/system/vm.scm (system-disk-image, system-qemu-image): Likewise.
* gnu/tests.scm (%simple-os): Likewise.
* gnu/tests/install.scm (%minimal-os, %minimal-extlinux-os)
(%minimal-os-on-vda, %separate-home-os, %separate-store-os)
(%raid-root-os, %encrypted-root-os, %btrfs-root-os): Likewise.
* gnu/build/shepherd.scm (default-mounts)[tmpfs]: Likewise.
* tests/guix-system.sh: Likewise.
* tests/system.scm (%root-fs): Likewise.
("operating-system-boot-mapped-devices, implicit dependency"): Likewise.
| Ludovic Courtès |
2018-05-28 | file-systems: Remove 'title' field and add <file-system-label>....The 'title' field was easily overlooked and was an endless source of
confusion. Now, the value of the 'device' field is self-contained.
* gnu/system/file-systems.scm (<file-system>): Change constructor name
to '%file-system'.
[title]: Remove.
(<file-system-label>): New record type with printer.
(report-deprecation, device-expression)
(process-file-system-declaration, file-system): New macros.
(file-system-title): New procedure.
(file-system->spec, spec->file-system): Adjust to handle
<file-system-label>.
* gnu/system.scm (bootable-kernel-arguments): Add case for
'file-system-label?'.
(read-boot-parameters): Likewise.
(mapped-device-user): Avoid 'file-system-title'.
(fs->boot-device): Remove.
(operating-system-boot-parameters): Use 'file-system-device' instead of
'fs->boot-device'.
(device->sexp): Add case for 'file-system-label?'.
* gnu/bootloader/grub.scm (grub-root-search): Add case for
'file-system-label?'.
* gnu/system/examples/bare-bones.tmpl,
gnu/system/examples/beaglebone-black.tmpl,
gnu/system/examples/lightweight-desktop.tmpl,
gnu/system/examples/vm-image.tmpl: Remove uses of 'title'.
* gnu/system/vm.scm (virtualized-operating-system): Remove uses of
'file-system-title'.
* guix/scripts/system.scm (check-file-system-availability): Likewise,
and adjust fix-it hint.
(check-initrd-modules)[file-system-/dev]: Likewise.
* gnu/build/file-systems.scm (canonicalize-device-spec): Remove 'title'
parameter.
[canonical-title]: Remove.
Match on SPEC's type rather than on CANONICAL-TITLE.
(mount-file-system): Adjust caller.
* gnu/build/linux-boot.scm (boot-system): Interpret ROOT here.
* gnu/services/base.scm (file-system->fstab-entry): Remove use of
'file-system-title'.
* doc/guix.texi (File Systems): Remove documentation of the 'title'
field. Rewrite documentation of 'device' and document
'file-system-label'.
| Ludovic Courtès |
2018-05-23 | vm: Use a deterministic file system UUID in shared-store VMs....* gnu/system/vm.scm (system-qemu-image/shared-store): Pass
#:file-system-uuid to 'qemu-image'.
| Ludovic Courtès |
2018-05-23 | linux-initrd: Enable "virtio-rng"....Fixes <https://bugs.gnu.org/31268>.
* gnu/system/linux-initrd.scm (default-initrd-modules)[virtio-modules]:
Add "virtio-rng".
| Ludovic Courtès |
2018-05-19 | uuid: 'uuid' returns #f when 'string->uuid' returns #f....* gnu/system/uuid.scm (uuid): When STR is not a literal, return #f when
'string->uuid' returns #f.
* tests/uuid.scm ("uuid, dynamic value"): New test.
| Ludovic Courtès |
2018-05-19 | file-systems: Do not export <file-system>....* gnu/system/file-systems.scm (<file-system>): Do not export.
* gnu/system.scm (operating-system-root-file-system): Use an accessor
instead of 'match'.
| Ludovic Courtès |
2018-05-18 | system: Add u-boot-pine64-plus installer....* gnu/bootloader/u-boot.scm (u-boot-pine64-plus-bootloader):
New exported variable.
* gnu/system/install.scm (pine64-plus-installation-os):
New exported variable.
Signed-off-by: Danny Milosavljevic <dannym@scratchpost.org>
| Vagrant Cascadian |
2018-05-11 | system: Add u-boot-novena installer....* gnu/packages/bootloaders.scm (u-boot-novena):
New variable.
* gnu/bootloader/u-boot.scm (u-boot-novena-bootloader):
New exported variable.
* gnu/system/install.scm (novena-installation-os):
New exported variable.
| Vagrant Cascadian |
2018-05-11 | system: Add wandboard installer....* gnu/bootloader/u-boot.scm (u-boot-wandboard-bootloader):
New exported variable.
* gnu/system/install.scm (wandboard-installation-os):
New exported variable.
| Vagrant Cascadian |
2018-05-11 | system: Add mx6cuboxi installer....* gnu/bootloader/u-boot.scm (u-boot-mx6cuboxi-bootloader):
New exported variable.
* gnu/system/install.scm (mx6cuboxi-installation-os):
New exported variable.
| Vagrant Cascadian |
2018-04-29 | file-systems: Expound '%pseudo-file-system-types'....Reported by Tobias Geerinckx-Rice <me@tobias.gr>.
* gnu/system/file-systems.scm (%pseudo-file-system-types): Add
"debugfs", "efivarfs", "hugetlbfs", "overlay", and "securityfs".
| Ludovic Courtès |
2018-04-27 | guix system: Report wrong file system 'device' fields....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.
| Ludovic Courtès |
2018-04-04 | system: Add default '.nanorc' with syntax highlighting....* gnu/system/shadow.scm (default-skeletons): Add ".nanorc".
| Ludovic Courtès |
2018-03-27 | nss: Remove '%compat' from the defaults....* gnu/system/nss.scm (%compat): Add comment.
(<name-service-switch>)[group, password, shadow]: Remove %COMPAT from
the default value.
| Ludovic Courtès |
2018-03-24 | system: Add "guix system docker-image" command....* 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.
| Chris Marusich |
2018-03-24 | gnu: When building in a VM, share a temporary directory....* 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.
| Chris Marusich |
2018-03-18 | vm: Display a backtrace upon error by default....* gnu/system/vm.scm (expression->derivation-in-linux-vm): Pass
#:on-error to 'base-initrd'.
| Ludovic Courtès |
2018-03-15 | linux-initrd: Autoload known-module-aliases, again....Fixes a regression introduced in 8ab10c19d72caab7459034a6e72b0117d7c5cec8.
* gnu/system/mapped-devices.scm: Autoload 'known-module-aliases'.
| Mark H Weaver |
2018-03-15 | linux-initrd: Move 'check-device-initrd-modules' elsewhere....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.
| Ludovic Courtès |
2018-03-15 | services: Add 'virtual-terminal'....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.
| Ludovic Courtès |
2018-03-10 | linux-initrd: Autoload known-module-aliases....* gnu/system/linux-initrd.scm: Autoload known-module-aliases.
| Danny Milosavljevic |
2018-03-10 | linux-initrd: Skip initrd module check when 'modules.alias' can't be found....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'.
| Ludovic Courtès |
2018-03-08 | vm: Use 9p mount tags below 32 chars....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.
| Ludovic Courtès |
2018-03-07 | linux-initrd: Add a hint for the missing module error....* gnu/system/linux-initrd.scm (check-device-initrd-modules): Add a
'&fix-hint'.
| Ludovic Courtès |
2018-03-07 | linux-initrd: Factorize 'check-device-initrd-modules'....* 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.
| Ludovic Courtès |
2018-03-07 | services: file-systems: Include 'user-file-systems' service....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.
| Ludovic Courtès |
2018-03-03 | linux-initrd: Add virtio modules to '%base-initrd-modules'....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.
| Ludovic Courtès |
2018-03-03 | system: beaglebone-black: Use 'initrd-modules'....* gnu/system/examples/beaglebone-black.tmpl: Use 'initrd-modules'
instead of 'initrd'.
| Ludovic Courtès |
2018-03-03 | vm: Add missing modules to the 'expression->derivation-in-linux-vm' initrd....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'.
| Ludovic Courtès |
2018-03-03 | linux-initrd: 'file-system-modules' returns the right module list....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.
| Ludovic Courtès |
2018-03-02 | guix system: Check for the lack of modules in the initrd....* 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'.
| Ludovic Courtès |
2018-03-02 | system: Add 'initrd-modules' field....* 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.
| Ludovic Courtès |
2018-03-02 | linux-initrd: Separate file system module logic....* 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'.
| Ludovic Courtès |