aboutsummaryrefslogtreecommitdiff
path: root/gnu/installer
Commit message (Collapse)AuthorAge
* installer: Create ext4 file systems with ‘-O large_dir’.Ludovic Courtès2024-08-31
| | | | | | | * gnu/installer/parted.scm (create-ext4-file-system): Pass ‘-O large_dir’ to ‘mkfs.ext4’. Change-Id: Ie34039ed03f273505e7f7fb5c3241120e3395ba2
* system: Remove nss-certs from OS templates, adjust doc.Maxim Cournoyer2024-04-18
| | | | | | | | | | | | | | | | | | | | | | | | | This is a follow-up to commit 86afaadb51 ("system: Add 'nss-certs' to %base-packages-networking.") * doc/guix-cookbook.texi (Running Guix on a Linode Server): Remove nss-certs from operating system's packages field. (Running Guix on a Kimsufi Server): Likewise. * doc/guix.texi (Using the Configuration System): Likewise. (X.509 Certificates): Adjust to mention nss-certs *is* part of %base-packages. * gnu/installer/services.scm (%system-services): Remove recommendation to install nss-certs. * gnu/system/examples/bare-bones.tmpl (host-name): Remove obsolete comments. * gnu/system/examples/desktop.tmpl (packages): Remove nss-certs. * gnu/system/examples/lightweight-desktop.tmpl (packages): Likewise. * gnu/system/examples/plasma.tmpl (packages): Likewise. * gnu/system/examples/raspberry-pi-64-nfs-root.tmpl (packages): Likewise. * gnu/system/examples/raspberry-pi-64.tmpl (packages): Likewise. * gnu/system/examples/vm-image.tmpl (packages): Likewise. * gnu/system/images/orangepi-r1-plus-lts-rk3328.scm (packages): Likewise. * gnu/system/images/pine64.scm (packages): Likewise. * gnu/system/install.scm (installation-os) [packages]: Likewise. Change-Id: If09123a69b987178bcb0aab61c4570c14fc1286f
* Switch order of the default substitute servers.Christopher Baines2024-04-03
| | | | | | | | | | | | | | | | | | | | | | | | | | | The aim here is to improve the user experience. There's anecdotal evidence that the network performance for bordeaux is better compared to ci at least for some users, and I don't know of any issues with rate limiting or access restriction for bordeaux compared to ci. It also has IPv6 support. Additionally, bordeaux generally had more substitutes than ci, particularly for aarch64-linux and armhf-linux. This change will offer a very slight speedup for those substitutes that only bordeaux has. Bordeaux has been a default substitute server for nearly 3 years now and I think this change is overdue. I'm also hopeful that we'll be able to build on the testing regarding mirrors for bordeaux, and that'll allow potentially improving the hosting setup (through providing more redundancy) and further improving substitute fetching for users who currently have issues with substitute access. * config-daemon.ac: Switch substitute urls order. * doc/guix.texi: Ditto. * etc/guix-install.sh: Ditto. * gnu/installer/newt/network.scm (wait-service-online): Ditto. * guix/store.scm (%default-substitute-urls): Ditto. Change-Id: I4f6d93ae1fc8b03d80b47b18b5749a51f1fde17b Signed-off-by: Christopher Baines <mail@cbaines.net>
* installer: Restore LatGrkCyr-8x16 console font depending on language.Denys Nykula2023-07-06
| | | | | | | | | | | Partially-Fixes: <https://issues.guix.gnu.org/64006> * gnu/installer/services.scm (system-services->configuration): When the LANGUAGE environment variable matches a known native console font, wrap the base services with modify-services, configuring console-font-service-type to set the native console font on every tty instead of the default console font. Signed-off-by: Florian Pelz <pelzflorian@pelzflorian.de>
* installer: Filter out C.UTF-8 from the list of locales.Josselin Poiret2023-04-30
| | | | | | | | * gnu/installer/locale.scm (supported-locales->locales): Filter out C.UTF-8. It doesn't follow the other locales' format, and doesn't have a corresponding iso639 code. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
* installer: final: Delete SQLite WAL and shm files upon completion.Ludovic Courtès2022-12-18
| | | | | | | | | | | | | Previously, db.sqlite-{wal,shm} could be left behind after stopping guix-daemon. When resuming installation, SQLite could end up behaving as if transactions visible in the WAL file had been committed, in spite of having restored SAVED-DATABASE. Fixes <https://issues.guix.gnu.org/59784>. Reported by pelzflorian (Florian Pelz) <pelzflorian@pelzflorian.de>. * gnu/installer/final.scm (install-system): Before restarting guix-daemon, delete db.sqlite-{wal,shm}.
* installer: final: Stop guix-daemon before accessing store database.Ludovic Courtès2022-12-18
| | | | | | | | | As part of fixing <https://issues.guix.gnu.org/59784>, make sure /var/guix/db.sqlite is only copied while guix-daemon is stopped. * gnu/installer/final.scm (call-with-mnt-container): Add FIXME comment. (install-system): Copy DATABASE-FILE and SAVED-DATABASE only when 'guix-daemon' is stopped. Add logging lines.
* installer: Detect mapped installation devices.Mathieu Othacehe2022-12-10
| | | | | | | | | 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.
* installer: Print progress bars and such as soon as \r is read.Ludovic Courtès2022-12-09
| | | | | | | | | | | | | | | | 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.
* installer: Add comment above the 'packages' field.Ludovic Courtès2022-11-20
| | | | | | * gnu/installer/services.scm (system-services->configuration): Add heading above the 'packages' field. Rename 'heading' to 'service-heading'.
* installer: Report known-unsupported PCI devices.Ludovic Courtès2022-11-15
| | | | | | | | | | | | | | | | | * 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.
* installer: Error page width is parameterized.Ludovic Courtès2022-11-15
| | | | | * gnu/installer/newt/page.scm (run-error-page): Add #:width and honor it.
* installer: Warn about hardware support after the welcome page.Ludovic Courtès2022-11-15
| | | | | | | | | This is a followup to 682639c107908426fe6bf0a1b8404b98b7820290, 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.
* installer: Remove unused variable.Ludovic Courtès2022-11-09
| | | | | * gnu/installer/newt.scm (newt-run-command): Remove 'displayed-command'.
* installer: Skip the backtrace page on user abort.Mathieu Othacehe2022-11-02
| | | | | | | | | | | | | | | 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.
* installer: Add core dump support.Mathieu Othacehe2022-11-02
| | | | | | | | | | Fixes: <https://issues.guix.gnu.org/58733> * gnu/installer.scm (installer-program): Enable core dump generation. * gnu/installer/dump.scm (%core-dump): New variable. (prepare-dump): Copy the core dump file. * gnu/installer/newt/welcome.scm (run-welcome-page): Propose to report an installation that previously generated a core dump.
* installer: parted: Retry failing read-partition-uuid call.Mathieu Othacehe2022-10-31
| | | | | | | Fixes: <https://issues.guix.gnu.org/53541>. * gnu/installer/parted.scm (read-partition-uuid/retry): New procedure. (check-user-partitions): Use it.
* installer: welcome: Warn when uvesafb gets used.pelzflorian (Florian Pelz)2022-10-25
| | | | | | | | | | 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.
* installer: Resume newt in exit-error procedure.Mathieu Othacehe2022-10-23
| | | | | | Fixes: <https://issues.guix.gnu.org/58734> * gnu/installer/newt.scm (exit-error): Resume it.
* installer: Add a missing confirmation page before formatting.Mathieu Othacehe2022-10-20
| | | | | | | 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.
* installer: Propose the user to report a "guix system init" failure.Mathieu Othacehe2022-10-20
| | | | | * gnu/installer/newt/final.scm (run-install-failed-page): Add a "Report the failure" button.
* installer: Run the "guix system init" command in a PTY.Mathieu Othacehe2022-10-20
| | | | | | | | | | 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.
* installer: Factorize url-alive? in internet check.Andrew Tropin2022-10-17
| | | | | * gnu/installer/newt/network.scm (wait-service-online): Factorize url-alive? in internet check.
* installer: Relax internet check availability criteria.aleksandr barakin2022-10-17
| | | | | | | | | | | 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>
* guix: Fix typos.Julien Lepiller2022-10-17
| | | | | | | | | | | | | | | | | 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.
* installer: partition: Add a confirmation page before formatting.Mathieu Othacehe2022-10-13
| | | | | | | | | | Fixes: <https://issues.guix.gnu.org/57232>. * gnu/installer/newt/partition.scm (run-label-confirmation-page): New procedure. (run-label-page): Call the above procedure before proceeding. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: tests: Fix typo.Mathieu Othacehe2022-09-24
| | | | * gnu/installer/tests.scm (edit-configuration-file): Fix it.
* installer: Fix configuration edition during testing.Mathieu Othacehe2022-09-24
| | | | | | | | | | | | | | | | | | | | | | | | | 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.
* installer: Exit console-services page with abort-to-prompt.Josselin Poiret2022-09-22
| | | | | | * gnu/installer/newt/services.scm (run-console-services-cbt-page): Do it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Ensure luks devices are open when mounting partitions.Josselin Poiret2022-09-22
| | | | | | | | | Partially-Fixes: <https://issues.guix.gnu.org/57983> * gnu/installer/parted.scm (luks-ensure-open): New procedure. (unmount-user-partitions): Ensure luks devices are open. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Return partitions with crypt password as step result.Josselin Poiret2022-09-22
| | | | | | * gnu/installer/newt/partition.scm (run-partitioning-page): Do it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Move <secret> to utils and use it for crypt passwords.Josselin Poiret2022-09-22
| | | | | | | | | | | | * gnu/installer/user.scm (<secret>, secret?, make-secret, secret-content): Move to utils.scm. * gnu/installer/utils.scm (<secret>, secret?, make-secret, secret-content): Moved from user.scm. * gnu/installer/newt/partition.scm (prompt-luks-passwords): Make password a <secret>. * gnu/installer/parted.scm (luks-format-and-open): Unwrap secret. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Fix segfault on double logical partition removal.Josselin Poiret2022-09-01
| | | | | | | * gnu/installer/parted.scm (auto-partition!): Avoid removing logical partitions twice. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: parted: Don't export WITH-DELAY-DEVICE-IN-USE?.Tobias Geerinckx-Rice2022-08-14
| | | | | * gnu/installer/parted.scm: Remove WITH-DELAY-DEVICE-IN-USE? from the module's export list.
* installer: Add comments and vertical space to the generated config.Ludovic Courtès2022-08-08
| | | | | | | | | | | | * 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'.
* installer: Render the final configuration with (guix read-print).Ludovic Courtès2022-08-08
| | | | | | * 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'.
* installer: parted: Call set-system before set-flags.Mathieu Othacehe2022-08-05
| | | | | | | | | | | | | | | | | 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.
* installer: parted: Log partition flags.Mathieu Othacehe2022-08-05
| | | | * gnu/installer/parted.scm (mkpart): Log them.
* Revert "installer: user: Remove useless filtering."Ludovic Courtès2022-05-21
| | | | | | This reverts commit c2125e59d0774cda3e559adeb056459a5f23586b. Fixes <https://issues.guix.gnu.org/55361>.
* installer: user: Remove useless filtering.Mathieu Othacehe2022-04-06
| | | | | * gnu/installer/user.scm (users->configuration): Remove root account filtering that is now performed in the "run-user-add-page" procedure.
* installer: user: Forbid root user creation.Mathieu Othacehe2022-04-06
| | | | | | | | | 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.
* initrd: Use non-hyphenated kernel command-line parameter names.Maxim Cournoyer2022-03-01
| | | | | | | | | | | | | | | | | | | | | | 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.
* installer: Continue even if Connman cannot phone home.Florian Pelz2022-02-26
| | | | | | | Connman's online check is unreliable for me. * gnu/installer/connman.scm (connman-online?): Accept if connman state is ready instead of online.
* installer: Use system-wide guix for system init.Josselin Poiret2022-02-02
| | | | | | | | | * 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>
* installer: Make dump archive creation optional and selective.Josselin Poiret2022-02-02
| | | | | | | | | | | | | | | | | | * 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>
* installer: Turn passwords into opaque records.Josselin Poiret2022-02-02
| | | | | | | | | | | * 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>
* installer: Add error page when running external commands.Josselin Poiret2022-02-02
| | | | | | | | * gnu/installer/newt.scm (newt-run-command): Add it. * gnu/installer/newt/page.scm (%ok-button, %exit-button, %default-buttons, make-newt-buttons, run-textbox-page): Add them. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Use named prompt to abort or break installer steps.Josselin Poiret2022-02-02
| | | | | | | | | | | | | | | | | | | | | | | | | | | * gnu/installer/steps.scm (run-installer-steps): Set up 'installer-step prompt. * gnu/installer/newt/ethernet.scm (run-ethernet-page) * gnu/installer/newt/final.scm (run-config-display-page, run-install-failed-page) * gnu/installer/newt/keymap.scm (run-layout-page, run-variant-page) * gnu/installer/newt/locale.scm (run-language-page, run-territory-page, run-codeset-page, run-modifier-page, run-locale-page) * gnu/installer/newt/network.scm (run-technology-page, wait-service-online) * gnu/installer/newt/page.scm (run-listbox-selection-page, run-checkbox-tree-page) * gnu/installer/newt/partition.scm (button-exit-action) * gnu/installer/newt/services.scm (run-desktop-environments-cbt-page, run-networking-cbt-page, run-other-services-cbt-page, run-network-management-page) * gnu/installer/newt/timezone.scm (run-timezone-page) * gnu/installer/newt/user.scm (run-user-page) * gnu/installer/newt/welcome.scm (run-menu-page) * gnu/installer/newt/wifi.scm (run-wifi-page): Use the 'installer-step prompt to abort. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Replace run-command by invoke in newt/page.scm.Josselin Poiret2022-02-02
| | | | | | * gnu/installer/newt/page.scm (edit-file): Replace it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
* installer: Fix run-file-textbox-page when edit-button is #f.Josselin Poiret2022-02-02
| | | | | | | * gnu/installer/newt/page.scm (run-file-textbox-page): Check if edit-button is #f. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>