Fixes: <https://issues.guix.gnu.org/59823>
* gnu/installer/parted.scm (mapped-device?,
mapped-device-parent-partition): New procedures.
(eligible-devices): Detect mapped installation devices using the new
procedures.
Fixes <https://issues.guix.gnu.org/59922>.
Previously progress bars and related things would be buffered by
'run-external-command-with-line-hooks' until \n is read.
* gnu/installer/utils.scm (run-external-command-with-line-hooks): Use
'read-delimited' rather than 'get-line'. Pass 'concat as the last
argument.
(%display-line-hook): Remove.
(run-command): Use 'display' instead of '%display-line-hook'.
(%syslog-line-hook): Add "\n" when LINE doesn't end in \n.
(%installer-log-line-hook): Do not add an extra newline.
(installer-log-line): Add an extra newline.
* gnu/installer/hardware.scm: New file.
* gnu/local.mk (INSTALLER_MODULES): Add it.
* po/guix/POTFILES.in: Add it.
* gnu/installer.scm (installer-steps): Pass #:pci-database to the
'welcome' step procedure.
* gnu/installer/newt.scm (welcome-page): Add #:pci-database and pass it
to 'run-welcome-page'.
* gnu/installer/newt/welcome.scm (check-hardware-support): Add #:pci-database.
Enumerate unsupported PCI devices and run an error page when unsupported
devices are found.
(run-welcome-page): Add #:pci-database and pass it to
'check-hardware-support' and to the recursive call.
* gnu/installer/record.scm (<installer>)[welcome-page]: Adjust comment.
* doc/guix.texi (Hardware Considerations): Mention it.
This is a followup to 682639c107, which
added the uvesafb upfront, before welcome page had been displayed.
* gnu/installer/newt/welcome.scm (check-hardware-support): New
procedure.
(run-welcome-page): Use it.
When the user aborts the installation because a core dump is discovered or the
installation command failed, displaying the abort backtrace doesn't make much
sense. Hide it when the abort condition is &user-abort-error and skip directly
to the dump page.
* gnu/installer/steps.scm (&user-abort-error): New variable.
(user-abort-error?): New procedure.
* gnu/installer/newt/final.scm (run-install-failed-page): Raise a
user-abort-error.
* gnu/installer/newt/welcome.scm (run-welcome-page): Ditto.
* gnu/installer.scm (installer-program): Hide the backtrace page and directly
propose to dump the report when the a &user-abort-error is raised.
There will be false positives: Because the Guix installer uses the
kernel argument modprobe.blacklist=radeon,amdgpu and some AMD graphics
actually work okay according to h-node, these users will get a
false alarm.
* gnu/installer/newt/welcome.scm (run-welcome-page): Warn before showing
the welcome page.
This is a follow-up of: <https://issues.guix.gnu.org/57232>
* gnu/installer/newt/partition.scm (run-label-page): Add a confirmation page
when dealing with an EFI installation.
Fixes: <https://issues.guix.gnu.org/55360>
* gnu/installer/utils.scm (run-external-command-with-handler/tty): New
procedure.
(run-external-command-with-line-hooks, run-command): Add a TTY? argument.
* gnu/installer/final.scm (install-system): Call run-command with TTY?
argument set to #true.
Checks the availability of the mirror bordeaux.guix.gnu.org in addition to
ci.guix.gnu.org. This allows to proceed the installation if the
ci.guix.gnu.org is unavailable.
* gnu/installer/newt/network.scm (wait-service-online): Relax internet check
availability criteria.
Signed-off-by: Andrew Tropin <andrew@trop.in>
These typos were found and reported through weblate.
* gnu/packages/audio.scm (wildmidi)[description]: Fix typo.
* gnu/packages/games.scm (cgoban)[description]: Fix typo.
* gnu/services/version-control.scm (gitolite-service-type)[description]:
Fix typo.
* gnu/installer/newt/substitutes.scm (run-substitutes-page): Remove full
stop at end of title.
* gnu/machine/ssh.scm (machine-ssh-configuration-system): Move
punctuation outside of quotes.
* guix/scripts/home.scm (process-action): Remove trailing space before
newline.
* guix/scripts/system.scm (show-help): Fix typo.
* guix/scripts/environment.scm (with-store/maybe): Fix typo.
When the configuration is edited, it looks like there are some leftover
fragments from the input configuration:
Example content of config.scm after edition:
#:imported-modules
'((gnu services herd)
(guix build utils)
(guix combinators)))
unted". The unique
;; file system identifiers there ("UUIDs") can be obtained
;; by running 'blkid' in a terminal.
...
This is strange because call-with-output-file uses the O_TRUNC flag which
resets the file size to zero. Remove the configuration file before writing it
as a work-around.
* gnu/installer/tests.scm (edit-configuration-file): Remove the configuration
file before re-writing it.
* gnu/installer/parted.scm (user-partitions->configuration): Introduce
vertical space and a comment.
* gnu/installer/services.scm (G_): New macro.
(%system-services): Add comment for OpenSSH.
(system-services->configuration): Add vertical space and comments.
* gnu/installer/user.scm (users->configuration): Add comment.
* gnu/installer/steps.scm (format-configuration): Add comment.
(configuration->file): Expound leading comment. Pass #:format-comment
to 'pretty-print-with-comments/splice'.
* gnu/installer.scm (module-to-import?): Return #t for (guix read-print).
* gnu/installer/steps.scm (configuration->file): Use
'pretty-print-with-comments/splice' instead of 'for-each' and 'pretty-print'.
Parted 3.5 introduces the following regression:
- partition-set-flag sets the BIOS_GRUB flag. The partition type is set to
PARTITION_BIOS_GRUB_GUID.
- partition-set-system resets the partition type to PARTITION_LINUX_DATA_GUID
undoing what's done by partition-set-flag.
To prevent it, reverse the call order.
Fixes: <https://issues.guix.gnu.org/55549>.
* gnu/installer/parted.scm (mkpart): Call partition-set-system before
partition-set-flag.
Forbid root user creation as it could lead to a system without any
non-priviledged user accouts.
Fixes: <https://issues.guix.gnu.org/54666>.
* gnu/installer/newt/user.scm (run-user-add-page): Forbid it.
This is to make it less surprising, given the common convention sets forth by
the kernel Linux command-line parameters.
* gnu/build/linux-boot.scm (boot-system): Rename '--load', '--repl', '--root'
and '--system' to 'gnu.load', 'gnu.repl', 'root' and 'gnu.system',
respectively. Adjust doc.
(find-long-option): Adjust doc.
* gnu/installer/parted.scm (installer-root-partition-path): Adjust accordingly.
* gnu/system.scm (bootable-kernel-arguments): Add a VERSION argument and
update doc. Use VERSION to conditionally return old style vs new style initrd
arguments.
(%boot-parameters-version): Increment to 1.
(operating-system-boot-parameters): Adjust doc.
(operating-system-boot-parameters-file): Likewise.
* gnu/system/linux-initrd.scm (raw-initrd, base-initrd): Likewise.
* doc/guix.texi: Adjust doc.
* gnu/build/activation.scm (boot-time-system): Adjust accordingly.
* gnu/build/hurd-boot.scm (boot-hurd-system): Likewise.
* gnu/packages/commencement.scm (%final-inputs-riscv64): Adjust comment.
* gnu/installer.scm (installer-program): Remove dependency on the guix
package for the PATH.
* gnu/installer/final.scm (install-system): Set PATH inside container
to /run/current-system/profile/bin/.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu/installer.scm (installer-program): Let the installer customize
the dump archive.
* gnu/installer/dump.scm (prepare-dump, make-dump): Split make-dump in
prepare-dump, which copies the files necessary for the dump, and
make-dump which creates the archive.
* gnu/installer/record.scm (installer): Add report-page field. Change
documented return value of exit-error.
* gnu/installer/newt.scm (exit-error): Change arguments to be a string
containing the error. Let the user choose between exiting and
initiating a dump.
(report-page): Add new variable.
* gnu/installer/newt/page.scm (run-dump-page): New variable.
* gnu/installer/newt/dump.scm: Delete it.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu/installer/user.scm (<secret>, secret?, make-secret,
secret-content): Add opaque <secret> record that boxes its contents,
with a custom printer that doesn't display anything.
* gnu/installer/newt/user.scm (run-user-add-page, run-user-page): Box
it.
* gnu/installer/final.scm (create-user-database): Unbox it.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* gnu/installer/final.scm (install-system): Remove command logging to
syslog, as this is taken care of by the new facilities.
Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>