diff --git a/tools/ak2-core.sh b/tools/ak2-core.sh index 00491fe..71b33fd 100755 --- a/tools/ak2-core.sh +++ b/tools/ak2-core.sh @@ -6,7 +6,7 @@ split_img=/tmp/anykernel/split_img; patch=/tmp/anykernel/patch; chmod -R 755 $bin; -mkdir -p $ramdisk $split_img; +mkdir -p $split_img; FD=$1; OUTFD=/proc/self/fd/$FD; @@ -22,7 +22,10 @@ file_getprop() { grep "^$2=" "$1" | cut -d= -f2; } # reset anykernel directory reset_ak() { - rm -rf $ramdisk $split_img /tmp/anykernel/rdtmp /tmp/anykernel/boot.img /tmp/anykernel/*-new.*; + for i in $ramdisk $split_img /tmp/anykernel/rdtmp /tmp/anykernel/boot.img /tmp/anykernel/*-new*; do + cp -af $i $(dirname /tmp/anykernel/*-files/current); + done; + rm -rf $ramdisk $split_img /tmp/anykernel/rdtmp /tmp/anykernel/boot.img /tmp/anykernel/*-new* /tmp/anykernel/*-files/current; . /tmp/anykernel/tools/ak2-core.sh $FD; } @@ -502,6 +505,13 @@ patch_prop() { fi; } +# allow multi-partition ramdisk modifying configurations (using reset_ak) +if [ ! -d "$ramdisk" -a -d "$(basename $block)-files" ]; then + cp -af /tmp/anykernel/$(basename $block)-files/* /tmp/anykernel; + touch /tmp/anykernel/$(basename $block)-files/current; +fi; +test ! -d "$ramdisk" && mkdir -p $ramdisk; + # slot detection enabled by is_slot_device=1 (from anykernel.sh) if [ "$is_slot_device" == 1 ]; then slot=$(getprop ro.boot.slot_suffix 2>/dev/null);