38b3c7a122
This change introduces an "update-super" command to the fastboot protocol. Unlike the "flash" command, which copies raw or sparse data to a partition, the "update-super" command requires the data to be a super image generated by lpmake. If the super partition is not yet formatted (or is corrupt), then it will be formatted using the given image. Otherwise, "update-super" will preserve the existing partition layout, and only ensure that logical partition entries exist for all the new partitions in the given image. All new partitions added this way will have a zero size, and it is the host's responsibility to size them as needed afterwards with the "resize-logical-partition" command. In addition, the "update-super" command supports a "wipe" argument, which will force the super partition to be reformatted with the given image, overwriting any existing partition tables. Bug: 78793464 Test: fastboot flashall with a super partition Change-Id: If37d839a03e396e11b6c08a9c32984106613d1dc
25 lines
853 B
C++
25 lines
853 B
C++
/*
|
|
* Copyright (C) 2018 The Android Open Source Project
|
|
*
|
|
* Licensed under the Apache License, Version 2.0 (the "License");
|
|
* you may not use this file except in compliance with the License.
|
|
* You may obtain a copy of the License at
|
|
*
|
|
* http://www.apache.org/licenses/LICENSE-2.0
|
|
*
|
|
* Unless required by applicable law or agreed to in writing, software
|
|
* distributed under the License is distributed on an "AS IS" BASIS,
|
|
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
* See the License for the specific language governing permissions and
|
|
* limitations under the License.
|
|
*/
|
|
|
|
#pragma once
|
|
|
|
#include <string>
|
|
#include <vector>
|
|
|
|
class FastbootDevice;
|
|
|
|
int Flash(FastbootDevice* device, const std::string& partition_name);
|
|
bool UpdateSuper(FastbootDevice* device, const std::string& partition_name, bool wipe);
|