Last active
March 21, 2016 12:53
-
-
Save MilhouseVH/c73a069849a7712adbe0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#!/bin/sh | |
################################################################################ | |
# This file is part of OpenELEC - http://www.openelec.tv | |
# Copyright (C) 2009-2014 Stephan Raue ([email protected]) | |
# | |
# OpenELEC is free software: you can redistribute it and/or modify | |
# it under the terms of the GNU General Public License as published by | |
# the Free Software Foundation, either version 2 of the License, or | |
# (at your option) any later version. | |
# | |
# OpenELEC is distributed in the hope that it will be useful, | |
# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
# GNU General Public License for more details. | |
# | |
# You should have received a copy of the GNU General Public License | |
# along with OpenELEC. If not, see <http://www.gnu.org/licenses/>. | |
################################################################################ | |
if [ -e /storage/.please_resize_me ] ; then | |
. /usr/lib/libreelec/functions | |
# this sh** was never intended to be used | |
# on already installed and runing system | |
if [ -d /storage/.kodi -o -d /storage/.config -o -d /storage/.cache ] ; then | |
rm -f /storage/.please_resize_me | |
sync | |
echo "Resizing is not permitted - the system has already been initialised." | |
StartProgress countdown "Rebooting in 15s... " 15 "NOW" | |
reboot -f | |
fi | |
# get the disk. /storage on 2nd partition | |
PART=$(grep "/storage " /proc/mounts | cut -d" " -f1 | grep '2$') | |
# get disk: /dev/sdx2 -> /dev/sdx, /dev/mmcblkxp2 -> /dev/mmcblkx | |
case $PART in | |
"/dev/mmcblk"*) | |
DISK=$(echo $PART | sed s/p2$//g) | |
;; | |
*) | |
DISK=$(echo $PART | sed s/2$//g) | |
;; | |
esac | |
rm -f /storage/.please_resize_me | |
sync | |
# just in case | |
if [ ! -z "$DISK" -a ! -z "$PART" ] ; then | |
# get storage partition start | |
PART_START=$(parted -s -m $DISK unit b print |grep -v ^/dev |grep -v BYT | grep ^2: | cut -f2 -d ":") | |
# failed to get partition start offset ? | |
if [ ! -z "$PART_START" ] ; then | |
umount $PART | |
echo "This procedure may take a while - please do not reboot or turn off your computer!" | |
StartProgress spinner "Deleting /storage... " "parted -s -m $DISK rm 2 &>/dev/null" | |
StartProgress spinner "Creating /storage ..." "parted -s -m $DISK unit b mkpart primary $PART_START 100% &>/dev/null" | |
StartProgress spinner "Checking /storage... " "e2fsck -f -p $PART &>/dev/null" | |
StartProgress spinner "Resizing /storage... " "resize2fs $PART &>/dev/null" | |
StartProgress countdown "Rebooting in 15s... " 15 "NOW" | |
fi | |
fi | |
fi | |
reboot -f |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment