summary refs log tree commit diff
path: root/gnu/installer/parted.scm
AgeCommit message (Collapse)Author
2022-02-02installer: Raise condition when mklabel fails.Josselin Poiret
* gnu/installer/parted.scm (mklabel): Do it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-02-02installer: Use run-command-in-installer in (gnu installer parted).Josselin Poiret
* gnu/installer/parted.scm (remove-logical-devices, create-btrfs-file-system, create-ext4-file-system, create-fat16-file-system, create-fat32-file-system, create-jfs-file-system, create-ntfs-file-system, create-xfs-file-system, create-swap-partition, luks-format-and-open, luks-close): Use run-command-in-installer. (with-null-output-ports): Remove. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-02-02installer: Use new installer-log-line everywhere.Josselin Poiret
* gnu/installer.scm (installer-program) * gnu/installer/final.scm (install-locale) * gnu/installer/newt.scm (init) * gnu/installer/newt/final.scm (run-final-page) * gnu/installer/newt/page.scm (run-form-with-clients) * gnu/installer/newt/partition.scm (run-partitioning-page) * gnu/installer/parted.scm (eligible-devices, mkpart, luks-format-and-open, luks-close, mount-user-partitions, umount-user-partitions, free-parted): * gnu/installer/steps.scm (run-installer-steps): * gnu/installer/utils.scm (run-command, send-to-clients): Use it. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2022-01-14installer: Ignore small devices.Mathieu Othacehe
Filter the devices that are smaller than 2GiB in the device selection list. * gnu/installer/parted.scm (%min-device-size): New variable. (non-install-devices): Rename it ... (eligible-devices): ... this way. Filter the install device as well as the small devices. * gnu/installer/newt/partition.scm (run-partitioning-page): Adapt it.
2021-12-10Merge remote-tracking branch 'signed/master' into core-updatesMathieu Othacehe
2021-12-08Revert "installer: Make LUKS2 the default format for encrypted devices"Tobias Geerinckx-Rice
This reverts commit a82e9f45fd9f7c67123b7064c60065281035c744 at the author's request. We are not quite ready to boot all resulting systems. See <https://logs.guix.gnu.org/guix/2021-12-08.log#231815>.
2021-12-05Merge remote-tracking branch 'origin/master' into core-updates-frozenRicardo Wurmus
2021-12-01installer: parted: Use the swap-space record.Mathieu Othacehe
* gnu/installer/parted.scm (user-partitions->configuration): Use the swap-space record.
2021-12-01installer: Make LUKS2 the default format for encrypted devicesJosselin Poiret
* gnu/installer/parted.scm (luks-format-and-open): Change it. Signed-off-by: Ludovic Courtès <ludo@gnu.org>
2021-11-26installer: Rework installation device detection.Josselin Poiret
* gnu/installer/parted.scm (installation-device): Remove it. * gnu/installer/parted.scm (installer-root-partition-path): Add it. * gnu/installer/parted.scm (non-install-devices): Add installation-device? predicate. Signed-off-by: Mathieu Othacehe <othacehe@gnu.org>
2021-10-01installer: Fix typo in docstrings.Tobias Geerinckx-Rice
* gnu/packages/gnu/installer/parted.scm (force-user-partitions-formatting, format-user-partitions): Fix ‘formating’ docstring typo.
2021-09-23installer: Support XFS.Tobias Geerinckx-Rice
* gnu/installer/newt/partition.scm (run-fs-type-page): Add ‘xfs’ to the list box. * gnu/installer/parted.scm (user-fs-type-name, user-fs-type->mount-type) (partition-filesystem-user-type): Add ‘xfs’ mapping. (create-xfs-file-system): New procedure. (format-user-partitions): Use it. * gnu/installer.scm (set-installer-path): Add xfsprogs.
2021-08-29Migrate to the new 'targets' field of bootloader-configuration.Maxim Cournoyer
The old 'target' field is deprecated; adjust the sources to use the new 'targets' one instead. * doc/guix-cookbook.texi<target>: Replace by 'targets'. * gnu/bootloader/grub.scm: Likewise. * gnu/installer/parted.scm: Likewise. * gnu/machine/digital-ocean.scm: Likewise. * gnu/system/examples/asus-c201.tmpl: Likewise * gnu/system/examples/bare-bones.tmpl: Likewise * gnu/system/examples/bare-hurd.tmpl: Likewise * gnu/system/examples/beaglebone-black.tmpl: Likewise * gnu/system/examples/desktop.tmpl: Likewise * gnu/system/examples/docker-image.tmpl: Likewise * gnu/system/examples/lightweight-desktop.tmpl: Likewise * gnu/system/examples/vm-image.tmpl: Likewise * gnu/system/examples/yggdrasil.tmpl: Likewise * gnu/system/hurd.scm: Likewise * gnu/system/images/hurd.scm: Likewise * gnu/system/images/novena.scm: Likewise * gnu/system/images/pine64.scm: Likewise * gnu/system/images/pinebook-pro.scm: Likewise * gnu/system/images/rock64.scm: Likewise * gnu/system/install.scm: Likewise * gnu/system/vm.scm: Likewise * gnu/tests.scm: Likewise * gnu/tests/ganeti.scm: Likewise * gnu/tests/install.scm: Likewise * gnu/tests/nfs.scm: Likewise * gnu/tests/telephony.scm: Likewise * tests/boot-parameters.scm: Likewise * tests/system.scm: Likewise
2021-06-17installer: Improve the installation device detection method.Mathieu Othacehe
Fixes: <https://issues.guix.gnu.org/47780>. * gnu/installer/parted.scm (installation-device): New method. (non-install-devices): Remove devices which are reported as read-only by parted or which path is identical to the installation device path returned by the above method.
2021-06-13installer: Fix FAT16 partition mounting.Mathieu Othacehe
The "fat" file-system mount type doesn't exist in Linux. Trying to mount a FAT16 partition with "fat" file-system type returns -ENODEV. Fixes: <https://issues.guix.gnu.org/48419>. * gnu/installer/parted.scm (user-fs-type->mount-type): Use the "vfat" file-system for FAT16 partitions.
2021-06-12installer: Improve install device detection.Mathieu Othacehe
* gnu/installer/parted.scm (non-install-devices): Improve the detection by assuming that any device with the ISO9660 label is the installation device.
2021-06-12installer: Check partitions UUIDs.Mathieu Othacehe
* gnu/installer/parted.scm (&cannot-read-uuid): New condition. (cannot-read-uuid?, cannot-read-uuid-partition): New procedures. (check-user-partitions): Check that all user-partitions have a valid UUID, raide the above condition otherwise. * gnu/installer/newt/partition.scm (run-disk-page): Run an error page if the &cannot-read-uuid condition is raised.
2021-04-28installer: Add MSDOS disk label support on UEFI systems.Mathieu Othacehe
Fixes: <https://issues.guix.gnu.org/47889>. * gnu/installer/parted.scm (esp-partition?): Remove the MSDOS check. (auto-partition!): On MSDOS disks, check if an ESP partition is present. If that's the case, do not remove it. Otherwise, if UEFI is supported, create one.
2020-11-17installer: Fix device synchronization.Mathieu Othacehe
Reported by Florian Pelz: https://lists.gnu.org/archive/html/guix-devel/2020-11/msg00326.html. * gnu/installer/utils.scm (call-with-time): New procedure, (let/time): new macro. * gnu/installer/parted.scm (with-delay-device-in-use?): Increase the retry count to 16. (non-install-devices): Remove the call to with-delay-device-in-use? as it doesn't return the expected result, and would block much longer now. (free-parted): Log the time required to sync each device.
2020-11-08installer: parted: Add debug output.Mathieu Othacehe
* gnu/installer/parted.scm (mkpart): Log partition creation.
2020-11-01installer: parted: Internationalize the partition handling code.Ludovic Courtès
* gnu/installer/parted.scm (user-partition-description): Use 'format' and 'G_' for i18n.
2020-10-30installer: Use UUIDs in the 'swap-devices' field.Ludovic Courtès
Note: This change requires an updated 'guix' package that contains Linux-swap support in (gnu build file-systems). * gnu/installer/parted.scm (user-partitions->configuration): Use UUIDs in the 'swap-devices' field. * gnu/installer/newt/final.scm (run-final-page)[wait-for-clients]: New procedure. Use it. * gnu/installer/tests.scm (choose-partitioning): Wait for 'starting-final-step' message and move configuration file dialog handling to... (conclude-installation): ... here. Send over PORT the reply corresponding to 'starting-final-step'. * gnu/tests/install.scm (gui-test-program): When ENCRYPTED? is false, invoke 'swaplabel' in the marionette. (installation-target-os-for-gui-tests): When ENCRYPTED? is false, except a fixed UUID.
2020-10-19installer: Create bios_grub partition when it is needed.Miguel Ángel Arruga Vivas
* gnu/installer/parted.scm (auto-partition!): Only check for ESP on EFI installations.
2020-09-21installer: Fix docstring typoes.Tobias Geerinckx-Rice
* gnu/installer/connman.scm (connman-state, run-locale-page) (start-swapping, stop-swapping, run-installer-steps): Fix typo in docstring.
2020-08-06installer: Remove logical devices.Mathieu Othacehe
If a device contains an active logical volume, BLKRRPART will report that the device is busy. This will cause this device to be filtered by "non-install-devices" procedure, which is not desired. Make sure to deactivate all logical volumes before device probing. Fixes <https://issues.guix.gnu.org/42683>. * gnu/installer.scm (installer-program): Add lvm2-static to the inputs. * gnu/installer/parted.scm (remove-logical-devices): New procedure, (init-parted): call it.
2020-07-26installer: Add NTFS support.Mathieu Othacehe
This adds support for creating and editing NTFS partitions. It is however not possible yet to create root NTFS partitions, as overlaying on top of a fuse partition does not seem supported. * gnu/installer.scm (installer-program): Add "ntfs-3g" to the inputs. * gnu/installer/parted.scm (user-fs-type-name, user-fs-type->mount-type, partition-filesystem-user-type, create-ntfs-file-system, format-user-partitions): Add NTFS support. * gnu/installer/newt/partition.scm (run-fs-type-page): Add NTFS support.
2020-02-22installer: Log important bits to syslog.Ludovic Courtès
* gnu/installer.scm (installer-program): Log crashes with 'syslog'. * gnu/installer/parted.scm (luks-format-and-open, luks-close) (mount-user-partitions, umount-user-partitions): Add 'syslog' calls. * gnu/installer/steps.scm (run-installer-steps): Log the running step with 'syslog'. * gnu/installer/utils.scm (run-shell-command): Add calls to 'syslog'.
2020-01-05installer: Add JFS support.Tobias Geerinckx-Rice
* gnu/installer/newt/partition.scm (run-fs-type-page): Add ‘jfs’ to the list box. * gnu/installer/parted.scm (user-fs-type-name, user-fs-type->mount-type) (partition-filesystem-user-type): Add ‘jfs’ mapping (create-jfs-file-system): New procedure. (format-user-partitions): Use it. * gnu/installer.scm (set-installer-path): Add jfsutils.
2020-01-05installer: Fix typo.Tobias Geerinckx-Rice
* gnu/installer/parted.scm (create-btrfs-file-system): Fix typo in docstring.
2019-09-25installer: Update to Guile-Parted 0.0.2 release.Mathieu Othacehe
* gnu/installer/parted.scm (data-partition?, metadata-partition?, freespace-partition?, normal-partition?, extended-partition?, logical-partition?): Remove, as now provided by Guile-Parted. * gnu/installer/newt/partition.scm (run-disk-page): Remove disk-destroy calls, replace disk-delete-all by disk-remove-all-partitions and disk-delete-partition by disk-remove-partition*.
2019-06-05installer: Always add '%base-initrd-modules' to 'initrd-modules'.Ludovic Courtès
Fixes <https://bugs.gnu.org/36099>. Reported by Jonathan Brielmaier <jonathan.brielmaier@web.de>. * gnu/installer/parted.scm (initrd-configuration): Add %BASE-INITRD-MODULES to the 'initrd-modules' field.
2019-05-19installer: Fix Guile-Parted crash on i686. v1.0.1Ludovic Courtès
Fixes <https://bugs.gnu.org/35783>. This is a followup to 7d567af46b4e10ffafb1d0f76b524f5781460598. * gnu/installer/parted.scm (auto-partition!): Append ESP-PARTITION, when it is true, to the result of 'create-adjacent-partitions!'. * gnu/installer/newt/partition.scm (run-partioning-page): Remove 'initial-partitions' variable, and remove call to 'create-special-user-partitions'. Co-authored-by: Mathieu Othacehe <m.othacehe@gmail.com>
2019-05-15installer: Rename 'auto-partition' to 'auto-partition!'.Ludovic Courtès
This is a followup to 7d567af46b4e10ffafb1d0f76b524f5781460598. * gnu/installer/parted.scm (create-adjacent-partitions): Rename to... (create-adjacent-partitions!): ... this. Make private. (auto-partition): Rename to... (auto-partition!): ... this. * gnu/installer/newt/partition.scm (run-partioning-page): Adjust accordingly.
2019-05-14installer: Fix docstring.Danny Milosavljevic
* gnu/installer/parted.scm (create-fat32-file-system): Fix docstring.
2019-05-14installer: Add fat16.Danny Milosavljevic
* gnu/installer/parted.scm (user-fs-type-name): Add fat16. (user-fs-type->mount-type): Add fat16. (create-fat16-file-system): New procedure. (format-user-partitions): Use it.
2019-05-14installer: Create btrfs file system.Danny Milosavljevic
Fixes <https://bugs.gnu.org/35655>. * gnu/installer/parted.scm (create-btrfs-file-system): New procedure. (format-user-partitions): Use it.
2019-03-27installer: Produce an 'initrd-modules' field if needed.Ludovic Courtès
* gnu/installer/parted.scm (root-user-partition?): New procedure. (bootloader-configuration): Use it. (user-partition-missing-modules, initrd-configuration): New procedures. (user-partitions->configuration): Call 'initrd-configuration'.o * gnu/installer.scm (not-config?): Rename to... (module-to-import?): ... this. Add cases to exclude non-installer and non-build (gnu …) modules. (installer-program)[installer-builder]: Add GUIX to the extension list.
2019-03-27installer: Emit 'bootloader' field before 'swap-devices'.Ludovic Courtès
* gnu/installer/parted.scm (user-partitions->configuration): Move 'bootloader' section above 'swap-devices'.
2019-03-25installer: Set the system's 'keyboard-layout' field.Ludovic Courtès
* gnu/installer/newt/keymap.scm (keyboard-layout->configuration): New procedure. * gnu/installer.scm (compute-keymap-step): Return RESULT. (installer-steps) <'keymap>: Add 'configuration-formatter' field. (installer-program): Use (gnu installer newt keymap). * gnu/installer/parted.scm (bootloader-configuration): Set 'keyboard-layout'.
2019-02-18gnu: Fix some typos in the installer.Tobias Geerinckx-Rice
* gnu/installer/connman.scm (connman-connect-with-auth): Fix typo in documentation. * gnu/installer/newt/keymap.scm (sort-variants): Likewise. * gnu/installer/newt/page.scm (run-listbox-selection-page): Likewise. * gnu/installer/parted.scm (mkpart): Likewise. * gnu/installer/newt/utils.scm (destroy-form-and-pop): Likewise. * gnu/installer/newt/wifi.scm (run-unknown-error-page): Fix typo. (wifi-listbox-heigth): Rename to… (wifi-listbox-height): …this, and adjust caller. * gnu/installer/timezone.scm (locate-childrens): Rename to… (locate-children): …this. Adjust all callers.
2019-01-17installer: "formating" → "formatting".Ludovic Courtès
* gnu/installer/newt/partition.scm, gnu/installer/parted.scm: Replace "formating" with "formatting".
2019-01-17installer: parted: Do not call BLKRRPART on loop devices.Mathieu Othacehe
* gnu/installer/parted.scm (with-delay-device-in-use?): Return immediately if the file-name passed as argument designates a loop device.
2019-01-17installer: Various renamins follow-up.Mathieu Othacehe
s/path/file and s/crypt/encrypt. * gnu/installer/newt/partition.scm: Apply renamings. * gnu/installer/parted.scm: Ditto.
2019-01-17installer: Various renamings.Mathieu Othacehe
1. s/partitionment/partitioning/ 2. s/crypted/encrypted/ * gnu/installer.scm (installer-steps): Apply renamings. * gnu/installer/newt/partition.scm (run-disk-page): ditto, * gnu/installer/parted.scm (auto-partition): ditto, (luks-format-and-open): ditto, (luks-close): ditto, (user-partitions->configuration): ditto.
2019-01-17installer: parted: Use read-luks-partition-uuid instead ofMathieu Othacehe
find-partition-by-luks-uuid. * gnu/installer/parted.scm (user-partition->mapped-device): Replace read-luks-partition-uuid by find-partition-by-luks-uuid, (user-partition->file-system): only compute uuid if the partition is not encrypted.
2019-01-17installer: partionment: Add encryption support.Mathieu Othacehe
* gnu/installer.scm (set-installer-path): Add cryptsetup. * gnu/installer/newt/partition.scm (prompt-luks-passwords): New procedure, (run-partioning-page): Add the possibility to set encryption to "On" on a partition and choose a label, add a new partition scheme: "Guided - using the entire disk with encryption", prompt for encryption passwords before proceeding to formating. * gnu/installer/parted.scm (<user-partition>)[crypt-label], [crypt-password]: New fields, (partition-description): add the encryption label, (user-partition-description): add an encryption field, (auto-partition): add two partitioning schemes: entire-crypted-root and entire-crypted-root-home, (call-with-luks-key-file): new procedure, (user-partition-upper-path): new procedure, (luks-format-and-open): new procedure, (luks-close): new procedure, (format-user-partitions): format and open luks partitions before creating file-system. (mount-user-partitions): use the path returned by user-partition-upper-path, (umount-user-partitions): close the luks partitions, (user-partition->file-system): set device field to label for luks partitions and to uuid for the rest, (user-partition->mapped-device): new procedure, (user-partitions->configuration): add mapped-devices field.
2019-01-17installer: partition: Fix swaping and use syscalls.Mathieu Othacehe
* gnu/installer/parted.scm (start-swaping): Remove it, (stop-swaping): Remove it, (start-swapping): New procedure using swapon syscall, (stop-swapping): New procedure using swapoff syscall, (with-mounted-partitions): Use previous start-swapping and stop-swapping procedures.
2019-01-17installer: Add partitioning support.Mathieu Othacehe
* gnu/installer.scm (installer-steps): Add partitioning step. * gnu/installer/newt.scm (newt-installer): Add partition-page field. * gnu/installer/newt/partition.scm: New file. * gnu/installer/parted.scm: New file. * gnu/installer/record (installer): New partition-page field. * gnu/local.mk (GNU_SYSTEM_MODULES): Add new files. * po/guix/POTFILES.in: Add new files.