Commit Graph

458 Commits

Author SHA1 Message Date
Anton Hvornum 813afa1507 Only adding disk encryption to user_credentials.json when supplied. 2021-11-11 09:43:06 +00:00
Anton Hvornum 71a86f65aa Forgot the disk encryption password, also escaped with ! 2021-11-09 19:01:48 +01:00
Anton Hvornum 389aa1080b Adding in storage of user supplied credentials. This separates credentials from user_configuration.json into user_credentials.json. As well as the JSON serializer will omit the credentials from the user_configuration.json by detecting ! in the dictionary keys (which is why they are important). UNSAFE_JSON will leave those keys in there, good for storing credentials in a separate file." 2021-11-09 17:43:28 +01:00
Anton Hvornum d1716eeeef Revert default automatic hostname in user_config.json, I realized it's better to use --silent than forcing something in there. Some users might want to get poked on every machine. 2021-11-09 17:20:48 +01:00
Anton Hvornum 07255391cc Automatically fill the hostname in user_config.json 2021-11-09 17:16:25 +01:00
Anton Hvornum dbe8ce9982
Fixed broken import from master 2021-11-05 22:04:45 +01:00
Anton Hvornum a5730dec85
Misspelled variable name 2021-11-05 22:03:24 +01:00
Anton Hvornum 0067e34970
Merged latest master 2021-11-05 21:37:40 +01:00
Anton Hvornum 93efce92a9
Renamed the ntp function, as it doesn't install/enable ntp any longer. Even tho it uses the NTP protocol. 2021-11-05 17:03:07 +01:00
Anton Hvornum 0071a06908
Merged PR #650 - flake8 fixes and tightening
Tighten up flake8 tests used by GitHub Action lint_python
2021-11-05 15:48:03 +00:00
Anton Hvornum 2fcd8198b2
Cleaned up all flake8 issues/warnings. Did some code cleaning as well, mostly how we called things in guided.py but also some SysCommand calls 2021-11-05 16:27:01 +01:00
TheEvilSkeleton 675db53f1d
Fix typos 2021-11-02 12:01:07 -04:00
Anton Hvornum b4eb8557f5 Adding support for swap on zram 2021-11-01 09:59:32 +00:00
Anton Hvornum 2a2239dd03 Merge branch 'master' of https://github.com/archlinux/archinstall into torxed-fix-93 2021-10-30 20:36:21 +02:00
Anton Hvornum 05a8739231
Wrong exposed variable corrected. 2021-10-30 12:02:00 +02:00
Anton Hvornum 7149b76f3b
Forgot some imports that didn't show up on a static run without going through a few of the menu's 2021-10-22 21:54:16 +02:00
SecondThundeR ffe38c879a general: remove all found white-spaces
Also this change adds new line at the end for some scripts
2021-09-19 15:49:44 +03:00
Anton Hvornum ed823be3ba Refactoring and cleaning up a bit
I'm making sure that the JSON structure of the user config can get a say in how the subvolumes should be used later on. As well as splitting up where the logic should be to make it easier to maintain.
2021-09-18 15:52:29 +02:00
Anton Hvornum 6a125d5bd2 Adding in options for BTRFS subvolumes 2021-09-18 11:22:18 +02:00
Anton Hvornum 9e67ce3f05 Making sure the drive paths are in the JSON structure, and not the class object, as it won't work seamlessly to access for instance storage['disk_layouts'][ClassInstance()] if it's not the identical mem copy of the object we're accessing, so strings are better for storage/comparisons. 2021-09-15 20:11:40 +02:00
Anton Hvornum 70af00f33d Tweaked the logic for parsing the --harddrives parameter. 2021-09-15 19:23:35 +02:00
Anton Hvornum e6549c1edb Fixing type issue with conversion to multiple disk logic. 2021-09-15 19:17:32 +02:00
Anton Hvornum 2cfbafc653 More error handling and fixed a spelling error. 2021-09-15 19:16:30 +02:00
Anton Hvornum 1a7056efc4 Might be redundant, but if the JSON file given to --config contains a list it will break the .split(), but if --harddrives is given as an argument, then we need to split. So adding a type-check 2021-09-15 19:09:57 +02:00
Anton Hvornum d6acfec799 Updating support for --disk_layouts. It now supports file paths as well as JSON in string format via --disk_layouts=<json> 2021-09-15 19:01:14 +02:00
Anton Hvornum 8dd097da05 Reverted last change, and improved it. By passing it through load_config and tweaking the read structure a bit, it worked out better if the accessed values are in archinstall.storage instead. 2021-09-15 17:36:54 +02:00
Anton Hvornum c09a36b7b1 Changed from internal storage to parameter-friendly arguments for disk_layouts, so we can support JSON for disk layouts on the new logic. 2021-09-15 13:33:34 +00:00
Anton Hvornum 995edaf316 Removed legacy need to add_bootloader
`add_bootloader` no longer needs to have a harddrive given as a argument. It will (and should) auto-detect what's mounted in the `self.target` (aka mountpoint) of the installation.
2021-09-12 15:42:13 +02:00
Anton Hvornum 51565314b4 Merged in master. 2021-09-06 14:40:05 +00:00
Anton Hvornum 40cd801184
Merge pull request #614 from laxect/patch-1
Fix wrong default in kernels (guide.py)
2021-09-06 15:48:49 +02:00
Anton Hvornum 025dc83194 Corrected some minor modifications mentioned in #595 as well as merged in latest changes from master. For future PR's do create a patch-branch for upstream patches to avoid changes to your local repo. 2021-09-06 12:22:57 +00:00
Yash Tripathi 78bbf26c1a
Update guided.py 2021-08-20 03:48:13 +05:30
Yash Tripathi 6d462ac1cc
added servers key 2021-08-20 03:34:50 +05:30
ギャラ 79f70cee21
Update guided.py
Fix wrong default in kernels.
2021-08-18 20:52:10 +09:00
Yash Tripathi b60e8dfd10 changed dry_run to dry-run 2021-07-18 21:45:24 +05:30
Yash Tripathi b2476313a7 added new key for desktop-environment 2021-07-18 21:40:44 +05:30
Yash Tripathi d55b1786c5 created load_config() to load configuration 2021-07-18 01:28:41 +05:30
Hamad Al Marri 51eb05691a Fix encryption + grub both in UEFI and BIOS systems.
We need to have two partitions in BIOS one for boot (grub)
and the other for root (/). The format of the boot partition
is ext2 (so it is added).

If disk is chosen to be encrypted, `then /etc/default/grub` is edited
as the followings: https://wiki.archlinux.org/title/Dm-crypt/Encrypting_an_entire_system#Configuring_GRUB_2

Issue: https://github.com/archlinux/archinstall/issues/586

This work is done while working on CachyOS which is Arch based and
it is using customized archinstaller.

To test these changes you can try CachyOS installer which supports
encrypted disk with grub (https://wiki.cachyos.org/).

Hamad
2021-07-07 18:38:55 +03:00
Anton Hvornum 51f2eca60e Saving partitioning layout in a layout file (JSON format) 2021-07-03 14:27:49 +02:00
Anton Hvornum d4f0d411f6 Synced master into partitioning branch 2021-06-14 09:26:03 +02:00
Anton Hvornum 8489137b87
Merge pull request #577 from chingnux/fix-silent
fix the case when there's --config but --silent is not set
2021-06-13 16:28:12 +02:00
Dylan M. Taylor 4e17355796
Implement is_desktop_profile helper function (#575)
* Implement is_desktop_profile helper function

* Make ask_for_audio_selection use generic_select

* Fix default value for audio selection

* Leverage list of supported desktops to perform is_desktop_profile check

* is_desktop_profile was missing a default return value

* Store return value for audio server
2021-06-13 14:32:38 +02:00
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 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
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
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 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
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