From 6c84bea17d61acf36334be57f4212cd74e4f29e1 Mon Sep 17 00:00:00 2001 From: Tan Gao Date: Thu, 20 May 2010 13:46:34 -0700 Subject: [PATCH] fix for issue 2610 - add --recovery flag to chromeos-installer script to install a recovery image from partition B onto a device's hard drive - add temporary workaround to populate partition B to make installer work - TODO(tgao): write a script to populate partition B and remove workaround Review URL: http://codereview.chromium.org/2127010 --- build_gpt.sh | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/build_gpt.sh b/build_gpt.sh index fb96b85846..0b7edda064 100755 --- a/build_gpt.sh +++ b/build_gpt.sh @@ -80,7 +80,6 @@ set -u # Check for missing parts. # For recovery image, only populate ROOT-A and KERN-A -# TODO(tgao): write a script to populate ROOT-B and KERN-B ROOTFS_IMG="${IMAGEDIR}/rootfs.image" if [[ ! -s ${ROOTFS_IMG} ]]; then error "Can't find ${ROOTFS_IMG}" @@ -148,7 +147,21 @@ echo "Copying kernel..." $sudo dd if=${KERNEL_IMG} of=${OUTDEV} conv=notrunc bs=512 seek=${START_KERN_A} echo "Copying rootfs..." -$sudo dd if=${ROOTFS_IMG} of=${OUTDEV} conv=notrunc bs=512 seek=${START_ROOTFS_A} +$sudo dd if=${ROOTFS_IMG} of=${OUTDEV} conv=notrunc bs=512 \ + seek=${START_ROOTFS_A} + +# TODO(tgao): write a script to populate ROOT-B and KERN-B with user-specified +# rootfs and kernel. Do NOT remove if block below until then (otherwise +# chromeos-installer will fail b/c it expects to install from partition B) +if [ ${FLAGS_recovery} -eq $FLAGS_TRUE ]; then + echo "Copying kernel B..." + $sudo dd if=${KERNEL_IMG} of=${OUTDEV} conv=notrunc bs=512 \ + seek=${START_KERN_B} + + echo "Copying rootfs B..." + $sudo dd if=${ROOTFS_IMG} of=${OUTDEV} conv=notrunc bs=512 \ + seek=${START_ROOTFS_B} +fi echo "Copying EFI system partition..." $sudo dd if=${ESP_IMG} of=${OUTDEV} conv=notrunc bs=512 seek=${START_ESP}