delta_generator: Use "kernel" and "root" partition names internally
This commit abandons using "boot" and "system" names internally for
major version 1 payloads in favor of "kernel" and "root", which is
symmetrical with what's used in major version 2 payloads.
BUG=chromium:794404
TEST=no errors running brillo_update_payload with FORCE_MAJOR_VERSION
set to either 1 or 2; paycheck.py <generated payload> --check and
printing partition names in protobuf confirms correct names are
generated
Change-Id: I396274812d5586e19a021c05b8b7a415aac976bf
Reviewed-on: https://chromium-review.googlesource.com/1119573
Commit-Ready: Tudor Brindus <tbrindus@chromium.org>
Tested-by: Tudor Brindus <tbrindus@chromium.org>
Reviewed-by: Amin Hassani <ahassani@chromium.org>
diff --git a/omaha_response_handler_action_unittest.cc b/omaha_response_handler_action_unittest.cc
index 55c642b..7437f50 100644
--- a/omaha_response_handler_action_unittest.cc
+++ b/omaha_response_handler_action_unittest.cc
@@ -51,13 +51,13 @@
void SetUp() override {
FakeBootControl* fake_boot_control = fake_system_state_.fake_boot_control();
fake_boot_control->SetPartitionDevice(
- kLegacyPartitionNameKernel, 0, "/dev/sdz2");
+ kPartitionNameKernel, 0, "/dev/sdz2");
fake_boot_control->SetPartitionDevice(
- kLegacyPartitionNameRoot, 0, "/dev/sdz3");
+ kPartitionNameRoot, 0, "/dev/sdz3");
fake_boot_control->SetPartitionDevice(
- kLegacyPartitionNameKernel, 1, "/dev/sdz4");
+ kPartitionNameKernel, 1, "/dev/sdz4");
fake_boot_control->SetPartitionDevice(
- kLegacyPartitionNameRoot, 1, "/dev/sdz5");
+ kPartitionNameRoot, 1, "/dev/sdz5");
}
// Return true iff the OmahaResponseHandlerAction succeeded.
diff --git a/payload_consumer/delta_performer.cc b/payload_consumer/delta_performer.cc
index a986b07..86bd6c3 100644
--- a/payload_consumer/delta_performer.cc
+++ b/payload_consumer/delta_performer.cc
@@ -800,7 +800,7 @@
} else if (major_payload_version_ == kChromeOSMajorPayloadVersion) {
LOG(INFO) << "Converting update information from old format.";
PartitionUpdate root_part;
- root_part.set_partition_name(kLegacyPartitionNameRoot);
+ root_part.set_partition_name(kPartitionNameRoot);
#ifdef __ANDROID__
LOG(WARNING) << "Legacy payload major version provided to an Android "
"build. Assuming no post-install. Please use major version "
@@ -822,7 +822,7 @@
partitions_.push_back(std::move(root_part));
PartitionUpdate kern_part;
- kern_part.set_partition_name(kLegacyPartitionNameKernel);
+ kern_part.set_partition_name(kPartitionNameKernel);
kern_part.set_run_postinstall(false);
if (manifest_.has_old_kernel_info()) {
*kern_part.mutable_old_partition_info() = manifest_.old_kernel_info();
diff --git a/payload_consumer/delta_performer_integration_test.cc b/payload_consumer/delta_performer_integration_test.cc
index 98bac9e..78647a5 100644
--- a/payload_consumer/delta_performer_integration_test.cc
+++ b/payload_consumer/delta_performer_integration_test.cc
@@ -504,8 +504,8 @@
payload_config.version.major = kChromeOSMajorPayloadVersion;
payload_config.version.minor = minor_version;
if (!full_rootfs) {
- payload_config.source.partitions.emplace_back(kLegacyPartitionNameRoot);
- payload_config.source.partitions.emplace_back(kLegacyPartitionNameKernel);
+ payload_config.source.partitions.emplace_back(kPartitionNameRoot);
+ payload_config.source.partitions.emplace_back(kPartitionNameKernel);
payload_config.source.partitions.front().path = state->a_img;
if (!full_kernel)
payload_config.source.partitions.back().path = state->old_kernel;
@@ -518,9 +518,9 @@
// Use 1 MiB chunk size for the full unittests.
payload_config.hard_chunk_size = 1024 * 1024;
}
- payload_config.target.partitions.emplace_back(kLegacyPartitionNameRoot);
+ payload_config.target.partitions.emplace_back(kPartitionNameRoot);
payload_config.target.partitions.back().path = state->b_img;
- payload_config.target.partitions.emplace_back(kLegacyPartitionNameKernel);
+ payload_config.target.partitions.emplace_back(kPartitionNameKernel);
payload_config.target.partitions.back().path = state->new_kernel;
payload_config.target.image_info = new_image_info;
EXPECT_TRUE(payload_config.target.LoadImageSize());
@@ -722,10 +722,10 @@
install_plan->target_slot = 1;
InstallPlan::Partition root_part;
- root_part.name = kLegacyPartitionNameRoot;
+ root_part.name = kPartitionNameRoot;
InstallPlan::Partition kernel_part;
- kernel_part.name = kLegacyPartitionNameKernel;
+ kernel_part.name = kPartitionNameKernel;
LOG(INFO) << "Setting payload metadata size in Omaha = "
<< state->metadata_size;
@@ -771,13 +771,13 @@
}
state->fake_boot_control_.SetPartitionDevice(
- kLegacyPartitionNameRoot, install_plan->source_slot, state->a_img);
+ kPartitionNameRoot, install_plan->source_slot, state->a_img);
state->fake_boot_control_.SetPartitionDevice(
- kLegacyPartitionNameKernel, install_plan->source_slot, state->old_kernel);
+ kPartitionNameKernel, install_plan->source_slot, state->old_kernel);
state->fake_boot_control_.SetPartitionDevice(
- kLegacyPartitionNameRoot, install_plan->target_slot, target_root);
+ kPartitionNameRoot, install_plan->target_slot, target_root);
state->fake_boot_control_.SetPartitionDevice(
- kLegacyPartitionNameKernel, install_plan->target_slot, target_kernel);
+ kPartitionNameKernel, install_plan->target_slot, target_kernel);
ErrorCode expected_error, actual_error;
bool continue_writing;
@@ -879,8 +879,8 @@
const auto& partitions = state->install_plan.partitions;
EXPECT_EQ(2U, partitions.size());
- EXPECT_EQ(kLegacyPartitionNameRoot, partitions[0].name);
- EXPECT_EQ(kLegacyPartitionNameKernel, partitions[1].name);
+ EXPECT_EQ(kPartitionNameRoot, partitions[0].name);
+ EXPECT_EQ(kPartitionNameKernel, partitions[1].name);
EXPECT_EQ(kDefaultKernelSize, partitions[1].target_size);
brillo::Blob expected_new_kernel_hash;
diff --git a/payload_consumer/delta_performer_unittest.cc b/payload_consumer/delta_performer_unittest.cc
index c3e4fdb..21f22d6 100644
--- a/payload_consumer/delta_performer_unittest.cc
+++ b/payload_consumer/delta_performer_unittest.cc
@@ -199,22 +199,22 @@
PayloadFile payload;
EXPECT_TRUE(payload.Init(config));
- PartitionConfig old_part(kLegacyPartitionNameRoot);
+ PartitionConfig old_part(kPartitionNameRoot);
if (minor_version != kFullPayloadMinorVersion) {
// When generating a delta payload we need to include the old partition
// information to mark it as a delta payload.
old_part.path = "/dev/null";
old_part.size = 0;
}
- PartitionConfig new_part(kLegacyPartitionNameRoot);
+ PartitionConfig new_part(kPartitionNameRoot);
new_part.path = "/dev/zero";
new_part.size = 1234;
payload.AddPartition(old_part, new_part, aops);
// We include a kernel partition without operations.
- old_part.name = kLegacyPartitionNameKernel;
- new_part.name = kLegacyPartitionNameKernel;
+ old_part.name = kPartitionNameKernel;
+ new_part.name = kPartitionNameKernel;
new_part.size = 0;
payload.AddPartition(old_part, new_part, {});
@@ -277,13 +277,13 @@
// We installed the operations only in the rootfs partition, but the
// delta performer needs to access all the partitions.
fake_boot_control_.SetPartitionDevice(
- kLegacyPartitionNameRoot, install_plan_.target_slot, new_part);
+ kPartitionNameRoot, install_plan_.target_slot, new_part);
fake_boot_control_.SetPartitionDevice(
- kLegacyPartitionNameRoot, install_plan_.source_slot, source_path);
+ kPartitionNameRoot, install_plan_.source_slot, source_path);
fake_boot_control_.SetPartitionDevice(
- kLegacyPartitionNameKernel, install_plan_.target_slot, "/dev/null");
+ kPartitionNameKernel, install_plan_.target_slot, "/dev/null");
fake_boot_control_.SetPartitionDevice(
- kLegacyPartitionNameKernel, install_plan_.source_slot, "/dev/null");
+ kPartitionNameKernel, install_plan_.source_slot, "/dev/null");
EXPECT_EQ(expect_success,
performer_.Write(payload_data.data(), payload_data.size()));
diff --git a/payload_consumer/payload_constants.cc b/payload_consumer/payload_constants.cc
index 797e76d..6e7cd00 100644
--- a/payload_consumer/payload_constants.cc
+++ b/payload_consumer/payload_constants.cc
@@ -36,8 +36,8 @@
const uint64_t kMaxPayloadHeaderSize = 24;
-const char kLegacyPartitionNameKernel[] = "boot";
-const char kLegacyPartitionNameRoot[] = "system";
+const char kPartitionNameKernel[] = "kernel";
+const char kPartitionNameRoot[] = "root";
const char kDeltaMagic[4] = {'C', 'r', 'A', 'U'};
diff --git a/payload_consumer/payload_constants.h b/payload_consumer/payload_constants.h
index 43c3137..0833484 100644
--- a/payload_consumer/payload_constants.h
+++ b/payload_consumer/payload_constants.h
@@ -63,8 +63,8 @@
// The kernel and rootfs partition names used by the BootControlInterface when
// handling update payloads with a major version 1. The names of the updated
// partitions are include in the payload itself for major version 2.
-extern const char kLegacyPartitionNameKernel[];
-extern const char kLegacyPartitionNameRoot[];
+extern const char kPartitionNameKernel[];
+extern const char kPartitionNameRoot[];
extern const char kBspatchPath[];
extern const char kDeltaMagic[4];
diff --git a/payload_generator/generate_delta_main.cc b/payload_generator/generate_delta_main.cc
index d5a73ef..cd08118 100644
--- a/payload_generator/generate_delta_main.cc
+++ b/payload_generator/generate_delta_main.cc
@@ -290,8 +290,8 @@
"Path to the .map files associated with the partition files "
"in the new partition, similar to the -old_mapfiles flag.");
DEFINE_string(partition_names,
- string(kLegacyPartitionNameRoot) + ":" +
- kLegacyPartitionNameKernel,
+ string(kPartitionNameRoot) + ":" +
+ kPartitionNameKernel,
"Names of the partitions. To pass multiple names, use a single "
"argument with a colon between names, e.g. "
"name:name2:name3:last_name . Name can not be empty, and it "
@@ -447,8 +447,8 @@
LOG_IF(FATAL, partition_names.size() != 2)
<< "To support more than 2 partitions, please use the "
<< "--new_partitions flag and major version 2.";
- LOG_IF(FATAL, partition_names[0] != kLegacyPartitionNameRoot ||
- partition_names[1] != kLegacyPartitionNameKernel)
+ LOG_IF(FATAL, partition_names[0] != kPartitionNameRoot ||
+ partition_names[1] != kPartitionNameKernel)
<< "To support non-default partition name, please use the "
<< "--new_partitions flag and major version 2.";
}
diff --git a/payload_generator/inplace_generator.cc b/payload_generator/inplace_generator.cc
index febdcce..62608e5 100644
--- a/payload_generator/inplace_generator.cc
+++ b/payload_generator/inplace_generator.cc
@@ -802,7 +802,7 @@
config.hard_chunk_size / config.block_size);
size_t soft_chunk_blocks = config.soft_chunk_size / config.block_size;
uint64_t partition_size = new_part.size;
- if (new_part.name == kLegacyPartitionNameRoot)
+ if (new_part.name == kPartitionNameRoot)
partition_size = config.rootfs_partition_size;
LOG(INFO) << "Delta compressing " << new_part.name << " partition...";
diff --git a/payload_generator/payload_file.cc b/payload_generator/payload_file.cc
index 941b640..a9e32a3 100644
--- a/payload_generator/payload_file.cc
+++ b/payload_generator/payload_file.cc
@@ -81,8 +81,8 @@
const vector<AnnotatedOperation>& aops) {
// Check partitions order for Chrome OS
if (major_version_ == kChromeOSMajorPayloadVersion) {
- const vector<const char*> part_order = { kLegacyPartitionNameRoot,
- kLegacyPartitionNameKernel };
+ const vector<const char*> part_order = { kPartitionNameRoot,
+ kPartitionNameKernel };
TEST_AND_RETURN_FALSE(part_vec_.size() < part_order.size());
TEST_AND_RETURN_FALSE(new_conf.name == part_order[part_vec_.size()]);
}
@@ -152,7 +152,7 @@
*(partition->mutable_new_partition_info()) = part.new_info;
} else {
// major_version_ == kChromeOSMajorPayloadVersion
- if (part.name == kLegacyPartitionNameKernel) {
+ if (part.name == kPartitionNameKernel) {
for (const AnnotatedOperation& aop : part.aops)
*manifest_.add_kernel_install_operations() = aop.op;
if (part.old_info.has_size() || part.old_info.has_hash())
diff --git a/payload_generator/payload_generation_config.cc b/payload_generator/payload_generation_config.cc
index 15d4ab5..1f65b24 100644
--- a/payload_generator/payload_generation_config.cc
+++ b/payload_generator/payload_generation_config.cc
@@ -209,7 +209,7 @@
TEST_AND_RETURN_FALSE(part.ValidateExists());
TEST_AND_RETURN_FALSE(part.size % block_size == 0);
if (version.minor == kInPlaceMinorPayloadVersion &&
- part.name == kLegacyPartitionNameRoot)
+ part.name == kPartitionNameRoot)
TEST_AND_RETURN_FALSE(rootfs_partition_size >= part.size);
if (version.major == kChromeOSMajorPayloadVersion)
TEST_AND_RETURN_FALSE(part.postinstall.IsEmpty());
diff --git a/scripts/brillo_update_payload b/scripts/brillo_update_payload
index 9dae42b..70ab7e2 100755
--- a/scripts/brillo_update_payload
+++ b/scripts/brillo_update_payload
@@ -118,7 +118,7 @@
# Check that a command is specified.
if [[ $# -lt 1 ]]; then
- echo "Please specify a command [generate|hash|sign|properties]"
+ echo "Please specify a command [generate|hash|sign|properties|verify]"
exit 1
fi
@@ -362,18 +362,15 @@
# updater supports a newer major version.
FORCE_MAJOR_VERSION="1"
- # When generating legacy Chrome OS images, we need to use "boot" and "system"
- # for the partition names to be compatible with updating Brillo devices with
- # Chrome OS images.
- eval ${partitions_array}[boot]=\""${kernel}"\"
- eval ${partitions_array}[system]=\""${root}"\"
+ eval ${partitions_array}[kernel]=\""${kernel}"\"
+ eval ${partitions_array}[root]=\""${root}"\"
if [[ -n "${partitions_order}" ]]; then
- eval "${partitions_order}=( \"system\" \"boot\" )"
+ eval "${partitions_order}=( \"root\" \"kernel\" )"
fi
local part varname
- for part in boot system; do
+ for part in kernel root; do
varname="${partitions_array}[${part}]"
printf "md5sum of %s: " "${varname}"
md5sum "${!varname}"