Merge "Replace sfdisk partitioning with parted"

This commit is contained in:
Jenkins 2016-03-03 12:35:49 +00:00 committed by Gerrit Code Review
commit 6e29b45d90

View File

@ -11,36 +11,17 @@ source $_LIB/die
# Create 2 partitions for PPC, one for PReP boot and other for root
if [[ "$ARCH" =~ "ppc" ]] ; then
sudo sfdisk --force $IMAGE_BLOCK_DEVICE << EOF
0,8,41 *
,,L
;
EOF
sudo parted -a optimal -s $IMAGE_BLOCK_DEVICE \
mklabel msdos \
mkpart primary 0 8cyl \
set 1 boot on \
set 1 prep on \
mkpart primary 9cyl 100%
else
# sfdisk changed around 2.26 and was largely rewritten. The old
# version defaults to c/h/s and interprets arguments as cylinders.
# The new version defaults to sectors.
#
# Luckily, the old version has a -uS flag (ignored by the new
# version) to interpret arguments as sectors. However, it
# incorrectly calculates the c/h/s offset when finding free space,
# and gets upset [1], requiring the use of --force.
#
# TODO: switch this to parted, or something saner (is there such a
# thing when talking about partitioning?)
#
# The below command creates a partition that starts at 1MiB --
# which is the standard place to start a partition these days --
# and fills up the disk. The zeros are to ignore the other 3
# primary partitions (probably not needed, but left for safety).
#
# [1] https://bugs.launchpad.net/ubuntu/+source/util-linux/+bug/1481158
sudo sfdisk -uS --force $IMAGE_BLOCK_DEVICE << EOF
2048 + L *
0 0;
0 0;
0 0;
EOF
sudo parted -a optimal -s $IMAGE_BLOCK_DEVICE \
mklabel msdos \
mkpart primary 1MiB 100% \
set 1 boot on
fi
sudo partprobe $IMAGE_BLOCK_DEVICE