Age | Commit message (Collapse) | Author |
|
Sync branch svintooo-fix with latest code changes on master.
|
|
File: lib/disk.py
When installing on a loopback device (a.k.a loop device), function
Filesystem.partuuid_to_index() crashes with a JSON parsing error.
REASON
1) For loop devices, the property BlockDevice.device returns the
actual image file (back-file) of the loop device instead of the
/dev/X device.
2) Function Filesystem.partuuid_to_index() executes `lsblk --json`
against BlockDevice.device .
3) `lsblk` fails and prints the error "not a block device" to stderr.
This causes the output to not be valid JSON.
4) Code crashes when JSON parser tries to parse the output.
SOLUTION
- Make sure property BlockDevice.device only returns a valid block
device.
- Create new function BlockDevice.device_or_backfile that mimics
the present behaviour of BlockDevice.device.
- Use BlockDevice.device_or_backfile in function
BlockDevice.__repr__().
SOLUTION REASONING
I can only see one reason behind BlockDevice.device returning
the back-file of a loop device, and that is to show the back-file
to the user (instead of /dev/X) when printing the string
representation of a BlockDevice.
All other parts of the code can use the /dev/X file just fine.
And IMO it makes more sense that a property named `device` only
returns devices, and not normal files.
|
|
Also this change adds new line at the end for some scripts
|
|
|
|
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.
|
|
time before continuing after a format. This is an ugly hack to get around some disk issues, for now.
|
|
|
|
Typo
|
|
latest changes from master. For future PR's do create a patch-branch for upstream patches to avoid changes to your local repo.
|
|
never be created on single devices.
|
|
flag on the correct partition. Perhaps there's a smarter way. I suspect parted can operate on a given partition ID, but haven't found the docs for it yet.
|
|
selection process.
|
|
|
|
added some more debugging
|
|
reliable size-conversion that isn't limited to Gigabytes in free_space().
|
|
Fix a tiny typo
|
|
|
|
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
|
|
|
|
that encrypted volumes get a proper filesystem without having to go through an extra step of selecting filesystem.
|
|
partitions, and fine tune which data to save and which to wipe). Setting a desired filesystem for a partition (both new ones and the ones being re-used).
|
|
|
|
|
|
|
|
a fs-type prior when re-using partitions.
|
|
|
|
against a lowered list in general for supported fs-types.
|
|
Also added additional supported filesystems to parted. Apparently the online manpages doesn't agree with the local manpages, my previous statement that these gets ignored is false so added those in and removed some that isn't supported by my local manpages, 'ufs' for instance.
|
|
|
|
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.
|
|
relevant disk with the closest size to a desired size will be used for root, and the same (exluding the one already used) will be used for /home
|
|
github.com:archlinux/archinstall into torxed-rework-partitioning
|
|
|
|
|
|
data, rather than storing and caching partitions on initation. Since it now supports mounting a partition layout given by external usage.
|
|
|
|
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
|
|
positions of partitions to 1MiB in.
|
|
|
|
|
|
|
|
|
|
SysCommand() and refined the logic around those calls.
|
|
We there for no longer need to use OrderedDict for our dictionaries where this logic is required.
|
|
torxed-rework-partitioning
|
|
|
|
|
|
|
|
* 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>
|
|
* 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>
|