Anton Hvornum
d76760b45f
Removed old safety logics for partitions. Partitions will now always be formatted when .format() is called on them. The safety now lay in the code parsing the declerative partition layouts. Also added the encrypt/mount logic for encrypted partitions, which by default will be unencrypted unless a password is specified.
2021-06-13 14:25:07 +02:00
Iru Cai
c4edf34764
fix the case when there's --config but --silent is not set
2021-06-13 16:51:57 +08:00
Anton Hvornum
9b6d7021a8
This fixes https://github.com/archlinux/archinstall/pull/426#discussion_r650372664
2021-06-13 10:37:30 +02:00
Anton Hvornum
24476ac1f6
Made it so that the .partitions property of Install() fetches from live data, rather than storing and caching partitions on initation. Since it now supports mounting a partition layout given by external usage.
2021-06-11 17:22:20 +02:00
Anton Hvornum
0a8c061ab4
Fixed format detection on commands, should be using exit codes instead?
2021-06-10 21:00:33 +02:00
Anton Hvornum
adae29c205
vfat -> fat32, updated minimal
2021-06-10 20:40:28 +02:00
Anton Hvornum
4e9b1c1635
Renamed vfat -> fat32 for the purpose of consistency. Most actions are referring to fat32, it's only mkfs that has the notion vfat and then -F32 for format 32. And I think vfat confuses more people than it does good, so sticking with fat32 which works better with parted as well. Also added the partitioning logic, started on the mounting logic
2021-06-10 20:38:35 +02:00
Anton Hvornum
857b5c0c3e
Skipping bootloader selection if --bootloader was given.
2021-06-10 15:30:58 +02:00
Anton Hvornum
0946b73095
Merging in latest changes from master.
2021-06-10 15:27:02 +02:00
Yash Tripathi
fcd0acfef2
added --dry-run flag ( #570 )
...
* added --dry-run flag
2021-06-10 15:06:15 +02:00
Anton Hvornum
e8d38ea1a7
Started working on partitioning logic from declarative layouts.
2021-06-10 13:39:50 +02:00
Anton Hvornum
5701ef9539
Started working on the load_layout function
2021-06-07 12:40:24 +02:00
Anton Hvornum
25e835ce3e
Removed the bulk of disk-operations from guided, and will move the logic into the Filesystem() class instead.
2021-06-06 17:35:44 +02:00
Anton Hvornum
0552d040ac
Added a json.dumps() helper that wraps JSON cls. Also tweaked the logic for the size creation so that they don't overlap
2021-06-06 17:13:42 +02:00
Anton Hvornum
ce4b1fbcff
Added sorting logic for BlockDevice. Also swapped sys_command() to SysCommand() and refined the logic around those calls.
2021-06-06 16:19:53 +02:00
Anton Hvornum
71b6efab69
Merge branch 'master' of github.com:archlinux/archinstall into torxed-rework-partitioning
2021-06-04 15:08:04 +02:00
Anton Hvornum
7d60287a3d
Merged in changes from master
2021-06-04 15:07:42 +02:00
Dylan Taylor
3e505d4321
Clean up graphics driver output
2021-06-02 21:43:46 -04:00
Dylan Taylor
5f4a24d5cc
Add graphics device listing
2021-06-02 21:23:56 -04:00
Dylan Taylor
e90b17ca1c
Add hardware logging to beginning of installation
2021-06-02 21:17:54 -04:00
Dylan M. Taylor
5729b0bb4d
Make this template usable to users of more platforms
...
In case someone is trying to edit this as a template, this will work for more people.
2021-05-28 13:52:01 -04:00
Anton Hvornum
595bd657c6
Merge pull request #526 from dylanmtaylor/export-configuration
...
Write user configuration JSON to a file in logs directory
2021-05-28 08:48:26 +02:00
Yash Tripathi
3aee3611c4
added support for setting profile to a dict or a string in config
2021-05-28 08:50:27 +05:30
Yash Tripathi
c3c55f5992
added support for setting mirror-region to a dict or a string in config
2021-05-28 08:44:28 +05:30
Dylan M. Taylor
04e58f98fa
Needed to set file mode to write.
2021-05-27 22:50:38 -04:00
Dylan Taylor
eb8f459525
Write user configuration JSON to a file in logs directory
2021-05-27 22:24:09 -04:00
Yash Tripathi
fd4b2c97fb
Update custom-command-sample.json
2021-05-27 21:29:14 +05:30
Dylan M. Taylor
26a33000d8
Add descriptions for top-level profiles
2021-05-27 08:11:27 -04:00
Yash Tripathi
2aed8c6ad5
removed builtins usage and added gfx_package key in config
2021-05-24 22:12:25 +05:30
Anton Hvornum
515cd4daf0
Merged in latest changes from master
2021-05-24 12:29:43 +02:00
Anton Hvornum
1c9adbbedf
Made sure NTP matches the default value when 'skipped'.
2021-05-23 11:41:55 +02:00
Yash Tripathi
1d04acb603
added pulling sys-language and sys-encoding from config
2021-05-23 13:33:48 +05:30
Yash Tripathi
87955e0ba6
fixed pulling mirror-region from config
2021-05-23 11:56:19 +05:30
Yash Tripathi
9be8a3a998
updated mirror-region config key to use value directly
2021-05-23 11:52:21 +05:30
Anton Hvornum
9ce4370fc7
Fix issue from language selection.
2021-05-22 21:00:59 +02:00
Anton Hvornum
a9efdac615
Fix issue from language selection.
2021-05-22 21:00:11 +02:00
Anton Hvornum
1552cc8277
Re-worked the select_profile() user interaction. It no longer takes options as a parameter, instead it sources the profiles available, prints a curated list but allows for any input that is a valid profile.
2021-05-22 20:50:02 +02:00
Anton Hvornum
d7e23c847f
Added in the option to select system locale if --advance is given to guided, as it does potentially cause issues in the installation if not configured properly
2021-05-22 20:40:20 +02:00
Anton Hvornum
d0a37843aa
Rephrased according to @dylan's suggestions.
2021-05-22 20:13:59 +02:00
Anton Hvornum
1e53f4a65f
Made NTP question only on timezone for now.
2021-05-22 20:10:30 +02:00
Anton Hvornum
e3a629a6ff
Added a information that ntp might require some additional tinkering to work perfectly.
2021-05-22 20:07:15 +02:00
Anton Hvornum
b45efe0983
Adding a NTP option to syncronize time.
2021-05-22 20:04:55 +02:00
Anton Hvornum
f789a96348
Added in a are-we-root check at the top of guided.
2021-05-22 19:35:57 +02:00
Dylan Taylor
ebf5980943
Add ability to provide an array of services to enable in config file
2021-05-21 09:00:32 -04:00
Anton Hvornum
f9ec8f2a27
Merging in latest changes from master and resolved conflicts.
2021-05-21 09:56:42 +02:00
Yash Tripathi
7fefd55a0c
fallback added for when profile is null/empty
2021-05-20 18:59:22 -04:00
Dylan Taylor
bc58ec047d
Re-add profile import
2021-05-20 18:39:36 -04:00
Yash Tripathi
cba7dae8f0
fixed creating profile object if profile is passed in vars
2021-05-20 18:38:19 -04:00
Dylan Taylor
e6befe53c7
Use {installation.target} in custom commands handler
2021-05-20 17:55:40 -04:00
Dylan Taylor
5652ba20ae
Extract custom-commands function into general.py
2021-05-20 17:12:41 -04:00
Dylan Taylor
11c9632322
Clean up temp files after they are run
2021-05-20 16:13:16 -04:00
Dylan Taylor
5d6935f9f2
Add logging of execution output
2021-05-20 15:32:15 -04:00
Dylan Taylor
7811e01a90
Switch back to arch-chroot
...
This reverts commit 27fa511914 .
2021-05-20 15:07:58 -04:00
Dylan M. Taylor
c39fc34eab
Use temporary script files
...
Path will be different inside of target env.
2021-05-20 14:19:09 -04:00
Anton Hvornum
cf3e47aa44
Swapped the instance sent to Boot()
2021-05-20 16:17:04 +02:00
Yash Tripathi
73e3b99f72
changed "desktop" to "profile" while loading config
2021-05-20 08:44:33 -04:00
Dylan Taylor
5fe3a77aed
Update configuration script to work with changes
2021-05-20 08:41:18 -04:00
Dylan Taylor
9c8d55dd76
Merge branch 'master' into post-installation-scripts
2021-05-20 08:13:57 -04:00
Yash Tripathi
86fd64ef8a
fixed desktop install from config
2021-05-20 13:22:58 +05:30
Dylan M. Taylor
f137bc4076
Modify custom profile example to try to get it working
2021-05-19 23:12:54 -04:00
Yash Tripathi
7a98ccb9aa
Update guided.py
2021-05-19 22:43:27 -04:00
Dylan Taylor
27fa511914
Try to use the new systemd-nspawn code paths
2021-05-19 22:43:27 -04:00
Dylan M. Taylor
c03da01412
Run custom commands within bash session
2021-05-19 22:09:27 -04:00
Dylan M. Taylor
592c173767
Iterate over custom-command array
2021-05-19 22:09:27 -04:00
Dylan M. Taylor
7775d877d8
Provide sample configuration file showing how one would use commands
2021-05-19 22:09:27 -04:00
Yash Tripathi
bbb4599165
Added support for getting configuration from a config file ( #364 )
...
* added support for ingesting config
* fixed condition to check key in dictionary
* Removed redundant code, profile and desktop keys are now optional
* Added base-config.json and support for pulling credentials from .env
* added base config file and env file for users credentials
* added silent install switch
* added python-dotenv as a dependency
* Updated Readme to include argparse changes as well as config ingestion
* Updated Readme to include argparse changes as well as config ingestion
* fixed typo in pyproject.toml
* Replaced the magic __builtin__ global variable. This should fix mypy complaints while still retaining the same functionality, kinda. It's less automatic but it's also less of dark magic, which makes sense for anyone but me.
* Fixes string index error.
* Quotation error.
* fixed initializing --script argument
* added python-dotenv as a dependency
* Installation can't be silent if config is not passed
* fixed silent install help
* fixed condition for ask_user_questions
* reverted to creating profile object properly
* Cleaned up and incorporated suggestions
* added Profile import
* added condition if Profile is null
* fixed condition
* updated parsing vars from argparse
* removed loading users from .env
* Reworking SysCommand & Moving to localectl for locale related activities (#4 )
* Moving to `localectl` rather than local file manipulation *(both for listing locales and setting them)*.
* Swapped `loadkeys` for localectl.
* Renamed `main` to `maim` in awesome profile.
* Created `archinstall.Boot(<installation>)` which spawns a `systemd-nspawn` container against the installation target.
* Exposing systemd.py's internals to archinstall global scope.
* Re-worked `SysCommand` completely, it's now a wrapper for `SysCommandWorker` which supports interacting with the process in a different way. `SysCommand` should behave just like the old one, for backwards compatibility reasons. This fixes #68 and #69 .
* `SysCommand()` now has a `.decode()` function that defaults to `UTF-8`.
* Adding back peak_output=True to pacstrap.
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
Co-authored-by: Dylan Taylor <dylan@dylanmtaylor.com>
Co-authored-by: Anton Hvornum <anton@hvornum.se>
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
* fixed indent
* removed redundant import
* removed duplicate import
* removed duplicate import
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
Co-authored-by: Anton Hvornum <anton@hvornum.se>
Co-authored-by: Dylan M. Taylor <dylan@dylanmtaylor.com>
2021-05-19 21:31:58 +02:00
Anton Hvornum
49e6cbdc54
Reworking SysCommand & Moving to localectl for locale related activities
...
* Moving to `localectl` rather than local file manipulation *(both for listing locales and setting them)*.
* Swapped `loadkeys` for localectl.
* Renamed `main` to `maim` in awesome profile.
* Created `archinstall.Boot(<installation>)` which spawns a `systemd-nspawn` container against the installation target.
* Exposing systemd.py's internals to archinstall global scope.
* Re-worked `SysCommand` completely, it's now a wrapper for `SysCommandWorker` which supports interacting with the process in a different way. `SysCommand` should behave just like the old one, for backwards compatibility reasons. This fixes #68 and #69 .
* `SysCommand()` now has a `.decode()` function that defaults to `UTF-8`.
* Adding back peak_output=True to pacstrap.
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
Co-authored-by: Dylan Taylor <dylan@dylanmtaylor.com>
2021-05-19 16:45:13 +02:00
Dylan M. Taylor
22fc18dc46
Add mirror reachability check
...
Needed error handling
Fix internet connection text not showing up and make it red
2021-05-15 22:53:58 -04:00
Dylan Taylor
1796bbb918
Perform refactoring to PEP 8 naming conventions
2021-05-15 17:50:28 -04:00
Dylan Taylor
f7642786c9
Remove some redundant parenthesis
2021-05-15 15:18:46 -04:00
Dylan Taylor
4a34b3a9d0
Fix E712
2021-05-15 15:08:50 -04:00
Dylan Taylor
126c7ebfca
More formatting fixes to satisfy PEP 8
2021-05-15 15:04:39 -04:00
Dylan Taylor
a0cbb31d3e
f-string fixes
2021-05-15 14:29:24 -04:00
Dylan Taylor
37484b7423
Split filesystem message into multiple lines
2021-05-15 14:07:13 -04:00
Dylan Taylor
3b20adb7d2
Whitespace changes
2021-05-15 13:59:37 -04:00
Dylan Taylor
5067aaa260
Change mirror get check as suggested
2021-05-15 13:39:12 -04:00
Dylan Taylor
8d4c314966
Switch to using level=logging.DEBUG
2021-05-15 13:35:39 -04:00
Dylan Taylor
e111dd9bc1
Final whitespace changes I think
2021-05-15 13:04:18 -04:00
Dylan Taylor
8d39ff4a76
Minor whitespace changes to guided.py
2021-05-15 13:02:19 -04:00
Dylan Taylor
6057203e5b
More formatting fixes
2021-05-15 12:59:38 -04:00
Dylan Taylor
69d675f4aa
Many more manual changes
2021-05-15 12:29:57 -04:00
Dylan Taylor
5734b6e4a5
Fix f-string is missing placeholders in unattended
2021-05-15 12:13:26 -04:00
Dylan Taylor
e950c6af0f
Fix f-string is missing placeholders in minimal
2021-05-15 12:12:55 -04:00
Dylan Taylor
14b89e6e25
Fix unused imports in guided
2021-05-15 12:10:32 -04:00
Dylan Taylor
37e818b3d1
More manual fixes
2021-05-15 12:07:46 -04:00
Anton Hvornum
7f81281f59
Removed dupe formatter
...
There should be no reason to call `.format()` here, since the steps above take care of all formatting.
2021-05-14 21:29:49 +02:00
Anton Hvornum
1abe2c762e
Removed targeted /boot formatting. This should be handled and marked earlier in the locig, the partitioning logic should only honor the marked partitions and their status. No need to explicitly format /boot since - if it's meant to be formatted - it should already be marked.
2021-05-14 19:48:39 +02:00
advaithm
69d079e63a
some type hint fixes and a bad catch fix
2021-05-12 15:45:45 +05:30
Anton Hvornum
129ceaea8b
Renamed keyboard-language to keyboard-layout to avoid confusion. Added encryption checks for disk layout selection, if disk encryption password is given - but no partitions were found using encryption, the user will be asked which partitions to encrypt - unless there's only /boot and /<root> then we'll automatically select /<root> because that's what we support for now.
2021-05-11 13:37:08 +02:00
Anton Hvornum
e6c28a94ee
Fixed line-ending issue after using generic_multi_select()
2021-05-11 11:48:44 +02:00
Anton Hvornum
4b6e312cfa
Flipped log level logic.
2021-05-11 11:41:43 +02:00
Anton Hvornum
6d5d9a1798
Added Partition() properties: sector_size, start, end, boot, partition_type and a __dump__() function. As well as kept working on the partition logic of guided to have a more traditional workflow of adding/deleting partitions in a guided manner, as well as the ability to mark partitions as encrypted/boot and set target mountpoints.
2021-05-10 14:32:39 +02:00
Anton Hvornum
3e601ff9ab
Added a soft-wrapper around parted logic. This logic will guide users through setting up partitions, if they chose to wipe a drive. We'll avoid doing to much auto-magic, and this is just a start.
2021-05-10 10:14:33 +02:00
Anton Hvornum
8925be6c87
Adding in partition layout structure
2021-05-06 15:18:57 +02:00
Anton Hvornum
c20be61e12
Removed obsolete variable in prep for multi-disk support.
2021-05-06 14:20:20 +02:00
Anton Hvornum
8bc3dd685e
Beginning work on simplifying disk process in guided.py by reducing complexity and code logic.
2021-05-05 15:06:47 +02:00
Anton Hvornum
a0947f527a
Allow for multiple disks to be selected (to span partitions such as boot across multiple block devices)
2021-05-05 13:56:24 +02:00
Anton Hvornum
469ab8d15a
Moved around the function calls to be more logical and separated. Also moved the target-mount -> target-mountpoint as a parameter for the actual installation.
2021-05-04 11:45:21 +02:00
Anton Hvornum
ea0d0a8817
Merge branch 'master' of https://github.com/archlinux/archinstall into torxed-partitioning
2021-05-01 12:12:10 +02:00
Anton Hvornum
0ebc6be7ae
Added a postgresql application profile. ( #383 )
...
* Added a postgres application profile. Also introducing runas to the arch_chroot of the installation, to run commands as emulated users. This is highly WIP at the moment.
* Fixing top-level-listing of profiles. As well as testing some postgres installation steps.
* Removed dupe functions.
* Added safety check in case a comment mentions the top level profile thing.
* Patching namespace corruption.
* Avoiding runtime collision due to installation not being initiated yet.
* Allow for parameterization of filesystem in guided.
Co-authored-by: Anton Hvornum <anton.feeds@gmail.com>
2021-04-29 13:32:21 +02:00