summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorvishal <vishal.bhoj@linaro.org>2018-04-09 23:08:48 +0530
committervishal <vishal.bhoj@linaro.org>2018-04-09 23:09:20 +0530
commit1d0a524476f0e06299020896352439a30332c9e9 (patch)
tree6a9f40fb5408aa8fbf81a1e8d6f2e2c844d7a9ea
parent1d136fd6ff85dfbe91996149948533f4b055d645 (diff)
downloadjuno-1d0a524476f0e06299020896352439a30332c9e9.tar.gz
create and package juno.img file
Change-Id: I4877c3960e0c6d7e11691dcf75b4f8108bc057cc Signed-off-by: vishal <vishal.bhoj@linaro.org>
-rwxr-xr-xpack_juno_img.sh64
1 files changed, 64 insertions, 0 deletions
diff --git a/pack_juno_img.sh b/pack_juno_img.sh
new file mode 100755
index 0000000..8cc0e43
--- /dev/null
+++ b/pack_juno_img.sh
@@ -0,0 +1,64 @@
+#!/bin/sh
+# Generate partition table for HiKey eMMC
+#
+# tiny: for testing purpose.
+# aosp: 10 entries (same as linux with userdata).
+# linux: 9 entries (same as aosp without userdata).
+
+set -ex
+
+IMG=${IMG:-android.img}
+IMAGE_LEN=${IMAGE_LEN:-4096}
+
+size_in_mb() {
+ local size_in_bytes
+ size_in_bytes=$(wc -c $1)
+ size_in_bytes=${size_in_bytes%% *}
+ echo $((size_in_bytes / 1024 / 1024 + 1))
+}
+
+SYSTEM_IMG=${SYSTEM_IMG:-system.img}
+SYSTEM_SIZE=$(size_in_mb ${SYSTEM_IMG})
+USERDATA_IMG=${USERDATA_IMG:-userdata.img}
+USERDATA_SIZE=$(size_in_mb ${USERDATA_IMG})
+CACHE_IMG=${CACHE_IMG:-cache.img}
+CACHE_SIZE=$(size_in_mb ${CACHE_IMG})
+VENDOR_IMG=${VENDOR_IMG:-vendor.img}
+VENDOR_SIZE=$(size_in_mb ${VENDOR_IMG})
+
+# measured in MBytes
+PART1_START=1
+PART1_END=4
+PART2_START=${PART1_END}
+PART2_END=$((PART2_START + SYSTEM_SIZE))
+PART3_START=${PART2_END}
+PART3_END=$((PART3_START + VENDOR_SIZE))
+PART4_START=${PART3_END}
+PART4_END=$((PART4_START + USERDATA_SIZE))
+PART5_START=${PART4_END}
+PART5_END=$((PART5_START + CACHE_SIZE))
+
+SECTOR_SIZE=512
+SECTOR_NUMBER=7634944
+
+dd if=/dev/zero of=${IMG} bs=${SECTOR_SIZE} count=${SECTOR_NUMBER}
+sgdisk -U 2CB85345-6A91-4043-8203-723F0D28FBE8 -v ${IMG}
+#[1: boot]
+sgdisk -n 1:0:+4M -t 1:0700 -u 1:496847AB-56A1-4CD5-A1AD-47F4ACF055C9 -c 1:"boot" ${IMG}
+#[2: system]
+sgdisk -n 2:0:+${SYSTEM_SIZE}M -t 2:8300 -u 2:61A36FC1-8EFB-4899-84D8-B61642EFA723 -c 2:"system" ${IMG}
+#[3: vendor]
+sgdisk -n 3:0:+${VENDOR_SIZE}M -t 3:8300 -u 3:65007411-962D-4781-9B2C-51DD7DF22CC3 -c 3:"vendor" ${IMG}
+#[4: userdata]
+sgdisk -n 4:0:+${USERDATA_SIZE}M -t 4:8300 -u 4:496847AB-56A1-4CD5-A1AD-47F4ACF055C9 -c 4:"userdata" ${IMG}
+#[5: cache]
+ sgdisk -n 5:0:+${CACHE_SIZE}M -t 5:8300 -u 5:00354BCD-BBCB-4CB3-B5AE-CDEFCB5DAC43 -c 5:"cache" ${IMG}
+
+# Create partitions
+LOOP_DEVICE=$(sudo losetup --partscan --show --find ${IMG})
+sudo dd if=$SYSTEM_IMG of=${LOOP_DEVICE}p2 conv=notrunc
+sudo dd if=$VENDOR_IMG of=${LOOP_DEVICE}p3 conv=notrunc
+sudo dd if=$USERDATA_IMG of=${LOOP_DEVICE}p4 conv=notrunc
+sudo dd if=$CACHE_IMG of=${LOOP_DEVICE}p5 conv=notrunc
+sudo losetup -d ${LOOP_DEVICE}
+bzip2 -9 $IMG