Typo and change bashism to $()

This commit is contained in:
cyteen 2024-06-07 16:31:01 +01:00
parent 13e2de71e3
commit a5ce81eec8
1 changed files with 36 additions and 40 deletions

View File

@ -3,7 +3,7 @@ set -ex
DISK_NAME=${PWD}/decode-sgdisk.img
# cleanup
touch $DISK_NAME
rm "${}DISK_NAME}"
rm "${DISK_NAME}"
# Partition sizes in MiB
IDBLOADER_SIZE=4
@ -13,33 +13,32 @@ BOOT_SIZE=16
ROOT_SIZE=128
# Define max sizes and offsets
IDBLOADER_START=64 # was 64 but report it is not aligned, 2048, which is 1MB alignment.
IDBLOADER_OFFSET=$((${IDBLOADER_SIZE}*1024*1024/512)) # 8192 4MiB 8192
UBOOT_OFFSET=$((${UBOOT_SIZE}*1024*1024/512)) # 16382 8MiB 16384
TRUST_OFFSET=$((${TRUST_SIZE}*1024*1024/512)) # 24575 12MiB 24575
BOOT_OFFSET=$((${BOOT_SIZE}*1024*1024/512)) # 32768 16MiB 32768
ROOT_OFFSET=$((${ROOT_SIZE}*1024*1024/512)) # 524288 128MiB 262144
IDBLOADER_START=64 # was 64 but report it is not aligned, 2048, which is 1MB alignment.
IDBLOADER_OFFSET=$((${IDBLOADER_SIZE} * 1024 * 1024 / 512)) # 8192 4MiB 8192
UBOOT_OFFSET=$((${UBOOT_SIZE} * 1024 * 1024 / 512)) # 16382 8MiB 16384
TRUST_OFFSET=$((${TRUST_SIZE} * 1024 * 1024 / 512)) # 24575 12MiB 24575
BOOT_OFFSET=$((${BOOT_SIZE} * 1024 * 1024 / 512)) # 32768 16MiB 32768
ROOT_OFFSET=$((${ROOT_SIZE} * 1024 * 1024 / 512)) # 524288 128MiB 262144
MIN_SIZE=$((500*1000*1000/512)) # 976562 500MiB
SIZE_STEP=$((100*1000*1000/512)) # 195312 100MiB
MAX_SIZE=$((8*1000*1000*1000/512)) # 15625000 8GiB
MIN_SIZE=$((500 * 1000 * 1000 / 512)) # 976562 500MiB
SIZE_STEP=$((100 * 1000 * 1000 / 512)) # 195312 100MiB
MAX_SIZE=$((8 * 1000 * 1000 * 1000 / 512)) # 15625000 8GiB
# Create
rm -f "$DISK_NAME"
truncate --size "$((MAX_SIZE*512))" "$DISK_NAME"
truncate --size "$((MAX_SIZE * 512))" "$DISK_NAME"
bootfs="fat32"
rootfs="ext2"
alignment_type="optimal" # none, cylinder, minimal, optimal
alignment_type="optimal" # none, cylinder, minimal, optimal
gpt_loader1=(64 8063) # name:loader1 type=Linux data 8300 label=""
gpt_reserved1=(8064 8191) # name:reserved1 type=Linux data 8300 label=""
gpt_reserved2=(8192 16383) # name:reserved2 type=Linux data 8300 label=""
gpt_loader2=(16384 24575) # name:reserved2 type=Linux data 8300 label=""
gpt_atf=(24576 32767) # name:atf type=Linux data 8300 label=""
gpt_boot=(32768 262143) # name:boot type=Basic data 0700 label="boot" Attr=msftdata
gpt_root=(262144) # name:root type=Linux data 8300 label="linux-root" Attr=legacy-boot=1 # NB change to type=Linux ARM64 root 8305
gpt_loader1=(64 8063) # name:loader1 type=Linux data 8300 label=""
gpt_reserved1=(8064 8191) # name:reserved1 type=Linux data 8300 label=""
gpt_reserved2=(8192 16383) # name:reserved2 type=Linux data 8300 label=""
gpt_loader2=(16384 24575) # name:reserved2 type=Linux data 8300 label=""
gpt_atf=(24576 32767) # name:atf type=Linux data 8300 label=""
gpt_boot=(32768 262143) # name:boot type=Basic data 0700 label="boot" Attr=msftdata
gpt_root=(262144) # name:root type=Linux data 8300 label="linux-root" Attr=legacy-boot=1 # NB change to type=Linux ARM64 root 8305
gpt_loader1_size=4
gpt_reserved1_size=64 # in k
@ -57,7 +56,7 @@ TARGET=${DISK_NAME}
partition_loader1() {
## Partition 1 - Create partition using start and end values for partitioning the `loader1` partition.
#STARTSECTOR=`/sbin/sgdisk --first-aligned-in-largest ${TARGET}|sed -sn 2p`
# STARTSECTOR=$(/sbin/sgdisk --first-aligned-in-largest ${TARGET}|sed -sn 2p)
STARTSECTOR=${gpt_loader[1]}
/sbin/sgdisk --print --set-alignment=64 --mbrtogpt --new=1:${STARTSECTOR}:+${gpt_loader1_size}MB ${TARGET}
/sbin/sgdisk --print --change-name=1:"loader1" --typecode=1:8300 ${TARGET}
@ -65,45 +64,45 @@ partition_loader1() {
partition_reserved1() {
## Partition 2 - Create partition using start and end values for partitioning the `reserved1` partition.
#ENDSECTOR=`/sbin/sgdisk --end-of-largest ${TARGET}|sed -sn 2p`
#/sbin/sgdisk --print --new=2:-${gpt_reserved1_size}KB:${ENDSECTOR} ${TARGET}
STARTSECTOR=`/sbin/sgdisk --first-in-largest ${TARGET}|sed -sn 2p`
# ENDSECTOR=$(/sbin/sgdisk --end-of-largest ${TARGET}|sed -sn 2p)
# /sbin/sgdisk --print --new=2:-${gpt_reserved1_size}KB:${ENDSECTOR} ${TARGET}
STARTSECTOR=$(/sbin/sgdisk --first-in-largest ${TARGET} | sed -sn 2p)
/sbin/sgdisk --print --new=2:${STARTSECTOR}:+${gpt_reserved1_size}KB ${TARGET}
/sbin/sgdisk --print --change-name=2:"reserved1" --typecode=2:8300 ${TARGET}
}
partition_reserved2() {
## Partition 3 - Create partition using start and end values for partitioning the `reserved2` partition.
#ENDSECTOR=`/sbin/sgdisk --end-of-largest ${TARGET}|sed -sn 2p`
#/sbin/sgdisk --print --new=3:-${gpt_reserved1_size}MB:${ENDSECTOR} ${TARGET}
STARTSECTOR=`/sbin/sgdisk --first-in-largest ${TARGET}|sed -sn 2p`
# ENDSECTOR=$(/sbin/sgdisk --end-of-largest ${TARGET}|sed -sn 2p)
# /sbin/sgdisk --print --new=3:-${gpt_reserved1_size}MB:${ENDSECTOR} ${TARGET}
STARTSECTOR=$(/sbin/sgdisk --first-in-largest ${TARGET} | sed -sn 2p)
/sbin/sgdisk --print --new=3:${STARTSECTOR}:+${gpt_reserved2_size}MB ${TARGET}
/sbin/sgdisk --print --change-name=3:"reserved2" --typecode=3:8300 ${TARGET}
}
partition_loader2() {
## Partition 4 - Create partition using start and end values for partitioning the `loader2` partition.
#ENDSECTOR=`/sbin/sgdisk --end-of-largest ${TARGET}|sed -sn 2p`
#/sbin/sgdisk --print --new=4:-${gpt_loader2_size}MB:${ENDSECTOR} ${TARGET}
STARTSECTOR=`/sbin/sgdisk --first-in-largest ${TARGET}|sed -sn 2p`
# ENDSECTOR=$(/sbin/sgdisk --end-of-largest ${TARGET}|sed -sn 2p)
# /sbin/sgdisk --print --new=4:-${gpt_loader2_size}MB:${ENDSECTOR} ${TARGET}
STARTSECTOR=$(/sbin/sgdisk --first-in-largest ${TARGET} | sed -sn 2p)
/sbin/sgdisk --print --new=4:${STARTSECTOR}:+${gpt_loader2_size}MB ${TARGET}
/sbin/sgdisk --print --change-name=4:"loader2" --typecode=4:8300 ${TARGET}
}
partition_atf() {
## Partition 5 - Create partition using start and end values for partitioning the `atf` partition.
#ENDSECTOR=`/sbin/sgdisk --end-of-largest ${TARGET}|sed -sn 2p`
#/sbin/sgdisk --print --new=4:-${gpt_atf_size}MB:${ENDSECTOR} ${TARGET}
STARTSECTOR=`/sbin/sgdisk --first-in-largest ${TARGET}|sed -sn 2p`
# ENDSECTOR=$(/sbin/sgdisk --end-of-largest ${TARGET}|sed -sn 2p)
# /sbin/sgdisk --print --new=4:-${gpt_atf_size}MB:${ENDSECTOR} ${TARGET}
STARTSECTOR=$(/sbin/sgdisk --first-in-largest ${TARGET} | sed -sn 2p)
/sbin/sgdisk --print --new=5:${STARTSECTOR}:+${gpt_atf_size}MB ${TARGET}
/sbin/sgdisk --print --change-name=5:"atf" --typecode=5:8300 ${TARGET}
}
partition_boot() {
## Partition 6 - the 112MB partition for boot
#ENDSECTOR=`/sbin/sgdisk --end-of-largest ${TARGET}|sed -sn 2p`
#/sbin/sgdisk --print --new=6:-${gpt_boot_size}MB:${ENDSECTOR} ${TARGET}
STARTSECTOR=`/sbin/sgdisk --first-in-largest ${TARGET}|sed -sn 2p`
# ENDSECTOR=$(/sbin/sgdisk --end-of-largest ${TARGET}|sed -sn 2p)
# /sbin/sgdisk --print --new=6:-${gpt_boot_size}MB:${ENDSECTOR} ${TARGET}
STARTSECTOR=$(/sbin/sgdisk --first-in-largest ${TARGET} | sed -sn 2p)
/sbin/sgdisk --print --new=6:${STARTSECTOR}:+${gpt_boot_size}MB ${TARGET}
/sbin/sgdisk --print --change-name=6:"boot" --typecode=6:EF00 ${TARGET}
}
@ -120,13 +119,11 @@ image_format_partitions() {
tune2fs -o journal_data_writeback "${loopdevice}p7"
}
loop_it() {
loopdevice=$(sudo losetup -f --show $DISK_NAME)
echo "Loop device is: " $loopdevice
echo "Loop device is: " $loopdevice
sudo partx -av $loopdevice || zerr
loader1="${loopdevice}p1"
reserved1="${loopdevice}p2"
reserved2="${loopdevice}p3"
@ -149,7 +146,6 @@ partition_boot
partition_root
loop_it
#/sbin/sgdisk -print ${TARGET}
cgpt show ${TARGET}