Merge "Revert "Revert "16KB: Move copy_efs_file_to_data script to gs-co..."" into main
This commit is contained in:
commit
fe6e700db0
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