Merge "16KB: Move copy_efs_file_to_data script to gs-common" into main
This commit is contained in:
commit
dcadf3aed6
3 changed files with 74 additions and 0 deletions
22
16kb/16kb.mk
Normal file
22
16kb/16kb.mk
Normal file
|
@ -0,0 +1,22 @@
|
||||||
|
#
|
||||||
|
# Copyright (C) 2025 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.
|
||||||
|
#
|
||||||
|
|
||||||
|
#######################################################################
|
||||||
|
# WARNING: Any rule defined here automatically gets inherited for
|
||||||
|
# *BOTH* 4 KB and 16 KB targets where this file is included.
|
||||||
|
#######################################################################
|
||||||
|
|
||||||
|
PRODUCT_PACKAGES += copy_efs_files_to_data
|
13
16kb/Android.bp
Normal file
13
16kb/Android.bp
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
package {
|
||||||
|
default_applicable_licenses: ["Android-Apache-2.0"],
|
||||||
|
}
|
||||||
|
|
||||||
|
// Filesystem: Copy efs/efs_backup/modem_userdata to /data partition
|
||||||
|
// so that they can be accessed under 16K mode. By default, these partitions
|
||||||
|
// are 4K F2FS , which can't be mounted under 16K mode.
|
||||||
|
// (b/293313353)
|
||||||
|
sh_binary {
|
||||||
|
name: "copy_efs_files_to_data",
|
||||||
|
src: "copy_efs_files_to_data.sh",
|
||||||
|
vendor: true,
|
||||||
|
}
|
39
16kb/copy_efs_files_to_data.sh
Normal file
39
16kb/copy_efs_files_to_data.sh
Normal file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/vendor/bin/sh
|
||||||
|
|
||||||
|
CHECKPOINT_DIR=/data/vendor/copied
|
||||||
|
|
||||||
|
export BIN_DIR=/vendor/bin
|
||||||
|
|
||||||
|
$BIN_DIR/mkdir -p $CHECKPOINT_DIR
|
||||||
|
|
||||||
|
function copy_files_to_data()
|
||||||
|
{
|
||||||
|
block_device=$1
|
||||||
|
partition_name=$(basename $1)
|
||||||
|
mount_point=$2
|
||||||
|
tmpdir=$CHECKPOINT_DIR/$partition_name.img
|
||||||
|
build_checkpoint=$CHECKPOINT_DIR/$partition_name
|
||||||
|
if [ ! -e $build_checkpoint ]; then
|
||||||
|
$BIN_DIR/rm -rf $tmpdir
|
||||||
|
$BIN_DIR/mkdir -p $tmpdir
|
||||||
|
$BIN_DIR/dump.f2fs -rfPLo $tmpdir $block_device
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "Failed to $BIN_DIR/dump.f2fs -rfPLo $tmpdir $block_device"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
$BIN_DIR/mv $tmpdir $build_checkpoint
|
||||||
|
if [ $? -ne 0 ]; then
|
||||||
|
echo "mv $tmpdir $build_checkpoint"
|
||||||
|
return
|
||||||
|
fi
|
||||||
|
$BIN_DIR/fsync `dirname $build_checkpoint`
|
||||||
|
fi
|
||||||
|
echo "Successfully copied $mount_point to $build_checkpoint"
|
||||||
|
}
|
||||||
|
|
||||||
|
copy_files_to_data "/dev/block/by-name/efs" "/mnt/vendor/efs"
|
||||||
|
copy_files_to_data "/dev/block/by-name/efs_backup" "/mnt/vendor/efs_backup"
|
||||||
|
copy_files_to_data "/dev/block/by-name/modem_userdata" "/mnt/vendor/modem_userdata"
|
||||||
|
copy_files_to_data "/dev/block/by-name/persist" "/mnt/vendor/persist"
|
||||||
|
|
||||||
|
$BIN_DIR/fsync /data/vendor/copied
|
Loading…
Add table
Add a link
Reference in a new issue