From 49b9c41d6a4a8b906cb1715fff26a3a74f519257 Mon Sep 17 00:00:00 2001 From: Jonas Karlman Date: Sun, 12 Mar 2017 09:51:31 +0100 Subject: [PATCH] scripts/mkimage: align partitions to 4MiB (cherry picked from commit e4ba1d473636d1c9ca741be9cb9c2da8a3f53450) --- distributions/LibreELEC/options | 2 +- packages/tools/installer/scripts/installer | 6 +++--- scripts/mkimage | 10 ++++++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/distributions/LibreELEC/options b/distributions/LibreELEC/options index 01b80c7a17..322229278d 100644 --- a/distributions/LibreELEC/options +++ b/distributions/LibreELEC/options @@ -195,4 +195,4 @@ # Default size of system partition, in MB, eg. 512 SYSTEM_SIZE=512 # Default system partition offset, in sectors, eg. 2048 - SYSTEM_PART_START=2048 + SYSTEM_PART_START=8192 diff --git a/packages/tools/installer/scripts/installer b/packages/tools/installer/scripts/installer index abca27aae8..4858d4bd9c 100755 --- a/packages/tools/installer/scripts/installer +++ b/packages/tools/installer/scripts/installer @@ -188,8 +188,8 @@ do_install_quick() { fi partsize_system_start=$PARTSIZE_SYSTEM_OFFSET - partsize_system_end=$(((PARTSIZE_SYSTEM * 1024 * 1024 / 512) + partsize_system_start)) - partsize_storage_start=$((partsize_system_end + 2048)) + partsize_system_end=$(((PARTSIZE_SYSTEM * 1024 * 1024 / 512) + partsize_system_start - 1)) + partsize_storage_start=$((partsize_system_end + 1)) partsize_storage_end=-1024 msg_progress_install "10" "Creating partition on $INSTALL_DEVICE" @@ -200,7 +200,7 @@ do_install_quick() { fi msg_progress_install "13" "Creating partition on $INSTALL_DEVICE" - parted -s $INSTALL_DEVICE unit s mkpart primary ext2 -- $partsize_storage_start $partsize_storage_end >> $LOGFILE 2>&1 + parted -s $INSTALL_DEVICE unit s mkpart primary ext4 -- $partsize_storage_start $partsize_storage_end >> $LOGFILE 2>&1 msg_progress_install "16" "Setup bootflag on partition 1 of $INSTALL_DEVICE" parted -s $INSTALL_DEVICE set 1 boot on >> $LOGFILE 2>&1 diff --git a/scripts/mkimage b/scripts/mkimage index 1c9c87f73b..c187df2a6b 100755 --- a/scripts/mkimage +++ b/scripts/mkimage @@ -34,7 +34,9 @@ STORAGE_SIZE=32 # STORAGE_SIZE must be >= 32 ! - DISK_SIZE=$(( $SYSTEM_SIZE + $STORAGE_SIZE + 4 )) + DISK_START_PADDING=$(( ($SYSTEM_PART_START + 2048 - 1) / 2048 )) + DISK_GPT_PADDING=1 + DISK_SIZE=$(( $DISK_START_PADDING + $SYSTEM_SIZE + $STORAGE_SIZE + $DISK_GPT_PADDING )) DISK="$TARGET_IMG/$IMAGE_NAME.img" # functions @@ -79,7 +81,7 @@ trap cleanup SIGINT # create part1 echo "image: creating part1..." - SYSTEM_PART_END=$(( ($SYSTEM_SIZE * 1024 * 1024 / 512) + $SYSTEM_PART_START )) + SYSTEM_PART_END=$(( $SYSTEM_PART_START + ($SYSTEM_SIZE * 1024 * 1024 / 512) - 1 )) parted -s "$DISK" -a min unit s mkpart primary fat32 $SYSTEM_PART_START $SYSTEM_PART_END if [ "$BOOTLOADER" = "syslinux" ]; then parted -s "$DISK" set 1 legacy_boot on @@ -89,8 +91,8 @@ trap cleanup SIGINT sync # create part2 echo "image: creating part2..." - STORAGE_PART_START=$(( $SYSTEM_PART_END + 2048 )) - STORAGE_PART_END=$(( $STORAGE_PART_START + (( $STORAGE_SIZE * 1024 * 1024 / 512 )) )) + STORAGE_PART_START=$(( $SYSTEM_PART_END + 1 )) + STORAGE_PART_END=$(( $STORAGE_PART_START + ($STORAGE_SIZE * 1024 * 1024 / 512) - 1 )) parted -s "$DISK" -a min unit s mkpart primary ext4 $STORAGE_PART_START $STORAGE_PART_END sync