Commit Graph

3 Commits

Author SHA1 Message Date
Marek Marczykowski-Górecki
2dbdb1e66f
Fix misleading error message on rootfs resize
The partition being extended is in use and sfdisk can't reload such
partition table. Tell it to not even try, it will be done by partprobe
call below.
2019-09-30 04:03:06 +02:00
Marek Marczykowski-Górecki
9792438b3f
Use sfdisk instead of parted to resize root partition table
parted tries to load random data for possible partiont table UUID
generation, even though there is no need to generate new UUID. In case
of early VM startup, this is very undesirable as random entropy pool may
not be initialized yet, which will cause parted to block.

Use sfdisk instead, which doesn't try to do that. And also can relocate
backup GPT and resize partition in one go.

Fixes QubesOS/qubes-issues#4419
2019-02-24 03:12:14 +01:00
Marek Marczykowski-Górecki
d8a2b8c375
Add support for new root volume partition layout to qubes.ResizeDisk
If root filesystem is the last partition (new layout), resize it
in-place. Use 'parted' tool because it can resize just one partition,
without need to specify the whole new partition table. Since the
partition is mounted, parted is unhappy to modify it. Force it by
answering to its interactive prompts, and add (apparently not
documented) ---pretend-input-tty to use those answers even
though stdin is not a tty. Split the operation into multiple parted
calls, for more reliable interactive prompts handling.

Qubes 3.x disk layout (no partition table) is also supported, but the
one that was used in Qubes 4.0 rc1 (root filesystem as the first
partition) is not.

Fixes QubesOS/qubes-issues#3173
QubesOS/qubes-issues#3143
2017-10-18 19:53:48 +02:00