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
This commit is contained in:
parent
45d3b8d159
commit
9792438b3f
@ -8,13 +8,8 @@ case "$(stat -Lc %t:%T /dev/mapper/dmroot)" in
|
|||||||
# nothing needed, xvda used directly
|
# nothing needed, xvda used directly
|
||||||
;;
|
;;
|
||||||
ca:3)
|
ca:3)
|
||||||
# resize partition table itself
|
# resize partition table itself and xda3 partition
|
||||||
# use undocumented ---pretend-input-tty (yes, three '-') to
|
echo ',+' | sfdisk --no-reread -q -N 3 /dev/xvda
|
||||||
# force unattended operation, otherwise it aborts on first
|
|
||||||
# prompt, even with '-s' option
|
|
||||||
echo fix | parted ---pretend-input-tty /dev/xvda print >/dev/null
|
|
||||||
# then resize 3rd partition, even though it is mounted
|
|
||||||
echo yes 100% | parted ---pretend-input-tty /dev/xvda resizepart 3
|
|
||||||
# and reload partition table; prefer partprobe over blockdev
|
# and reload partition table; prefer partprobe over blockdev
|
||||||
# --rereadpt, as it works on mounted partitions
|
# --rereadpt, as it works on mounted partitions
|
||||||
partprobe /dev/xvda
|
partprobe /dev/xvda
|
||||||
|
Loading…
Reference in New Issue
Block a user