Index: make_factory_package.sh |
diff --git a/make_factory_package.sh b/make_factory_package.sh |
index 4f4b7bcd26c769ced253f870bf7011d45283c96d..9e17ad432ad281a86c6b6e87305cebde8ad402ed 100755 |
--- a/make_factory_package.sh |
+++ b/make_factory_package.sh |
@@ -24,8 +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 firmware_updater "" \ |
+ "If set, include the firmware shellball into the server configuration" |
DEFINE_string release "" \ |
"Directory and file containing release image: /path/chromiumos_image.bin" |
@@ -44,11 +44,16 @@ if [ ! -f "${FLAGS_factory}" ] ; then |
exit 1 |
fi |
+if [ ! -z "${FLAGS_firmware_updater}" ] && \ |
+ [ ! -f "${FLAGS_firmware_updater}" ] ; then |
+ echo "Cannot find firmware file ${FLAGS_firmware_updater}" |
+ exit 1 |
+fi |
+ |
# Convert args to paths. Need eval to un-quote the string so that shell |
# 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" |
@@ -133,19 +138,17 @@ echo "state: ${state_hash}" |
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." |
+if [ ! -z ${FLAGS_firmware_updater} ] ; then |
+ SHELLBALL="${FLAGS_firmware_updater}" |
+ if [ ! -f "$SHELLBALL" ]; then |
+ echo "Failed to find firmware updater: $SHELLBALL." |
exit 1 |
fi |
+ |
+ cat $SHELLBALL | gzip -9 > firmware.gz |
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 " |
@@ -163,7 +166,7 @@ config = [ |
'stateimg_image': 'state.gz', |
'stateimg_checksum': '${state_hash}'," > ${OMAHA_DIR}/miniomaha.conf |
-if [ ${FLAGS_include_firmware} -eq ${FLAGS_TRUE} ] ; then |
+if [ ! -z "${FLAGS_firmware_updater}" ] ; then |
echo -n " |
'firmware_image': 'firmware.gz', |
'firmware_checksum': '${firmware_hash}'," >> ${OMAHA_DIR}/miniomaha.conf |