Jeongik Cha | 7cd7a59 | 2024-06-14 14:27:29 +0900 | [diff] [blame] | 1 | #!/system/bin/sh |
| 2 | |
Jiyong Park | f584413 | 2024-07-12 16:31:23 +0900 | [diff] [blame] | 3 | function round_up() { |
| 4 | num=$1 |
| 5 | div=$2 |
| 6 | echo $((( (( ${num} / ${div} ) + 1) * ${div} ))) |
Jeongik Cha | 7cd7a59 | 2024-06-14 14:27:29 +0900 | [diff] [blame] | 7 | } |
Jiyong Park | f584413 | 2024-07-12 16:31:23 +0900 | [diff] [blame] | 8 | |
| 9 | function install() { |
Jaewan Kim | 022640a | 2024-07-29 13:16:13 +0900 | [diff] [blame^] | 10 | src_dir=$(getprop debug.custom_vm_setup.path) |
| 11 | src_dir=${src_dir/#\/storage\/emulated\//\/data\/media\/} |
Jiyong Park | f584413 | 2024-07-12 16:31:23 +0900 | [diff] [blame] | 12 | dst_dir=/data/local/tmp/ |
| 13 | |
| 14 | cat $(find ${src_dir} -name "images.tar.gz*" | sort) | tar xz -C ${dst_dir} |
Jaewan Kim | 022640a | 2024-07-29 13:16:13 +0900 | [diff] [blame^] | 15 | cp -u ${src_dir}/vm_config.json ${dst_dir} |
| 16 | chmod 666 ${dst_dir}/* |
Jiyong Park | f584413 | 2024-07-12 16:31:23 +0900 | [diff] [blame] | 17 | |
| 18 | # increase the size of state.img to the multiple of 4096 |
| 19 | num_blocks=$(du -b -K ${dst_dir}state.img | cut -f 1) |
| 20 | required_num_blocks=$(round_up ${num_blocks} 4) |
| 21 | additional_blocks=$((( ${required_num_blocks} - ${num_blocks} ))) |
| 22 | dd if=/dev/zero bs=512 count=${additional_blocks} >> ${dst_dir}state.img |
| 23 | |
Jaewan Kim | 022640a | 2024-07-29 13:16:13 +0900 | [diff] [blame^] | 24 | rm ${src_dir}/images.tar.gz* |
| 25 | rm ${src_dir}/vm_config.json |
Jiyong Park | f584413 | 2024-07-12 16:31:23 +0900 | [diff] [blame] | 26 | } |
| 27 | |
Jeongik Cha | 7cd7a59 | 2024-06-14 14:27:29 +0900 | [diff] [blame] | 28 | setprop debug.custom_vm_setup.done false |
Jiyong Park | f584413 | 2024-07-12 16:31:23 +0900 | [diff] [blame] | 29 | install |
Jeongik Cha | 7cd7a59 | 2024-06-14 14:27:29 +0900 | [diff] [blame] | 30 | setprop debug.custom_vm_setup.start false |
Jeongik Cha | b61aa82 | 2024-06-26 01:26:38 +0900 | [diff] [blame] | 31 | setprop debug.custom_vm_setup.done true |