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
2023-06-12Update bootctl --path option to --esp-path (#1854)codefiles
2023-06-12Added a service-started wait timer for keyring.timer (#1858)Anton Hvornum
* Added a service-started wait timer for keyring.timer, and then we check the service state for keyring.service. This is because the .service can be 'dead' right from the start without the timer ever have started. This ensures that we wait for the timer to kick in before we monitor for the .service execution * Removed pacman-init.service wait timer, as we can rely on keyring.timer instead: https://github.com/archlinux/archinstall/issues/1846#issuecomment-1586872920
2023-06-05Move locales and cleanup menu (#1814)Daniel Girtler
* Cleanup imports and unused code * Cleanup imports and unused code * Update build check * Keep deprecation exception * Simplify logging * Move locale into new sub-menu --------- Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-05-15Add custom mirror support (#1816)Daniel Girtler
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-05-11Cleanup imports and unused code (#1801)Daniel Girtler
* Cleanup imports and unused code * Update build check * Keep deprecation exception * Simplify logging --------- Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-05-04Remove obsolete enabling of NTP in ISO (#1729)Daemon Coder
* Remove obsolete enabling of NTP in ISO * Fixed flake8 linting * Remove `activate_ntp()` * Update comment --------- Co-authored-by: Anton Hvornum <anton@hvornum.se>
2023-05-04Fix 1780 (#1782)Daniel Girtler
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-05-03Fixing starting of service via str argument (#1779)Anton Hvornum
2023-05-03Full mypy compliance and small fixes (#1777)Daniel Girtler
* Fix mypy compliance --------- Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2023-04-19PyParted and a large rewrite of the underlying partitioning (#1604)Daniel Girtler
* Invert mypy files * Add optional pre-commit hooks * New profile structure * Serialize profiles * Use profile instead of classmethod * Custom profile setup * Separator between back * Support profile import via url * Move profiles module * Refactor files * Remove symlink * Add user to docker group * Update schema description * Handle list services * mypy fixes * mypy fixes * Rename profilesv2 to profiles * flake8 * mypy again * Support selecting DM * Fix mypy * Cleanup * Update greeter setting * Update schema * Revert toml changes * Poc external dependencies * Dependency support * New encryption menu * flake8 * Mypy and flake8 * Unify lsblk command * Update bootloader configuration * Git hooks * Fix import * Pyparted * Remove custom font setting * flake8 * Remove default preview * Manual partitioning menu * Update structure * Disk configuration * Update filesystem * luks2 encryption * Everything works until installation * Btrfsutil * Btrfs handling * Update btrfs * Save encryption config * Fix pipewire issue * Update mypy version * Update all pre-commit * Update package versions * Revert audio/pipewire * Merge master PRs * Add master changes * Merge master changes * Small renaming * Pull master changes * Reset disk enc after disk config change * Generate locals * Update naming * Fix imports * Fix broken sync * Fix pre selection on table menu * Profile menu * Update profile * Fix post_install * Added python-pyparted to PKGBUILD, this requires [testing] to be enabled in order to run makepkg. Package still works via python -m build etc. * Swaped around some setuptools logic in pyproject Since we define `package-data` and `packages` there should be no need for: ``` [tool.setuptools.packages.find] where = ["archinstall", "archinstall.*"] ``` * Removed pyproject collisions. Duplicate definitions. * Made sure pyproject.toml includes languages * Add example and update README * Fix pyproject issues * Generate locale * Refactor imports * Simplify imports * Add profile description and package examples * Align code * Fix mypy * Simplify imports * Fix saving config * Fix wrong luks merge * Refactor installation * Fix cdrom device loading * Fix wrongly merged code * Fix imports and greeter * Don't terminate on partprobe error * Use specific path on partprobe from luks * Update archinstall/lib/disk/device_model.py Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com> * Update archinstall/lib/disk/device_model.py Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com> * Update github workflow to test archinstall installation * Update sway merge * Generate locales * Update workflow --------- Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com> Co-authored-by: Anton Hvornum <anton@hvornum.se> Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com> Co-authored-by: codefiles <11915375+codefiles@users.noreply.github.com>
2023-04-19Remove superfluous time sync steps (#1752)codefiles
2023-04-04Fix sd-boot code duplication (#1721)codefiles
2023-03-30Update `SysCommand()` calls in `installer.py` (#1703)codefiles
2023-03-29Use `pacstrap -K` (#1693)codefiles
2023-03-29Save encryption configuration (#1672)Daniel Girtler
* Save encryption configuration * Fix deserialization problem * Added .part_uuid to MapperDev --------- Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com> Co-authored-by: Anton Hvornum <anton@hvornum.se> Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
2023-03-14Fixed flake8 warnings (#1676)Yunus Emre Aydın
2023-03-10Initial swapfile prototype (#1558)chestwood96
* Initial swapfile prototype * add_swapfile different exception handling * Added error handling to add_swapfile prototype --------- Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
2023-03-10Generate -fallback variant of boot entries for systemd-boot (#1583)Escape0707
* Generate -fallback variant of boot entries for systemd-boot --------- Co-authored-by: Anton Hvornum <anton@hvornum.se>
2023-02-27Rename "peak_output" to "peek_output" (#1648)jaybent
* Rename "peak_output" to "peek_output" * Added backwards compatability * Added deprecated warning to peak_output --------- Co-authored-by: Anton Hvornum <anton@hvornum.se>
2023-02-27Patch for 1557 (#1645)Anton Hvornum
* Attempting a retry-attempt on the broken part of lsblk * Improved logging * Adding a retry to Partition._call_lsblk() * Added error checks if lsblk returns nothing, also handles empty Partition().info instance. * Added missing check of disk encryption is None or not. * Added tweak to catching output from lsblk.stderr * Added missing check of disk encryption is None or not. * Fixed a logic test for empty lsblk info * Fixed instances of None being interated * Added some errro handling for weird block devices * Fixed flake8 * Added /etc/vconsole.conf generation in Installer.mkinitcpio() as it's a dependency for it to generate properly without errors. Otherwise we'll get ==> ERRROR: file not found: '/etc/vconsole.conf' * Prep for tagging RC1 of 2.5.3 * Corrected helpers.py get_blockdevice_info() to deal with empty lsblk results
2022-11-11New encryption menu (#1520)Daniel Girtler
* New encryption menu Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com> Co-authored-by: Anton Hvornum <anton@hvornum.se>
2022-11-11Remove intel_pstate kernel parameter (#1541)Gianmatteo Palmieri
2022-10-03Add hostname and locales as parameters to `minimal_installation()` (#1458)codefiles
2022-09-19Add compression to /etc/fstab for btrfs subvolumes (#1473)Anton Hvornum
* Adding a btrfs compression plugin to genfstab * Allowing the genfstab plugin to break on success
2022-08-28Removed debuggingAnton Hvornum
2022-08-28Fix permission flags on all the log files created (#1440)Anton Hvornum
* Changed permissions on the logs stored in /var/log/archinstall. Also cleaned up one of the saves to have the same syntax as the others * Tweaked secondary encryption password detection logic, as it wouldn't take it from the main arguments[] otherwise. * Changed permission on cmd_output.txt * Changed permission on cmd_history.txt
2022-08-14Fix boot entry containing subvolume definition when no subvolumes were ↵Anton Hvornum
selected (#1424) * Attempting fix by looking at the subvolume 'name', <FS_TREE> should indicate it's a root block and not a root subvolume
2022-08-12Fixing double insertion of encoding in locale.gen/locale.conf (#1421)Anton Hvornum
* A temporary fix for #1200, in the long run we need something like what was mentioned in the issue comments: https://github.com/archlinux/archinstall/issues/1200#issuecomment-1212754806 * Enabled the use of modifier detection and getting it in right * Mistaken a split * Adding less strict decoding of output log, this in order to handle the more correct locale generation introduced in this PR.
2022-08-12Spelling error on .replace()Anton Hvornum
2022-08-12Fix flake8 issue that slinked in.Anton Hvornum
2022-08-12Fixed small issues with how Installation.chown() was called.Anton Hvornum
2022-08-11Fix check for additional repositories (#1391)codefiles
* Fix typos * Fix check for additional repositories
2022-08-10Fixing a list access issue (#1416)Anton Hvornum
2022-08-09Converted paths to pathlib.Path and mount points to detect properly (#1412)Anton Hvornum
* Converted a path to pathlib.Path * Using Partition.mountpoints instead of Partition.mountpoint * Update mapperdev.py * Added .mountpoints to MapperDev * Spelling error
2022-08-01Change regex expression only to match #[multilib] string (#1364)0xShree
* Changed regex expression only to match [multilib] string * Update multilib regex expression * Update regex expression Add raw string format
2022-08-01- Fix KeyError exceptions (#1354)virtual-meme-machine
2022-06-06Update the subvolume menu - fix for #1278 (#1297)Daniel Girtler
* Update subvolume * Add mypy compliance Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com> Co-authored-by: Anton Hvornum <anton@hvornum.se>
2022-05-29Made sure generate-encryption-key-file is set for supplementary partitions ↵Anton Hvornum
to / (#1281)
2022-05-29Moved genfstab() to guided.py instead of __exit__ of Installer(). This is a ↵Anton Hvornum
breaking change.
2022-05-29Fix typos (#1265)Kian-Meng Ang
2022-05-27Version bump in prep for release + fixed a variable issueAnton Hvornum
2022-05-27Removed usage of deprecated functionAnton Hvornum
2022-05-27Fix mixup of mount options and fstype during mount (#1258)Anton Hvornum
Fixed issue where `options` wasn't passed as `options=options` and got mixed up as fs-type.
2022-05-27Fix dual-booting (#1250)Anton Hvornum
# Fixes * Optimized partition lookups * Fixed re-use of partition UUID's * `BlockDevice().get_partition()` now supports looking up both `PARTUUID` and `UUID` for a partition under itself * Partitions listed in `--disk-layout` that doesn't have a PARTUUID/UUID should no longer cause an exception, but instead logs a warning and they will simply be ignored * `Filesystem().add_partition()` now handles `DiskError` raised by `partition.part_uuid` * Fixed issue on normal partitions where the device was not properly frozen in `lambda` calls, meaning two or more mount-points shared the same `device_instance`. * Lowered global `DISK_RETRY_ATTEMPTS` to 5, as the timeouts are linear *(`range(DISK_RETRY_ATTEMPTS) * DISK_TIMEOUTS`)*
2022-05-26Rework user management (#1220)Daniel Girtler
* Rework users * Update user installation * Fix config serialization * Update * Update schemas and documentation * Update * Fix flake8 * Make users mypy compatible * Fix minor copy Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com> Co-authored-by: Anton Hvornum <anton@hvornum.se>
2022-05-26Forgot to check for HSM while mounting ordered layoutAnton Hvornum
2022-05-26Rework btrfs handling (#1234)Anton Hvornum
* Restructuring btrfs.py into lib/btrfs/*.py * Reworking how BTRFS subvolumes get represented, and worked with. Subvolumes are now their own entity which can be used to access it's information, parents or mount location. * Added BtrfsSubvolume.partition and other stuff. * Reworking the way luks2().unlock and .format() returns device instances. They should now return BTRFSSubvolume where appropriate. * Fixed a missing import * Fixed an issue where mkfs.btrfs wouldn't trigger due to busy disk. * Fixing subvol mounting without creating a fake instance. * Added creation of mountpint for btrfs subvolume * Fixed root detection * Re-worked mounting into a queue system using frozen mounting calls using lambda * Removed old mount_subvolume() function * Removed get_subvolumes_from_findmnt() * Fixed Partition().subvolumes iteration * Adding .root to BtrfsSubvolume * Fixed issue in SysCommandWorker where log output would break and crash execution due to cmd being a string vs list * Changed return-value from MapperDev.mountpoint to pathlib.Path
2022-05-21Don't check for exit code since SysCallError will be raised (#1228)Luna
2022-05-19Clarify info message about profile installation (#1219)Didr
2022-05-18Added a HSM menu entry (#1196)Anton Hvornum
* Added a HSM menu entry, but also a safety check to make sure a FIDO device is connected * flake8 complaints * Adding FIDO lookup using cryptenroll listing * Added systemd-cryptenroll --fido2-device=list * Removed old _select_hsm call * Fixed flake8 complaints * Added support for locking and unlocking with a HSM * Removed hardcoded paths in favor of PR merge * Removed hardcoded paths in favor of PR merge * Fixed mypy complaint * Flake8 issue * Added sd-encrypt for HSM and revert back to encrypt when HSM is not used (stability reason) * Added /etc/vconsole.conf and tweaked fido2_enroll() to use the proper paths * Spelling error * Using UUID instead of PARTUUID when using HSM. I can't figure out how to get sd-encrypt to use PARTUUID instead. Added a Partition().part_uuid function. Actually renamed .uuid to .part_uuid and created a .uuid instead. * Adding missing package libfido2 and removed tpm2-device=auto as it overrides everything and forces password prompt to be used over FIDO2, no matter the order of the options. * Added some notes to clarify some choices. * Had to move libfido2 package install to later in the chain, as there's not even a base during mounting :P