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 # Create 2 partitions for PPC, one for PReP boot and other for root
if [[ "$ARCH" =~ "ppc" ]] ; then if [[ "$ARCH" =~ "ppc" ]] ; then
sudo sfdisk --force $IMAGE_BLOCK_DEVICE << EOF sudo parted -a optimal -s $IMAGE_BLOCK_DEVICE \
0,8,41 * mklabel msdos \
,,L mkpart primary 0 8cyl \
; set 1 boot on \
EOF set 1 prep on \
mkpart primary 9cyl 100%
else else
# sfdisk changed around 2.26 and was largely rewritten. The old sudo parted -a optimal -s $IMAGE_BLOCK_DEVICE \
# version defaults to c/h/s and interprets arguments as cylinders. mklabel msdos \
# The new version defaults to sectors. mkpart primary 1MiB 100% \
# set 1 boot on
# 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
fi fi
sudo partprobe $IMAGE_BLOCK_DEVICE sudo partprobe $IMAGE_BLOCK_DEVICE