aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--BoardConfigCommon.mk2
-rw-r--r--mofd.mk6
-rw-r--r--releasetools/mkbootimgbin0 -> 128400 bytes
-rw-r--r--releasetools/releasetools.py (renamed from releasetools.py)3
-rw-r--r--releasetools/sign_boot.sh28
-rw-r--r--releasetools/unmkbootimgbin0 -> 517884 bytes
6 files changed, 38 insertions, 1 deletions
diff --git a/BoardConfigCommon.mk b/BoardConfigCommon.mk
index 7f64334..d83b9ba 100644
--- a/BoardConfigCommon.mk
+++ b/BoardConfigCommon.mk
@@ -183,7 +183,7 @@ TARGET_RECOVERY_DEVICE_MODULES := libinit_mofd librecovery_updater_mofd intel_pr
TARGET_RECOVERY_DENSITY := hdpi
# Release tools
-TARGET_RELEASETOOLS_EXTENSIONS := device/asus/mofd-common
+TARGET_RELEASETOOLS_EXTENSIONS := device/asus/mofd-common/releasetools
# Security
BUILD_WITH_SECURITY_FRAMEWORK := chaabi_token
diff --git a/mofd.mk b/mofd.mk
index ddf4107..6268f96 100644
--- a/mofd.mk
+++ b/mofd.mk
@@ -44,6 +44,12 @@ PRODUCT_COPY_FILES += \
device/asus/mofd-common/audio/audio_policy.conf:system/etc/audio_policy.conf \
device/asus/mofd-common/audio/route_criteria.conf:system/etc/route_criteria.conf
+# Boot image hackery
+PRODUCT_COPY_FILES += \
+ device/asus/mofd-common/releasetools/mkbootimg:install/bin/mkbootimg \
+ device/asus/mofd-common/releasetools/unmkbootimg:install/bin/unmkbootimg \
+ device/asus/mofd-common/releasetools/sign_boot.sh:install/bin/sign_boot.sh
+
# Bluetooth
PRODUCT_COPY_FILES += \
device/asus/mofd-common/bluetooth/bt_vendor.conf:system/etc/bluetooth/bt_vendor.conf
diff --git a/releasetools/mkbootimg b/releasetools/mkbootimg
new file mode 100644
index 0000000..927d267
--- /dev/null
+++ b/releasetools/mkbootimg
Binary files differ
diff --git a/releasetools.py b/releasetools/releasetools.py
index b53f3d5..5537f58 100644
--- a/releasetools.py
+++ b/releasetools/releasetools.py
@@ -40,3 +40,6 @@ def AddIfwiAssertion(info, input_zip):
');')
info.script.AppendExtra(cmd)
+def FullOTA_InstallEnd(info):
+ info.script.AppendExtra('assert(run_program("/tmp/install/bin/sign_boot.sh") == 0);')
+
diff --git a/releasetools/sign_boot.sh b/releasetools/sign_boot.sh
new file mode 100644
index 0000000..cce45e7
--- /dev/null
+++ b/releasetools/sign_boot.sh
@@ -0,0 +1,28 @@
+#!/sbin/sh
+
+set -e
+
+# shell variables
+block=/dev/block/by-name/boot;
+
+# dump boot
+dump_boot() {
+ dd if=$block of=/tmp/old_boot.img;
+ /tmp/install/bin/unmkbootimg /tmp/old_boot.img;
+ echo "BOOT DUMPED TO /tmp!";
+}
+
+# append certificate and write image
+write_boot() {
+ /tmp/install/bin/mkbootimg --kernel kernel.gz --ramdisk initramfs.cpio.gz --cmdline "init=/init pci=noearly console=logk0 loglevel=0 vmalloc=256M androidboot.hardware=mofd_v1 watchdog.watchdog_thresh=60 androidboot.spid=xxxx:xxxx:xxxx:xxxx:xxxx:xxxx androidboot.serialno=01234567890123456789 gpt snd_pcm.maximum_substreams=8 ptrace.ptrace_can_access=1 panic=15 ip=50.0.0.2:50.0.0.1::255.255.255.0::usb0:on debug_locks=0 n_gsm.mux_base_conf=\"ttyACM0,0 ttyXMM0,1\" bootboost=1 androidboot.selinux=permissive" --base 0x10000000 --pagesize 2048 --ramdisk_offset 0x01000000 --tags_offset 0x00000100 --second second.gz -o /tmp/boot-new.img;
+
+cat /tmp/boot-new.img /tmp/install/bin/boot.sig > /tmp/boot.img;
+dd if=/tmp/boot.img of=$block;
+
+}
+
+dump_boot;
+write_boot;
+
+
+
diff --git a/releasetools/unmkbootimg b/releasetools/unmkbootimg
new file mode 100644
index 0000000..3e3c407
--- /dev/null
+++ b/releasetools/unmkbootimg
Binary files differ