Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(182)

Unified Diff: src/scripts/build_gpt.sh

Issue 1513019: Create EFI System Partition on USB image during build. (Closed)
Patch Set: Cleanup, add image_to_vmware.sh changes Created 10 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « src/platform/installer/chromeos-install ('k') | src/scripts/build_image » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/scripts/build_gpt.sh
diff --git a/src/scripts/build_gpt.sh b/src/scripts/build_gpt.sh
index 8b43cca43005f1668421b1243552789ebcf4bff1..c2a153d7fdf8f9839057dd13c7c770b9b33cda6f 100755
--- a/src/scripts/build_gpt.sh
+++ b/src/scripts/build_gpt.sh
@@ -26,12 +26,12 @@ DEFINE_string board_root "" \
# Usage.
FLAGS_HELP=$(cat <<EOF
-
+
Usage: $(basename $0) [flags] IMAGEDIR OUTDEV
This takes the image components in IMAGEDIR and creates a bootable,
GPT-formatted image in OUTDEV. OUTDEV can be a file or block device.
-
+
EOF
)
@@ -99,6 +99,12 @@ if [[ ! -s ${STATEFUL_IMG} ]]; then
exit 1
fi
+ESP_IMG="${IMAGEDIR}/esp.image"
+if [[ ! -s ${ESP_IMG} ]]; then
+ error "Can't find ${ESP_IMG}"
+ exit 1
+fi
+
# We'll need some code to put in the PMBR, for booting on legacy BIOS. Some ARM
# systems will use a U-Boot script temporarily, but it goes in the same place.
if [[ "$ARCH" = "arm" ]]; then
@@ -107,7 +113,7 @@ if [[ "$ARCH" = "arm" ]]; then
# set the appropriate environment variables. Then we can create the correct
# script and install it for real. A bit awkward, but this is only temporary.
echo "Installing fake GPT first, to calculate locations..."
- install_gpt $OUTDEV $ROOTFS_IMG $KERNEL_IMG $STATEFUL_IMG /dev/zero
+ install_gpt $OUTDEV $ROOTFS_IMG $KERNEL_IMG $STATEFUL_IMG /dev/zero $ESP_IMG
# Create the U-Boot script to copy the kernel into memory and boot it.
KERNEL_OFFSET=$(printf "0x%08x" ${START_KERN_A})
@@ -147,7 +153,7 @@ fi
# Create the GPT. This has the side-effect of setting some global vars
# describing the partition table entries (see the comments in the source).
-install_gpt $OUTDEV $ROOTFS_IMG $KERNEL_IMG $STATEFUL_IMG $PMBRCODE
+install_gpt $OUTDEV $ROOTFS_IMG $KERNEL_IMG $STATEFUL_IMG $PMBRCODE $ESP_IMG
# Emit helpful scripts for testers, etc.
${SCRIPTS_DIR}/emit_gpt_scripts.sh "${OUTDEV}" "${IMAGEDIR}"
@@ -169,6 +175,9 @@ $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}
+echo "Copying EFI system partition..."
+dd if=${ESP_IMG} of=${OUTDEV} conv=notrunc bs=512 seek=${START_ESP}
+
# Clean up temporary files.
if [[ -n "${MBR_IMG:-}" ]]; then
rm "${MBR_IMG}"
« no previous file with comments | « src/platform/installer/chromeos-install ('k') | src/scripts/build_image » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698