Commit Graph

2677 Commits

Author SHA1 Message Date
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
Anton Hvornum 32135f0b46
!= -> is not 2022-01-01 22:05:01 +01:00
Anton Hvornum ffa29e2cd4
Ignoring complex-functions in guided.py (couldn't find a way to specifically ignore C901 for ask_user_questions() alone) 2021-12-31 16:08:27 +01:00
Anton Hvornum ec4feade61 Adds amdgpu and radeon to the kernel modules, in the right order. (#823) 2021-12-31 16:05:35 +01:00
Daniel 638a05243c
Enable multiple mirror selection #457 (#809)
Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
2021-12-31 15:36:05 +01:00
Werner Llácer 7f9b7991e9
Btrfs2 (#787)
* 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-31 13:47:41 +01:00
Anton Hvornum c3e2b99316 runas -> run_as 2021-12-31 12:50:48 +01:00
Anton Hvornum cad911893d
Bringing in changes from v2.3.1-dev branch. This fixes a selection of things mentioned in #819. 2021-12-31 12:33:01 +01:00
remLse c6b499cf47
Update documentation (#803)
* Add guide for building docs locally

* Update documentation

- Fix typos
- Fix some formatting
- Fix broken links
- Improve readability of json profile specification
2021-12-18 19:01:40 +01:00
Anton Hvornum 7a01841586
Changed lsblk to blkid where possible (#802)
* Swapped lsblk for blkid
* Added a hefty sleep on partprobe()

And added a TODO for the future
2021-12-16 09:00:10 +00:00
Anton Hvornum 3c2e71b4bb
PR #797 - Remove network-manager-applet from XFCE4 package list 2021-12-12 20:43:52 +00:00
Dylan M. Taylor dff2d2bd0e
Remove network-manager-applet from XFCE4 package list
Based on discussion in #777 it seems like this forces NetworkManager which is not desired. We need a way to detect network manager being selected and install this only in that case.
2021-12-12 13:58:08 -05:00
Wilhelm Åkermark b0c8346fa7
Fixing possible race condition with partprobe (#796)
* Update partition.py

* Added sleep after partprobe

Added sleep after partprobe. Without this tools such as lsblk may be unable to retrieve certain properties of devices (such as partuuid).
2021-12-12 08:58:24 +01:00
Anton Hvornum c0b83e7f2f
Merge pull request #792 from MichaelMai2000/patch-1
fix logic: could not detect root **or** boot
2021-12-10 14:37:23 +00:00
MTC 9e840bd9ef
Merge branch 'archlinux:master' into patch-1 2021-12-11 00:12:16 +11:00
MTC 5a70efe284
fix logic: could not detect root **or** boot 2021-12-11 00:10:43 +11:00
Anton Hvornum dbb3c0a30e
Merged PR #790 - Fixes `(default)` issues in menu selection
Add handling of default options in multi-choice menus
2021-12-07 14:43:17 +00:00
Didr e344021b58
Add handling of default options in multi-choice menus
In multiple choice menu: Return `self.default_option` instead of visible name if visible name contains " (default)".
2021-12-07 14:54:59 +01:00
Anton Hvornum b1b820f4cb
Fixing some mypy complaints (#780)
* Fixed some mypy issues regarding SysCommand* and logging
* Fixed imports and undefined variable
2021-12-02 21:20:31 +01:00
Daniel 908c7b8cc0
Add simple menu for better UX (#660)
* Add simple menu for better UX
* Add remove external dependency
* Fix harddisk return value on skip
* Table output for partitioning process
* Switch partitioning to simple menu
* fixup! Switch partitioning to simple menu
* Ignoring complexity and binary operator issues
Only in simple_menu.py
* Added license text to the MIT licensed file
* Added in versioning information
* Fixed some imports and removed the last generic_select() from user_interaction. Also fixed a revert/merged fork of ask_for_main_filesystem_format()
* Update color scheme to match Arch style better
* Use cyan as default cursor color
* Leave simple menu the same

Co-authored-by: Daniel Girtler <girtler.daniel@gmail.com>
Co-authored-by: Anton Hvornum <anton.feeds+github@gmail.com>
Co-authored-by: Dylan M. Taylor <dylan@dylanmtaylor.com>
2021-12-02 21:17:51 +01:00
Anton Hvornum 22ee2d90a1
Merged PR #775 - Adds version to user_conf.json
Adds version to user_configuration.json
2021-11-28 10:32:48 +00:00