Merge "Enable vm element to create PowerPC image"

This commit is contained in:
Jenkins 2015-02-09 18:27:54 +00:00 committed by Gerrit Code Review
commit 1d33465e28
2 changed files with 27 additions and 3 deletions

View File

@ -5,6 +5,14 @@ set -o pipefail
source $_LIB/die
[ -n "$IMAGE_BLOCK_DEVICE" ] || die "Image block device not set"
# 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
else
# Create 1 partition far enough up the disk to permit grub to be installed on
# the MBR.
sudo sfdisk $IMAGE_BLOCK_DEVICE << EOF
@ -13,6 +21,7 @@ sudo sfdisk $IMAGE_BLOCK_DEVICE << EOF
0 0;
0 0;
EOF
fi
sudo partprobe $IMAGE_BLOCK_DEVICE
@ -31,10 +40,15 @@ if [ ! -e "${IMAGE_BLOCK_DEVICE}p1" ]; then
else
sudo kpartx -asv $TMP_IMAGE_PATH
fi
elif [[ "$ARCH" =~ "ppc" ]]; then
sudo kpartx -asv $TMP_IMAGE_PATH
fi
if [ -n "$DM" ]; then
echo "IMAGE_BLOCK_DEVICE=${DM}p1"
elif [[ "$ARCH" =~ "ppc" ]]; then
DM=${IMAGE_BLOCK_DEVICE/#\/dev/\/dev\/mapper}
echo "IMAGE_BLOCK_DEVICE=${DM}p2"
else
echo "IMAGE_BLOCK_DEVICE=${IMAGE_BLOCK_DEVICE}p1"
fi

View File

@ -9,7 +9,11 @@ set -o pipefail
# FIXME:
[ -n "$IMAGE_BLOCK_DEVICE" ]
PART_DEV=$IMAGE_BLOCK_DEVICE
if [[ "$ARCH" =~ "ppc" ]]; then
BOOT_DEV=$(echo $IMAGE_BLOCK_DEVICE | sed -e 's#p2##')'p1'
else
BOOT_DEV=$(echo $IMAGE_BLOCK_DEVICE | sed -e 's#p1##' | sed -e 's#mapper/##')
fi
function install_extlinux {
install-packages extlinux
@ -51,6 +55,8 @@ function install_grub2 {
# Check for offline installation of grub
if [ -f "/tmp/grub/install" ] ; then
source /tmp/grub/install
elif [[ "$ARCH" =~ "ppc" ]]; then
install-packages grub-ieee1275
else
install-packages grub-pc
fi
@ -108,7 +114,11 @@ function install_grub2 {
fi
fi
if [[ "$ARCH" =~ "ppc" ]] ; then
$GRUBNAME --modules="part_msdos" $GRUB_OPTS $BOOT_DEV --no-nvram
else
$GRUBNAME --modules="biosdisk part_msdos" $GRUB_OPTS $BOOT_DEV
fi
# This might be better factored out into a per-distro 'install-bootblock'
# helper.