diff --git a/setup/pi/create-backingfiles-partition.sh b/setup/pi/create-backingfiles-partition.sh index 120130e..81a29b1 100644 --- a/setup/pi/create-backingfiles-partition.sh +++ b/setup/pi/create-backingfiles-partition.sh @@ -1,8 +1,19 @@ #!/bin/bash -eu +function setup_progress () { + local setup_logfile=/boot/teslausb-headless-setup.log + local headless_setup=${HEADLESS_SETUP:-false} + if [ $headless_setup = "true" ] + then + echo "$( date ) : $1" >> "$setup_logfile" + fi + echo $1 +} + BACKINGFILES_MOUNTPOINT="$1" MUTABLE_MOUNTPOINT="$2" +setup_progress "Checking existing partitions..." PARTITION_TABLE=$(parted -m /dev/mmcblk0 unit B print) DISK_LINE=$(echo "$PARTITION_TABLE" | grep -e "^/dev/mmcblk0:") DISK_SIZE=$(echo "$DISK_LINE" | cut -d ":" -f 2 | sed 's/B//' ) @@ -15,19 +26,21 @@ LAST_BACKINGFILES_PARTITION_DESIRED_BYTE="$(( $DISK_SIZE - (100 * (2 ** 20)) - 1 ORIGINAL_DISK_IDENTIFIER=$( fdisk -l /dev/mmcblk0 | grep -e "^Disk identifier" | sed "s/Disk identifier: 0x//" ) +setup_progress "Modifying partition table for backing files partition..." BACKINGFILES_PARTITION_END_SPEC="$(( $LAST_BACKINGFILES_PARTITION_DESIRED_BYTE / 1000000 ))M" parted -a optimal -m /dev/mmcblk0 unit B mkpart primary ext4 "$FIRST_BACKINGFILES_PARTITION_BYTE" "$BACKINGFILES_PARTITION_END_SPEC" -LAST_BACKINGFILES_PARTITION_BYTE=$(parted -m /dev/mmcblk0 unit B print | grep -e "^3:" | cut -d ":" -f 3 | sed 's/B//g' ) - -MUTABLE_PARTITION_START_SPEC="$(( $LAST_BACKINGFILES_PARTITION_BYTE / 1000000 ))M" -parted -a optimal -m /dev/mmcblk0 unit B mkpart primary ext4 "$MUTABLE_PARTITION_START_SPEC" 100% +setup_progress "Modifying partition table for mutable (writable) partition for script usage..." +MUTABLE_PARTITION_START_SPEC="$BACKINGFILES_PARTITION_END_SPEC" +parted -a optimal -m /dev/mmcblk0 unit B mkpart primary ext4 "$MUTABLE_PARTITION_START_SPEC" 100% NEW_DISK_IDENTIFIER=$( fdisk -l /dev/mmcblk0 | grep -e "^Disk identifier" | sed "s/Disk identifier: 0x//" ) +setup_progress "Writing updated partitions to fstab and /boot/cmdline.txt" sed -i "s/${ORIGINAL_DISK_IDENTIFIER}/${NEW_DISK_IDENTIFIER}/g" /etc/fstab sed -i "s/${ORIGINAL_DISK_IDENTIFIER}/${NEW_DISK_IDENTIFIER}/" /boot/cmdline.txt +setup_progress "Formatting new partitions..." mkfs.ext4 -F /dev/mmcblk0p3 mkfs.ext4 -F /dev/mmcblk0p4 diff --git a/setup/pi/setup-teslausb b/setup/pi/setup-teslausb index d92ad4b..4cdf3f2 100644 --- a/setup/pi/setup-teslausb +++ b/setup/pi/setup-teslausb @@ -1,14 +1,11 @@ #!/bin/bash -eu USER_ENABLED_PUSHOVER=${USER_ENABLED_PUSHOVER:-false} -SETUP_LOGFILE=/boot/teslausb-headless-setup.log REPO=${REPO:-cimryan} BRANCH=${BRANCH:-master} HEADLESS_SETUP=${HEADLESS_SETUP:-false} USE_LED_FOR_SETUP_PROGRESS=true - - if ! [ $(id -u) = 0 ] then setup_progress "STOP: Run sudo -i." @@ -16,9 +13,10 @@ then fi function setup_progress () { + local setup_logfile=/boot/teslausb-headless-setup.log if [ $HEADLESS_SETUP = "true" ] then - echo "$( date ) : $1" >> "$SETUP_LOGFILE" + echo "$( date ) : $1" >> "$setup_logfile" fi echo $1 } @@ -169,6 +167,7 @@ function create_usb_drive_backing_files () { if [ ! -e /dev/mmcblk0p3 ] then + setup_progress "Starting to create backing files partition..." /tmp/create-backingfiles-partition.sh "$BACKINGFILES_MOUNTPOINT" "$MUTABLE_MOUNTPOINT" fi