pmaports/device/community/device-odroid-hc2/install-rootfs-hdd.sh
Dylan Van Assche 1ffe798a68
device-odroid-hc2: use different name for old rootfs (MR 3009)
It became too confusing by using almost the same name for the old rootfs when booting from HDDs

[ci:skip-build] already built successfully in CI
2022-03-19 00:29:47 -07:00

54 lines
1.4 KiB
Bash

#!/bin/sh
set -e
MOUNT_POINT=/mnt/hdd
MMC_ROOT_PARTITION=/dev/mmcblk0p2
echo "### Move rootfs to external HDD ###"
echo "This script requires root permissions!"
echo "This action is inreversible without reflashing your device!"
echo "Are you sure you want to continue? [y/N]"
read -n 1 ANSWER
echo ""
if [ "$ANSWER" != "y" ]; then
echo "Operation aborted"
exit 1
fi
echo "Which partition should be used as rootfs?:"
read HDD_ROOT_PARTITION
echo ""
echo "### Copying rootfs to partition $HDD_ROOT_PARTITION ###"
# Mount partition
echo "Trying to unmount $HDD_ROOT_PARTITION"
umount $HDD_ROOT_PARTITION || true # may fail
echo "Mounting $HDD_ROOT_PARTITION at $MOUNT_POINT"
mkdir -p $MOUNT_POINT
mount $HDD_ROOT_PARTITION $MOUNT_POINT
# Copy rootfs
echo "Copying rootfs... This can take a while."
rsync \
-aAXx \
--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} \
/ \
$MOUNT_POINT
# Verify all files are copied
rsync \
-aAXx \
--exclude={"/dev/*","/proc/*","/sys/*","/tmp/*","/run/*","/mnt/*","/media/*","/lost+found"} \
/ \
$MOUNT_POINT
sync
echo "Rootfs successfully copied!"
# pmOS initfs looks for rootfs by label, rename partitions
echo "Renaming partitions"
e2label $MMC_ROOT_PARTITION old_rootfs
e2label $HDD_ROOT_PARTITION pmOS_root
echo "Rootfs moved to external HDD, you must reboot NOW!"