AK2: improve/expand multi-partition use cases

- if no ramdisk is found in the zip, check for and copy files in from "$(basename $block)-files", e.g. boot-files + recovery-files subfolders, each which can contain their own zImage, and ramdisk and patch subfolders, etc.
- as part of the reset_ak command, copy the output files back to the corresponding *-files subfolder for use in debugging
* when ak2-core.sh gets run again by reset_ak after changing block= in anykernel.sh the above process begins again
This commit is contained in:
osm0sis committed 2018-03-22 18:51:01 -03:00
1 parent 1176e19406
commit d7c56e9c06
1 file changed
+12 -2
+12 -2
View File
@@ -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);