Send patches - preferably formatted by git format-patch - to patches at archlinux32 dot org.
summaryrefslogtreecommitdiff
path: root/archinstall/lib/installer.py
AgeCommit message (Collapse)Author
2022-01-15Changes to take correctly the 'kernels' argument (cf. isssue 868) (#869)Werner Llácer
2022-01-07Fixed import error ModuleType (#848)Anton Hvornum
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
2022-01-07Btrfs II (#838)Werner Llácer
* Btrfs with encrypted partitions. We have changed installer.mount_ordered_layout into a series of loops * open the encrypted devices * manage btrfs subvolumes * mount whatever * create kyefiles for encrypted volumes We have simplified the btrfs subvolume manager We merged the locale branch as it is needed here * We allow only the creation of keyfiles if the partition does not contain the root mount point. Also, adapt examples/only_hd to the new __init__.py Also, assorted flake8 warnings * Cleanup code * Naming schema for encrypted volumes revert global locale association (provisional) * We introduce the option of defining mount options in the partition dictionary. It has forced us to define two new entries in this dictionary: * format_options (formerly options) for mkfs options and * mount_options for mount -o ones. The different meaning of compress between partition and subvolumes is treated * Function lib/disk/btrfs.py mount_subvolume marked as deprecated Code cleanup. * format_options now filesystem.options * format_options now filesystem.format_options mount_options nof filesystem.mount_options * flake8 uncovered a slip in the code
2022-01-06Added type annotations to all functions (#845)Anton Hvornum
* Added type annotations for 1/5 of the files. There's bound to be some issues with type miss-match, will sort that out later. * Added type hints for 4/5 of the code * Added type hints for 4.7/5 of the code * Added type hints for 5/5 of the code base * Split the linters into individual files This should help with more clearly show which runner is breaking since they don't share a single common name any longer. Also moved mypy settings into pyproject.toml * Fixed some of the last flake8 issues * Missing parameter * Fixed invalid lookahead types * __future__ had to be at the top * Fixed last flake8 issues
2022-01-02Adding a Pipewire application profile (#821)Anton Hvornum
* Adding a Pipewire application profile This to better manage the pipewire setup process and minimize guided a bit. This also adds the concept of @archinstall.plugin decorators to add a plugin in run-time. Which pipewire uses to detect user creation and enable the pipewire-pulse service for new users. * Forgot to run .install() on pipewire Application() * Backwards compatible variable insertion for installation session
2022-01-01!= -> is notAnton Hvornum
2021-12-31Btrfs2 (#787)Werner Llácer
* All the changes needed to make btrfs subvolumes work. It boils down to two points; the handling of the addressing of subvolumes re. physical partitions, and the small changes at the bootloader level * We added a new script only_hd for testing purposes. It only handles hadrd drive management * restoring an escape hatch during subvolume processing * hipercommented manage_btrfs_subvolumes * Ready to be able to select and process options in subvolume mounting * Separte nodatacow processing * Solving a flake8 complain * Use of bind names @ get_filesystem_type * compress mount option bypass * Preparations for encryption handling * Compatibility to master version re. encrypted btrfs volumes * Now we can create subvolumes and mountpoints inside an encrypted btrfs partition * changes for entries file generation with systemd-bootctl * flake8 corrections plus some comments Co-authored-by: Anton Hvornum <anton@hvornum.se>
2021-12-31Bringing in changes from v2.3.1-dev branch. This fixes a selection of things ↵Anton Hvornum
mentioned in #819.
2021-12-11fix logic: could not detect root **or** bootMTC
2021-11-24Removed silent 'ok' on mkdir and path for chmod on crypttab setup (#768)Anton Hvornum
* Removed silent 'ok' on mkdir for encryption key dir * Fixed chmod path during crypttab setup
2021-11-24Issue #764 Modify inclusion of self.BINARIES entry due to a mistype (#765)Werner Llácer
* Modify inclusion of self.BINARIES entry due to a mistype
2021-11-24Support encrypting multiple partitions (#759)Anton Hvornum
* Added support for storing disk encryption keyfiles and add them to a keyslot. * Added a luks2().add_key() function in order to inject a keyfile into a keyslot on a encrypted volume. * Simplified 'missing encryption password' logic in Filesystem(). Added a call to luks2().add_key() after the root-password is set on the volume, to add the keyfile in slot 2 * Adding in password handling in luks2().add_key(). It's required to enter a previous passphrase to unlock the volume and add a new keyslot. Also simplified the handling of partition in Installer().mount_ordered_layout() * Adding in encryption on all partitions except /boot when encryption is opted in * Removed setting size on Partition() as it's a read only value. No idea how Partition().size = size hasn't caused an issue before. Removed size=X argument to Partition() * Added a uniqueness to the loopdevice name. This should ensure that multiple encrypted volumes can be opened at the same time, except for Partition().detect_inner_filesystem() operations which can only happen one at a time since they share namespace. This should never be an issue since archinstall is single threaded and no concurrent operations can/should happen. * Added partprobe() as part of disk/helpers.py, added a /dev/ -> UUID mapper function called convert_device_to_uuid(path). Added a luks2().crypttab() function that sets up a /etc/crypttab entry. * Moved the responsability for telling archinstall to generate a keyfile from Filesystem() to user_interaction.py. This should in the future be a user-input based value, and not something the Filesystem() automatically dictates. * Added a retry mechanism to luks2().encrypt() to avoid having to re-start the installation when a device simply wasn't up yet. * Swapping UUID= lookup from loopdev to physdev.
2021-11-23Add accessibility packages to installed system if using the on the live ISO ↵Dylan M. Taylor
(#760) * Add group of accesibility tools * Conditionally extend base packages * Enable it if accessibility in use in guided * Fix circular import
2021-11-22NTFS Root Filesystem Support (#748)Dylan M. Taylor
* For fun, allow NTFS as a root filesystem type Add ability to format a filesystem as NTFS Try to force filesystem type Fix FAT mounting * Split out mount fs type method * Handle rootfstype on non-GRUB bootloaders * Add -Q to mkfs.ntfs command line for quick formatting * I believe this will fix GRUB with NTFS root * Remove the fsck hook if NTFS is used as the root partition * Looks like the string is ntfs3 not ntfs so this logic wasn't running
2021-11-17Fixing broken encryption support in GRUB (#724)Anton Hvornum
* Added multiple `partprobe` calls and added a `.partprobe()` function on partitions, filesystem and blockdevice. * Adding retry attempts to all UUID related operations tied to the boot process * Tweaked logging for mounting and disk related operations * Removed potential SysCall exception disruptor causing exceptions to go by unnoticed * Increased the start position from 1MiB to 5MiB of /boot partition * Optimized the GRUB installation & config code * Improved Partition().uuid to never return None. Instead it will raise an exception if it can't get a PARTUUID within X retries with Y delay per attempt. * Increased sleep timer for partition uuid retrieval, because even with a 3 second sleep it wasn't long enough even on fast devices. * Make GRUB install to /dev/sda instead of /dev/sda1. * Added 10 retries for retreiving PARTUUID with a one second sleep. Instead of increasing the sleep simply add more retries until we find a good balance on slower disks.
2021-11-17Merge PR #716 - Support for efistub-bootloader (API only)Anton Hvornum
Add EFISTUB bootloader support through config/api calls using: ```json { "bootloader": "efistub", "kernels": [ "linux", "linux-lts" ] } ```
2021-11-16Clarification on boot entries when using multiple kernelsAnton Hvornum
2021-11-16Safe dictionary retrievalAnton Hvornum
2021-11-16removed redundant importAnton Hvornum
2021-11-16Removed redundant boot-partition retrieval.Anton Hvornum
2021-11-16Linting issuesAnton Hvornum
2021-11-16Added more logging for debugging purposesAnton Hvornum
2021-11-16Improved error message when failing to detect mount information.Anton Hvornum
2021-11-16Fix unknown-ucode message for EFISTUB bootloaderEttore Forigo
2021-11-15Fix boot partition detection for EFISTUB bootloaderEttore Forigo
2021-11-14Add EFISTUB bootloader supportEttore Forigo
2021-11-11Modified last few places where password gets set.Anton Hvornum
2021-11-07Fixes #690 by Clearing storage['active_boot'] if shutdown was successful (#691)Anton Hvornum
* Clear storage variable if shutdown was successful * Adding shutdown monitoring and debug output. * It seams systemd-run gets a connection reset from running 'shutdown now', but in a good way - so it doesn't raise any exceptions. Or at least that's what it looks like.
2021-11-06Merge branch 'master' of https://github.com/archlinux/archinstall into ↵Anton Hvornum
torxed-fix-109
2021-11-06Added mimic function for file operationsAnton Hvornum
2021-11-06Update installer.pyAnton Hvornum
2021-11-05Fixed default zram conf location and importsAnton Hvornum
2021-11-05Fixed newline in zram confAnton Hvornum
2021-11-05Fixed broken import from masterAnton Hvornum
2021-11-05Fixed broken import from master (GRUB non-EFI might be wonky)Anton Hvornum
2021-11-05Stripped down the default zram configuration for zram-generatorAnton Hvornum
2021-11-05Merged latest masterAnton Hvornum
2021-11-05Merged in master changesAnton Hvornum
2021-11-05Fix import systemd.BootAnton Hvornum
2021-11-05Added more information to the NTP log line.Anton Hvornum
2021-11-05Renamed the ntp function, as it doesn't install/enable ntp any longer. Even ↵Anton Hvornum
tho it uses the NTP protocol.
2021-11-05Merge branch 'master' of github.com:archlinux/archinstall into torxed-fix-682Anton Hvornum
2021-11-05Cleaned up all flake8 issues/warnings. Did some code cleaning as well, ↵Anton Hvornum
mostly how we called things in guided.py but also some SysCommand calls
2021-11-02flake8 fix, trailing semicolonAnton Hvornum
2021-11-02Made sure there's a default config that's 'sane'Anton Hvornum
2021-11-02Removed pacstrap of ntpd as it's redundant. Also enabled the ↵Anton Hvornum
systemd-timesyncd service before running a command against it.
2021-11-02Changed from ntpd service to systemd-timesyncd.Anton Hvornum
2021-11-01Improved run_as for installation.arch_chroot()Anton Hvornum
2021-11-01Added a wrapper to create files inside the installation as/for a specified usedAnton Hvornum
2021-11-01Adding in enabling of zram serviceAnton Hvornum