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

Unified Diff: src/scripts/make_factory_package.sh

Issue 2366001: Pack firmware into an image and do update in factory install process. (Closed) Base URL: ssh://git@chromiumos-git/chromiumos
Patch Set: add 2 emtpy firmware images Created 10 years, 7 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/memento_softwareupdate/memento_updater.sh ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: src/scripts/make_factory_package.sh
diff --git a/src/scripts/make_factory_package.sh b/src/scripts/make_factory_package.sh
index 005fd255c8c8aabe2e0bcf61306d4082bb8f4c1e..13bcfca99099f6852ebf2d5641683d0e96f9984e 100755
--- a/src/scripts/make_factory_package.sh
+++ b/src/scripts/make_factory_package.sh
@@ -24,6 +24,8 @@ get_default_board
DEFINE_string board "${DEFAULT_BOARD}" "Board for which the image was built"
DEFINE_string factory "" \
"Directory and file containing factory image: /path/chromiumos_test_image.bin"
+DEFINE_boolean include_firmware $FLAGS_FALSE \
+ "If set, include the firmware image to the server configuration"
DEFINE_string release "" \
"Directory and file containing release image: /path/chromiumos_image.bin"
@@ -46,6 +48,7 @@ fi
# chars like ~ are processed; just doing FOO=`readlink -f ${FOO}` won't work.
OMAHA_DIR=${SRC_ROOT}/platform/dev
OMAHA_DATA_DIR=${OMAHA_DIR}/static/
+FIRMWARE_DIR=${SRC_ROOT}/platform/firmware/${FLAGS_board}
if [ ${INSIDE_CHROOT} -eq 0 ]; then
echo "Caching sudo authentication"
@@ -82,7 +85,7 @@ prepare_dir() {
prepare_omaha
# Get the release image.
-pushd ${RELEASE_DIR}
+pushd ${RELEASE_DIR} > /dev/null
echo "Generating omaha release image from ${FLAGS_release}"
echo "Generating omaha factory image from ${FLAGS_factory}"
echo "Output omaha image to ${OMAHA_DATA_DIR}"
@@ -108,10 +111,10 @@ efi_hash=`cat efi.gz | openssl sha1 -binary | openssl base64`
mv efi.gz ${OMAHA_DATA_DIR}
echo "efi: ${efi_hash}"
-popd
+popd > /dev/null
# Go to retrieve the factory test image.
-pushd ${FACTORY_DIR}
+pushd ${FACTORY_DIR} > /dev/null
prepare_dir
@@ -128,7 +131,24 @@ state_hash=`cat state.gz | openssl sha1 -binary | openssl base64`
mv state.gz ${OMAHA_DATA_DIR}
echo "state: ${state_hash}"
-echo "
+popd > /dev/null
+
+if [ ${FLAGS_include_firmware} -eq ${FLAGS_TRUE} ] ; then
+ pushd ${FIRMWARE_DIR} > /dev/null
+
+ ./pack_firmware.sh | gzip -9 > firmware.gz
+ if [ "${PIPESTATUS[*]}" != "0 0" ]; then
+ echo "Failed to pack the firmware image."
+ exit 1
+ fi
+ firmware_hash=`cat firmware.gz | openssl sha1 -binary | openssl base64`
+ mv firmware.gz ${OMAHA_DATA_DIR}
+ echo "firmware: ${firmware_hash}"
+
+ popd > /dev/null
+fi
+
+echo -n "
config = [
{
'qual_ids': set([\"${FLAGS_board}\"]),
@@ -141,12 +161,19 @@ config = [
'efipartitionimg_image': 'efi.gz',
'efipartitionimg_checksum': '${efi_hash}',
'stateimg_image': 'state.gz',
- 'stateimg_checksum': '${state_hash}'
+ 'stateimg_checksum': '${state_hash}'," > ${OMAHA_DIR}/miniomaha.conf
+
+if [ ! -z ${FLAGS_include_firmware} ] ; then
+ echo -n "
+ 'firmware_image': 'firmware.gz',
+ 'firmware_checksum': '${firmware_hash}'," >> ${OMAHA_DIR}/miniomaha.conf
+fi
+
+echo -n "
},
]
-" > ${OMAHA_DIR}/miniomaha.conf
+" >> ${OMAHA_DIR}/miniomaha.conf
-popd
echo "The miniomaha server lives in src/platform/dev"
echo "to validate the configutarion, run:"
echo " python2.6 devserver.py --factory_config miniomaha.conf \
« no previous file with comments | « src/platform/memento_softwareupdate/memento_updater.sh ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698