Commit Graph

2697 Commits

Author SHA1 Message Date
Dylan M. Taylor fe9fb988c9
Move from the basic pipewire media session manager to wireplumber (#914) 2022-01-27 18:01:06 +01:00
OneLongneck f0886f3a7f
Update installer.py (#1) (#793)
Added "--removable" after "--bootloader-id=GRUB" on Line 669, because it would throw an input/output error without it on my laptop
2022-01-26 09:38:01 +01:00
Dylan M. Taylor 90e320dd11
Allow mirror reachability check to be skipped (#910)
* Allow network check to be skipped

* Technically it is a mirror check - not a check for general connectivity
2022-01-26 07:53:38 +01:00
Werner Llácer e629729d55
Correct definition of btrfs standard layout (#906) 2022-01-25 18:12:45 +01:00
Anton Hvornum 1aa738691e
Fixing the 'device_instance' being None in some partition places (#902)
* Added a new return value from add_partition. Also added an exception to make sure `add_partition` can't continue silently

* Added a log of debugging to add_partition

* Removed a blank line (flake8)

* Misconfigured variable

* Added some more debugging information to partprobe

* FIX: disk layout: partprobe should be called and checked only for target device (#896)

* disk layout: partprobe should be called and checked only for target device

* disk layout: partprobe: removed unnecessary bash subprocess

* Properly defined BlockDevice() on Partition() creation. Also made sure mount-checks got some rrro handling and non-block devices should no longer attempt to return a size

Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
Co-authored-by: Victor Gavro <vgavro@gmail.com>
2022-01-25 16:09:34 +01:00
Dylan M. Taylor 5406f1ed45
Make text for getting filesystems more grammatically correct (#903)
* Make text for getting filesystems more grammatically correct

Use 'Retry attempt {count} of 10.' instead of Waiting for the {count} time". It's more grammatically correct since we're not doing '1st', '2nd', etc.

* Maybe mention waiting still
2022-01-25 15:31:38 +01:00
Victor Gavro eb712a9ca5
FIX: disk layout: partprobe should be called and checked only for target device (#896)
* disk layout: partprobe should be called and checked only for target device

* disk layout: partprobe: removed unnecessary bash subprocess
2022-01-25 14:45:28 +01:00
Anton Hvornum 26f9b681a4 Removed last lsblk to grab PARTUUID (#901)
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
2022-01-25 12:40:04 +00:00
Werner Llácer b5f50889eb
get rid of an exit() (#899) 2022-01-24 12:36:23 +01:00
Werner Llácer bb98594054
Solve issue #894 (#898)
some references to archinstall.storage turned to archinstall.arguments
2022-01-24 10:33:46 +01:00
Thomas 34488d25c5
Disable zswap (#883)
Disable zswap when using zram.

The swap device is now initialised before the bootloader, inline with the
installation guide.
2022-01-20 17:49:18 +00:00
Thomas 671bf7595c
Enable periodic TRIM (#882) 2022-01-20 16:32:07 +01:00
Werner Llácer c776e30191
Some issues at Guided.py (#878)
* Solves issue #873 (error by key sys-language
Now disk_layouts file contents are loaded before calling the menu

* Solves issue #873 (error by key sys-language. Solution in previous commit was still too restrictive
2022-01-18 20:57:30 +01:00
Werner Llácer 3d30a4eb28
Missing arguments after GlobalMenu execution (issue #868) (#871)
* Install.__init__ parameter kernel as a list everywhere.
I've dropped the string check, as it shouldn't happen again, and it's good that it fails, when it happens

* Global Menu now loads in the arguments dict all options enabled with default value and no manually selected (issue #868)
2022-01-15 21:44:13 +01:00
Werner Llácer 31f55e8d6b
Activate file write into only_hd and upgrade to guided.py level (#867) 2022-01-15 14:20:06 +01:00
Werner Llácer 6b4f09ef01
Changes to take correctly the 'kernels' argument (cf. isssue 868) (#869) 2022-01-15 14:17:04 +01:00
Anton Hvornum b533bd0553 Moved lib.plugin import to the top 2022-01-14 13:23:30 +01:00
Anton Hvornum da0c08e79a Added in version history in the configuration 2022-01-14 12:54:22 +01:00
Anton Hvornum f175ea8b7d
Created a save_user_configurations (#856)
* Created a save_user_configurations

This should avoid accidental placement of individual json outputs in a way that some doesn't get saved before installation continues etc.

* Was looking for disk_layouts in the wrong place.
* changed numerous other references to disk_layouts looking in the wrong place.
2022-01-14 11:48:56 +01:00
Anton Hvornum 8fae958571 Unified filesystem names by using get_mount_fs_type() function before .format() is called 2022-01-14 11:19:34 +01:00
Anton Hvornum bb37dae16b Added instructions on how to post logs publicly. 2022-01-14 10:23:16 +01:00
Anton Hvornum 7c20c8fb56 Improved mentions of logs and configuration files. This fixes #839 2022-01-14 10:03:56 +01:00
Anton Hvornum ae35f11e1a Changed the default btrfs layout to have @ as / 2022-01-14 08:47:34 +01:00
Anton Hvornum c88b250eac Version decrease in docs for master 2022-01-14 08:13:58 +01:00
Anton Hvornum 4bd07ea19f Merge branch 'master' of github.com:archlinux/archinstall 2022-01-14 08:11:30 +01:00
Anton Hvornum 0bc3e94c79 Version bump in docs 2022-01-14 08:11:23 +01:00
Werner Llácer e8b6b1b334
Restore generic_select function (#857)
* recreate generic_select and generic_multi_select functions

* flake8 complains

* Addressed some review issues
-> Options checks propagated to Menu(()
-> Options parameter inmutable at Menu()
-> Some text adapted
-> Sort will be handled by Menu()
-> Better handling of default value

* Solved the two problems found:
lack of list(dict.[keys/values] and impact in copy()
sideffects of renaming menu parameter options into p_options

* Now the problem of the copy was with a generator

* Add a log message whenever an "strange" object type is sent into Menu

* Validation of types has been streamlined.
Default values are now accesible to generic_select without restriction
2022-01-12 23:24:38 +01:00
Romain Goncalves c6fdf775c8
partition.py: Use exit code for mkfs.fat exception (#853)
When using archinstall on an existing Arch Linux installation, (e.g. for
migrating the current system on a new drive), no exception is raised if
mkfs.vfat is missing in the base install (no dosfstools package currently
installed).
2022-01-08 21:16:19 +01:00
Werner Llácer 116246b0e8
obsolete call for timezone changed (#850) 2022-01-07 12:54:45 +01:00
Anton Hvornum a14533818b Wrongly spelled import 2022-01-07 10:55:51 +00:00
Anton Hvornum 93f9d159bd
Fixed import error ModuleType (#848)
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
2022-01-07 10:54:29 +00:00
Daniel 1234261a7a
Global menu (#806)
* Global menu

* Fix flake8

* Refactor code

* Add documentation

* Fix flake8

* Add support for user flow mentioned in #799

* Move import

* Fix flake8 (again)

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
2022-01-07 10:48:23 +00:00
Werner Llácer 2190321eb4
Btrfs II (#838)
* 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-07 10:29:30 +00:00
HTV04 08d7375e62
Fix partition layout (#794)
* Fix partition layout

* Tweaked the numbers to match the alignment of previous partitions.

Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
2022-01-07 09:55:51 +00:00
Liam McNair 762cea1da8
Created config schema (#727)
* Created config schema

* Tweaked the schema to suit v2.3.0+

Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
2022-01-07 09:44:54 +00:00
Werner Llácer b63cf7cb15
- No treatement of disk_layouts_file (#844)
- Ordered exit
2022-01-06 23:27:56 +01:00
Werner Llácer a8862e9b24
Define an standard locale for all the commands executed (#827)
* Define an standard locale for all the commands executed inside the application

* Allow LC_ALL to be overriden during call

* flake8 corrections
2022-01-06 23:26:49 +01:00
Anton Hvornum e32cf71ae7
Added type annotations to all functions (#845)
* 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-06 22:01:15 +01:00
Anton Hvornum 015cd2a59f
Update simple_menu.py 2022-01-06 16:57:50 +01:00
Anton Hvornum 33c27db1ba
Update README.md 2022-01-05 23:44:37 +01:00
Anton Hvornum ddb0810af0
Improve documentation v2.3.1 (#843)
* Updated documentation

Mostly I've moved things around, cleaned up some dead paths and added more clarity.

* Cleaned up !superusers section

* Mentioning of accessibility
2022-01-05 23:42:06 +01:00
HTV04 a68a23d10a
Add prompt for /home partition (#801) 2022-01-04 13:31:21 +00:00
Ilario Gelmetti 3474176e64
examples/guided: if selected, activate NTP also in installer system (#831)
* Ask for NTP even if timezone is unset
* Ask for NTP before retrieving mirror list
* Activate NTP in the installer as soon as asked
* Removed excessive import
SysCommand is exposed through archinstall
* Removed f-string

Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
2022-01-02 22:45:44 +01:00
Anton Hvornum 240f688cce Adding a Pipewire application profile (#821)
* 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-02 16:38:02 +01:00
Anton Hvornum 93aa4aa6cc
Fix inspired by #804 to tweak the fix in v2.3.1-dev 2022-01-02 14:14:00 +01:00
Anton Hvornum b1af3eda83 Fixed issue #799. Where user prompt wouldn't be shown if a root password was set. 2022-01-02 14:11:00 +01:00
Werner Llácer b89408ab7b
Improved command line argument parsing (#725)
* An update to PR 715, making the handling of the *--mount-point* parameter less error prone.
I added a synomym (accepting the name both with underscore and dash) and ignoring when no value specified
I added it explicitly to the list to accept both the --parm value and --parm=value syntax
DOES NOT check the contents of the parameter
* Explicitly set all the know parameters
* Define explictly all parameters.
Make all non explicitly defined parameters behave as standard parameters, with on exception, names are not changed
Some cleanup of the code
In guided.py the reference to the dry_run parameter is updated to the standard naming convention for parameters
* Linter with flake8. corrections
* Linter with flake8. corrections (II)
* Linter with flake8. corrections (and III)
* Added --disk_layout argument. Was missing
I moved its loading from guided.py to __init__.py as it happens to the other json related arguments
* Better handling of errors during processing of the --disk_layouts parameter.
I define a routine to read an store a JSON file or stream. Tested on disk_layout
* Expand the former commit to all JSON file arguments
* Moved the function we created to read json files/streams to general.py. Add some comments
* flake8. A reference now unneded
* The merge process for the dry-run argument was causing the issue, not solving it
The del is just a cleanup for version upgrade without consequence (I hope)
* flake8 warning
* Correcting the last correction . Worked for old config files, but only for them
* New parameter parsing algorithm. More flexible and accepts multiple arguments (optionallY)
plus some documentation effort
* flake8 warning. For once is significant ( != None to not None)
2022-01-02 12:28:49 +01:00
Werner Llácer e388537bc3
better handling the skip partitioning option. (#778)
* better handling the skip partitioning option. plus sending some warnings to the user
* device configuration options taken out from ask_user_questions.
Forced by flake8
* Revert "device configuration options taken out from ask_user_questions."
This reverts commit 1b3cffb3df.
* Adapted to new selection ui
* Cleanup of obsolete code
* Changed colour of skip messages from red to yellow
* Flake8 comments
2022-01-02 12:01:19 +01:00
Anton Hvornum b7cb77caf9
Update README.md 2022-01-02 11:53:55 +01:00
Anton Hvornum 66ec8663e2
Update README.md 2022-01-02 11:41:14 +01:00