FunKey-OS/FunKey/board/funkey/update_partition

67 lines
1.1 KiB
Plaintext
Raw Normal View History

#!/bin/sh
# Update partition script
source /usr/local/lib/utils
root_part_num=2
root_part=/dev/mmcblk0p${root_part_num}
root_mount=/tmp/rootfs
do_preinst()
{
notif " 1/5 EXTRACT FIRMWARE UPDATE.."
exit 0
}
do_postinst()
{
local version
notif "2/5 RESIZE ROOT FILESYSTEM"
resize2fs ${root_part}
if [ $? -ne 0 ]; then
notif "CANNOT RESIZE ROOT FILESYSTEM"
exit 1
fi
notif "3/5 MOUNT ROOT FILESYSTEM"
mkdir -p ${root_mount}
mount -t ext4 ${root_part} ${root_mount}
if [ $? -ne 0 ]; then
notif "CANNOT MOUNT ROOT FILESYSTEM"
exit 1
fi
sgdisk /dev/mmcblk0 | grep swap
if [ $? -eq 0 ]; then
sgdisk /dev/mmcblk0 | grep share
if [ $? -eq 0 ]; then
touch $[root_mount]/.first_boot
fi
fi
notif "4/5 UNMOUNT ROOT FILESYSTEM"
touch "${root_mount}/.first_boot"
umount ${root_mount}
if [ $? -ne 0 ]; then
notif "CANNOT UNMOUNT ROOT FILESYSTEM"
exit 1
fi
for file in $(ls /mnt/FunKey-rootfs-*.fwu); do
notif "5/5 ERASE UPDATE FILE"
rm -f "${file}"
done
exit 0
}
echo $0 $1
case "$1" in
preinst)
do_preinst
;;
postinst)
do_postinst
;;
*)
exit 1
;;
esac