From c709fd50f5f80a84600c2a7034c367cfa35d0cb8 Mon Sep 17 00:00:00 2001 From: osm0sis Date: Mon, 27 Feb 2017 16:30:54 -0400 Subject: [PATCH] AK2: add ChromeOS support - add built-in support for futility for ChromeOS devices (see https://github.com/osm0sis/futility) - small path cleanup since we generally need to be in /tmp/anykernel for post-repack anyway --- tools/ak2-core.sh | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) diff --git a/tools/ak2-core.sh b/tools/ak2-core.sh index 31995ec..33cb0c0 100755 --- a/tools/ak2-core.sh +++ b/tools/ak2-core.sh @@ -117,8 +117,8 @@ write_boot() { if [ $? != 0 ]; then ui_print " "; ui_print "Repacking ramdisk failed. Aborting..."; exit 1; fi; + cd /tmp/anykernel; if [ -f "$bin/mkmtkhdr" ]; then - cd /tmp/anykernel; $bin/mkmtkhdr --rootfs ramdisk-new.cpio.gz; mv -f ramdisk-new.cpio.gz-mtk ramdisk-new.cpio.gz; case $kernel in @@ -126,12 +126,19 @@ write_boot() { *) $bin/mkmtkhdr --kernel $kernel; kernel=$kernel-mtk;; esac; fi; - $bin/mkbootimg --kernel $kernel --ramdisk /tmp/anykernel/ramdisk-new.cpio.gz $second --cmdline "$cmdline" --board "$board" --base $base --pagesize $pagesize --kernel_offset $kerneloff --ramdisk_offset $ramdiskoff $secondoff --tags_offset "$tagsoff" --os_version "$osver" --os_patch_level "$oslvl" $dtb --output /tmp/anykernel/boot-new.img; + $bin/mkbootimg --kernel $kernel --ramdisk ramdisk-new.cpio.gz $second --cmdline "$cmdline" --board "$board" --base $base --pagesize $pagesize --kernel_offset $kerneloff --ramdisk_offset $ramdiskoff $secondoff --tags_offset "$tagsoff" --os_version "$osver" --os_patch_level "$oslvl" $dtb --output boot-new.img; if [ $? != 0 ]; then ui_print " "; ui_print "Repacking image failed. Aborting..."; exit 1; - elif [ `wc -c < /tmp/anykernel/boot-new.img` -gt `wc -c < /tmp/anykernel/boot.img` ]; then + elif [ `wc -c < boot-new.img` -gt `wc -c < boot.img` ]; then ui_print " "; ui_print "New image larger than boot partition. Aborting..."; exit 1; fi; + if [ -f "$bin/futility" -a -d "$bin/chromeos" ]; then + $bin/futility vbutil_kernel --pack boot-new-signed.img --keyblock $bin/chromeos/kernel.keyblock --signprivate $bin/chromeos/kernel_data_key.vbprivk --version 1 --vmlinuz boot-new.img --bootloader $bin/chromeos/empty --config $bin/chromeos/empty --arch arm --flags 0x1; + if [ $? != 0 ]; then + ui_print " "; ui_print "Signing image failed. Aborting..."; exit 1; + fi; + mv -f boot-new-signed.img boot-new.img; + fi; if [ -f "/data/custom_boot_image_patch.sh" ]; then ash /data/custom_boot_image_patch.sh /tmp/anykernel/boot-new.img; if [ $? != 0 ]; then