There are 4 partitions that are flashed at the factory and use F2FS fs with 4kb block size: - /dev/block/by-name/efs - /dev/block/by-name/efs_backup - /dev/block/by-name/modem_userdata - /dev/block/by-name/persist These partitions can NOT be mounted by 16kb kernels because F2FS expects BLOCK_SIZE == PAGE_SIZE. In order to access the files in these partitions by 16kb kernels, the dump.f2fs tool is used. This change will perform these steps at boot time ONLY for 16kb mode. For every partition (efs/efs_backup/modem_userdata/persist): 1. Use dump.f2fs to copy the content of the partition to /data/vendor/copied/<partition name>.img. 2. If the copy was succesfull, rename /data/vendor/copied/<partition name>.img to /data/vendor/copied/<partition name> 3. fsync the content of the directory /data/vendor/copied/<partition name>. After the content of the partitions is in /data/vendor/copied, bind-mount the partitions to the directory /mnt/vendor. See conf/fstab.efs.from_data. Note: This change ONLY applies to 16kb kernels. This change does not modify the original partitions. Bug: 347015136 Bug: 362368691 Test: $ source build/envsetup.sh $ lunch [zumapro]-trunk_staging-userdebug $ m $ ./vendor/google/tools/flashall -w Flag: EXEMPT bugfix Change-Id: Idf46a2a3a4f0b2e91ee4a0322a0c469e055684c8
53 lines
1.7 KiB
Text
53 lines
1.7 KiB
Text
soong_namespace {
|
|
imports: [
|
|
"hardware/google/interfaces",
|
|
"hardware/google/pixel",
|
|
],
|
|
}
|
|
|
|
package {
|
|
default_applicable_licenses: ["device_google_zumapro_license"],
|
|
}
|
|
|
|
// Added automatically by a large-scale-change that took the approach of
|
|
// 'apply every license found to every target'. While this makes sure we respect
|
|
// every license restriction, it may not be entirely correct.
|
|
//
|
|
// e.g. GPL in an MIT project might only apply to the contrib/ directory.
|
|
//
|
|
// Please consider splitting the single license below into multiple licenses,
|
|
// taking care not to lose any license_kind information, and overriding the
|
|
// default license using the 'licenses: [...]' property on targets as needed.
|
|
//
|
|
// For unused files, consider creating a 'fileGroup' with "//visibility:private"
|
|
// to attach the license to, and including a comment whether the files may be
|
|
// used in the current project.
|
|
// See: http://go/android-license-faq
|
|
license {
|
|
name: "device_google_zumapro_license",
|
|
visibility: [":__subpackages__"],
|
|
license_kinds: [
|
|
"SPDX-license-identifier-Apache-2.0",
|
|
"SPDX-license-identifier-BSD",
|
|
],
|
|
license_text: [
|
|
"NOTICE",
|
|
],
|
|
}
|
|
|
|
sh_binary {
|
|
name: "disable_contaminant_detection.sh",
|
|
src: "disable_contaminant_detection.sh",
|
|
vendor: true,
|
|
sub_dir: "hw",
|
|
}
|
|
|
|
// Filesystem: Copy the content of the efs/efs_backup/modem_userdata/persist
|
|
// partitions to /data partition so that they can be accessed by 16kb kernels.
|
|
// By default, these partitions are F2FS formatted with 4kb block size,
|
|
// which can't be mounted by 16kb kernels.
|
|
sh_binary {
|
|
name: "copy_efs_files_to_data",
|
|
src: "copy_efs_files_to_data.sh",
|
|
vendor: true,
|
|
}
|