blob: 4dce0c7b0bb2e642d2f04e545511a5dc02aef76e [file] [log] [blame]
Jeongik Cha7cd7a592024-06-14 14:27:29 +09001#!/system/bin/sh
2
Jiyong Parkf5844132024-07-12 16:31:23 +09003function round_up() {
4 num=$1
5 div=$2
6 echo $((( (( ${num} / ${div} ) + 1) * ${div} )))
Jeongik Cha7cd7a592024-06-14 14:27:29 +09007}
Jiyong Parkf5844132024-07-12 16:31:23 +09008
9function install() {
Jaewan Kim022640a2024-07-29 13:16:13 +090010 src_dir=$(getprop debug.custom_vm_setup.path)
11 src_dir=${src_dir/#\/storage\/emulated\//\/data\/media\/}
Jiyong Parkf5844132024-07-12 16:31:23 +090012 dst_dir=/data/local/tmp/
13
14 cat $(find ${src_dir} -name "images.tar.gz*" | sort) | tar xz -C ${dst_dir}
Jaewan Kim022640a2024-07-29 13:16:13 +090015 cp -u ${src_dir}/vm_config.json ${dst_dir}
16 chmod 666 ${dst_dir}/*
Jiyong Parkf5844132024-07-12 16:31:23 +090017
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 Kim022640a2024-07-29 13:16:13 +090024 rm ${src_dir}/images.tar.gz*
25 rm ${src_dir}/vm_config.json
Jiyong Parkf5844132024-07-12 16:31:23 +090026}
27
Jeongik Cha7cd7a592024-06-14 14:27:29 +090028setprop debug.custom_vm_setup.done false
Jiyong Parkf5844132024-07-12 16:31:23 +090029install
Jeongik Cha7cd7a592024-06-14 14:27:29 +090030setprop debug.custom_vm_setup.start false
Jeongik Chab61aa822024-06-26 01:26:38 +090031setprop debug.custom_vm_setup.done true