| Index: src/scripts/build_image
|
| diff --git a/src/scripts/build_image b/src/scripts/build_image
|
| index 8b692ef0d1e5d3eb60ca4f23711b54ed375cd8ce..dbe62a74be21b308045950d7ebe9d622781f6ff4 100755
|
| --- a/src/scripts/build_image
|
| +++ b/src/scripts/build_image
|
| @@ -70,7 +70,7 @@ OUTPUT_DIR="${FLAGS_output_root}/${FLAGS_board}/${IMAGE_SUBDIR}"
|
| ROOT_FS_DIR="${OUTPUT_DIR}/rootfs"
|
| ROOT_FS_IMG="${OUTPUT_DIR}/rootfs.image"
|
| MBR_IMG="${OUTPUT_DIR}/mbr.image"
|
| -OUTPUT_IMG="${OUTPUT_DIR}/usb.img"
|
| +OUTPUT_IMG="${OUTPUT_DIR}/chromiumos_image.bin"
|
|
|
| BOARD="${FLAGS_board}"
|
| BOARD_ROOT="${FLAGS_build_root}/${BOARD}"
|
| @@ -320,6 +320,11 @@ if [[ $FLAGS_withdev -eq $FLAGS_TRUE ]]; then
|
| WITH_DEV="--withdev"
|
| fi
|
|
|
| +# Extract the kernel from the root filesystem for use by the GPT image. Legacy
|
| +# BIOS will use the kernel in the rootfs (via syslinux), ChromeOS BIOS will use
|
| +# the kernel partition.
|
| +sudo cp -f ${ROOT_FS_DIR}/boot/vmlinuz ${OUTPUT_DIR}/vmlinuz.image
|
| +
|
| #TODO(sosa@chromium.org) - Does it make sense to leave /usr/local bound here?
|
| "${SCRIPTS_DIR}/customize_rootfs" \
|
| --root="$ROOT_FS_DIR" \
|
| @@ -347,44 +352,11 @@ fi
|
| cleanup_stateful_fs_loop
|
| cleanup_rootfs_loop
|
|
|
| -# Create a master boot record.
|
| -# Start with the syslinux master boot record. We need to zero-pad to
|
| -# fill out a 512-byte sector size.
|
| -SYSLINUX_MBR="/usr/share/syslinux/mbr.bin"
|
| -dd if="$SYSLINUX_MBR" of="$MBR_IMG" bs=512 count=1 conv=sync
|
| -# Create a partition table in the MBR.
|
| -NUM_SECTORS=$((`stat --format="%s" "$ROOT_FS_IMG"` / 512))
|
| -KERNEL_SECTORS=8192
|
| -sudo sfdisk -H64 -S32 -uS -f "$MBR_IMG" <<EOF
|
| -,$NUM_SECTORS,L,-,
|
| -,$NUM_SECTORS,S,-,
|
| -,$NUM_SECTORS,L,*,
|
| -,$KERNEL_SECTORS,L,-,
|
| -;
|
| -EOF
|
| -if [[ "$ARCH" = "arm" ]]; then
|
| - # Write u-boot script into MBR code block that boots 4th partition kernel.
|
| - KERNEL_OFFSET=`printf "%08x" $(((3 * $NUM_SECTORS) + 1))`
|
| - KERNEL_SECS_HEX=`printf "%08x" $KERNEL_SECTORS`
|
| - MBR_SCRIPT="${OUTPUT_DIR}/mbr_script"
|
| - echo -e "echo\necho ---- ChromeOS Boot ----\necho\n" \
|
| - "mmc read 1 C0008000 0x$KERNEL_OFFSET 0x$KERNEL_SECS_HEX\n" \
|
| - "bootm C0008000" > ${MBR_SCRIPT}
|
| - MKIMAGE="${BOARD_ROOT}/u-boot/mkimage"
|
| - if [[ -f "$MKIMAGE".gz ]]; then
|
| - sudo gunzip "$MKIMAGE".gz
|
| - fi
|
| - if [[ -x "$MKIMAGE" ]]; then
|
| - MBR_SCRIPT_UIMG="${MBR_SCRIPT}.uimg"
|
| - "$MKIMAGE" -A "${ARCH}" -O linux -T script -a 0 -e 0 -n "COS boot" \
|
| - -d ${MBR_SCRIPT} ${MBR_SCRIPT_UIMG}
|
| - dd bs=1 count=`stat --printf="%s" ${MBR_SCRIPT_UIMG}` \
|
| - if="$MBR_SCRIPT_UIMG" of="$MBR_IMG" conv=notrunc
|
| - hexdump -v -C "$MBR_IMG"
|
| - else
|
| - echo "Error: u-boot mkimage not found or not executable."
|
| - fi
|
| -fi
|
| +# Create the GPT-formatted image
|
| +${SCRIPTS_DIR}/build_gpt.sh \
|
| + --arch=${ARCH} --board=${FLAGS_board} --board_root=${BOARD_ROOT} \
|
| + ${OUTPUT_DIR} ${OUTPUT_IMG}
|
| +
|
|
|
| OUTSIDE_OUTPUT_DIR="../build/images/${FLAGS_board}/${IMAGE_SUBDIR}"
|
| echo "Done. Image created in ${OUTPUT_DIR}"
|
|
|