diff options
author | vishal <vishal.bhoj@linaro.org> | 2018-04-09 23:08:48 +0530 |
---|---|---|
committer | vishal <vishal.bhoj@linaro.org> | 2018-04-09 23:09:20 +0530 |
commit | 1d0a524476f0e06299020896352439a30332c9e9 (patch) | |
tree | 6a9f40fb5408aa8fbf81a1e8d6f2e2c844d7a9ea | |
parent | 1d136fd6ff85dfbe91996149948533f4b055d645 (diff) | |
download | juno-1d0a524476f0e06299020896352439a30332c9e9.tar.gz |
create and package juno.img file
Change-Id: I4877c3960e0c6d7e11691dcf75b4f8108bc057cc
Signed-off-by: vishal <vishal.bhoj@linaro.org>
-rwxr-xr-x | pack_juno_img.sh | 64 |
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 |