Merge "Replace sfdisk partitioning with parted"
This commit is contained in:
commit
6e29b45d90
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user